about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.github/CODEOWNERS8
-rw-r--r--.github/stale.yml32
-rw-r--r--doc/contributing/submitting-changes.xml2
-rw-r--r--doc/languages-frameworks/beam.xml307
-rw-r--r--doc/languages-frameworks/gnome.xml4
-rw-r--r--doc/languages-frameworks/haskell.section.md44
-rw-r--r--doc/stdenv/cross-compilation.xml2
-rw-r--r--doc/stdenv/stdenv.xml2
-rw-r--r--doc/using/configuration.xml11
-rw-r--r--lib/default.nix3
-rw-r--r--lib/strings.nix17
-rw-r--r--lib/systems/default.nix1
-rw-r--r--lib/systems/doubles.nix3
-rw-r--r--lib/systems/examples.nix6
-rw-r--r--lib/systems/inspect.nix1
-rw-r--r--lib/systems/parse.nix2
-rw-r--r--maintainers/maintainer-list.nix129
-rwxr-xr-xmaintainers/scripts/update.nix2
-rw-r--r--nixos/doc/manual/configuration/profiles/graphical.xml4
-rw-r--r--nixos/doc/manual/configuration/x-windows.xml2
-rw-r--r--nixos/doc/manual/development/option-declarations.xml10
-rwxr-xr-xnixos/doc/manual/development/releases.xml21
-rw-r--r--nixos/doc/manual/development/running-nixos-tests-interactively.xml2
-rw-r--r--nixos/doc/manual/development/running-nixos-tests.xml2
-rw-r--r--nixos/doc/manual/installation/installing.xml14
-rw-r--r--nixos/doc/manual/release-notes/rl-1909.xml2
-rw-r--r--nixos/doc/manual/release-notes/rl-2003.xml63
-rw-r--r--nixos/lib/make-options-doc/default.nix2
-rw-r--r--nixos/lib/test-driver/test-driver.py68
-rw-r--r--nixos/lib/testing-python.nix1
-rw-r--r--nixos/lib/testing.nix1
-rwxr-xr-xnixos/maintainers/scripts/ec2/create-amis.sh4
-rw-r--r--nixos/modules/config/qt5.nix2
-rw-r--r--nixos/modules/config/shells-environment.nix2
-rw-r--r--nixos/modules/config/vpnc.nix41
-rw-r--r--nixos/modules/hardware/video/nvidia.nix7
-rw-r--r--nixos/modules/i18n/input-method/ibus.nix2
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix1
-rw-r--r--nixos/modules/misc/ids.nix5
-rw-r--r--nixos/modules/module-list.nix4
-rw-r--r--nixos/modules/profiles/graphical.nix1
-rw-r--r--nixos/modules/programs/adb.nix3
-rw-r--r--nixos/modules/programs/dconf.nix6
-rw-r--r--nixos/modules/programs/ssmtp.nix14
-rw-r--r--nixos/modules/rename.nix11
-rw-r--r--nixos/modules/services/audio/roon-server.nix3
-rw-r--r--nixos/modules/services/cluster/kubernetes/addons/dns.nix12
-rw-r--r--nixos/modules/services/cluster/kubernetes/flannel.nix1
-rw-r--r--nixos/modules/services/cluster/kubernetes/kubelet.nix4
-rw-r--r--nixos/modules/services/cluster/kubernetes/proxy.nix9
-rw-r--r--nixos/modules/services/databases/mysql.nix12
-rw-r--r--nixos/modules/services/desktops/neard.nix23
-rw-r--r--nixos/modules/services/desktops/tumbler.nix18
-rw-r--r--nixos/modules/services/development/lorri.nix2
-rw-r--r--nixos/modules/services/games/openarena.nix2
-rw-r--r--nixos/modules/services/hardware/bluetooth.nix30
-rw-r--r--nixos/modules/services/hardware/fwupd.nix6
-rw-r--r--nixos/modules/services/hardware/tlp.nix2
-rw-r--r--nixos/modules/services/mail/mailcatcher.nix9
-rw-r--r--nixos/modules/services/mail/roundcube.nix2
-rw-r--r--nixos/modules/services/mail/rspamd.nix2
-rw-r--r--nixos/modules/services/misc/beanstalkd.nix3
-rw-r--r--nixos/modules/services/misc/gitea.nix22
-rw-r--r--nixos/modules/services/monitoring/osquery.nix91
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters.nix3
-rw-r--r--nixos/modules/services/network-filesystems/beegfs.nix357
-rw-r--r--nixos/modules/services/network-filesystems/samba.nix3
-rw-r--r--nixos/modules/services/networking/bind.nix6
-rw-r--r--nixos/modules/services/networking/bitcoind.nix3
-rw-r--r--nixos/modules/services/networking/connman.nix10
-rw-r--r--nixos/modules/services/networking/dnschain.nix2
-rw-r--r--nixos/modules/services/networking/eternal-terminal.nix6
-rw-r--r--nixos/modules/services/networking/pdns-recursor.nix13
-rw-r--r--nixos/modules/services/networking/syncthing.nix64
-rw-r--r--nixos/modules/services/networking/wpa_supplicant.nix9
-rw-r--r--nixos/modules/services/networking/yggdrasil.nix8
-rw-r--r--nixos/modules/services/networking/znc/default.nix2
-rw-r--r--nixos/modules/services/torrent/magnetico.nix7
-rw-r--r--nixos/modules/services/web-apps/matomo-doc.xml6
-rw-r--r--nixos/modules/services/web-apps/nextcloud.nix1
-rw-r--r--nixos/modules/services/web-servers/nginx/location-options.nix3
-rw-r--r--nixos/modules/services/web-servers/nginx/vhost-options.nix2
-rw-r--r--nixos/modules/services/web-servers/phpfpm/default.nix1
-rw-r--r--nixos/modules/services/x11/desktop-managers/default.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome3.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/plasma5.nix16
-rw-r--r--nixos/modules/services/x11/desktop-managers/xfce.nix111
-rw-r--r--nixos/modules/services/x11/desktop-managers/xfce4-14.nix152
-rw-r--r--nixos/modules/services/x11/display-managers/default.nix12
-rw-r--r--nixos/modules/services/x11/display-managers/gdm.nix67
-rwxr-xr-xnixos/modules/services/x11/display-managers/set-session.py86
-rw-r--r--nixos/modules/services/x11/display-managers/slim.nix160
-rw-r--r--nixos/modules/services/x11/hardware/libinput.nix6
-rw-r--r--nixos/modules/services/x11/xserver.nix1
-rw-r--r--nixos/modules/system/boot/loader/grub/grub.nix4
-rw-r--r--nixos/modules/system/boot/networkd.nix6
-rw-r--r--nixos/modules/system/boot/resolved.nix2
-rw-r--r--nixos/modules/system/boot/timesyncd.nix18
-rw-r--r--nixos/modules/testing/test-instrumentation.nix2
-rw-r--r--nixos/modules/virtualisation/containers.nix2
-rw-r--r--nixos/modules/virtualisation/digital-ocean-config.nix197
-rw-r--r--nixos/modules/virtualisation/digital-ocean-image.nix69
-rw-r--r--nixos/modules/virtualisation/digital-ocean-init.nix95
-rw-r--r--nixos/modules/virtualisation/openvswitch.nix13
-rw-r--r--nixos/modules/virtualisation/qemu-vm.nix2
-rw-r--r--nixos/release-combined.nix5
-rw-r--r--nixos/release-small.nix3
-rw-r--r--nixos/tests/all-tests.nix9
-rw-r--r--nixos/tests/beegfs.nix115
-rw-r--r--nixos/tests/bees.nix37
-rw-r--r--nixos/tests/ceph-multi-node.nix162
-rw-r--r--nixos/tests/ceph-single-node.nix156
-rw-r--r--nixos/tests/clickhouse.nix20
-rw-r--r--nixos/tests/codimd.nix26
-rw-r--r--nixos/tests/containers-bridge.nix79
-rw-r--r--nixos/tests/containers-ephemeral.nix36
-rw-r--r--nixos/tests/containers-hosts.nix12
-rw-r--r--nixos/tests/containers-imperative.nix186
-rw-r--r--nixos/tests/containers-ip.nix77
-rw-r--r--nixos/tests/containers-ipv4.nix55
-rw-r--r--nixos/tests/containers-ipv6.nix60
-rw-r--r--nixos/tests/containers-reloadable.nix31
-rw-r--r--nixos/tests/containers-tmpfs.nix104
-rw-r--r--nixos/tests/deluge.nix26
-rw-r--r--nixos/tests/docker-registry.nix62
-rw-r--r--nixos/tests/dovecot.nix16
-rw-r--r--nixos/tests/etcd-cluster.nix47
-rw-r--r--nixos/tests/etcd.nix16
-rw-r--r--nixos/tests/fancontrol.nix9
-rw-r--r--nixos/tests/ferm.nix30
-rw-r--r--nixos/tests/firewall.nix30
-rw-r--r--nixos/tests/fish.nix11
-rw-r--r--nixos/tests/fluentd.nix17
-rw-r--r--nixos/tests/gitlab.nix48
-rw-r--r--nixos/tests/gitolite.nix103
-rw-r--r--nixos/tests/glusterfs.nix32
-rw-r--r--nixos/tests/google-oslogin/default.nix54
-rw-r--r--nixos/tests/gotify-server.nix44
-rw-r--r--nixos/tests/graylog.nix82
-rw-r--r--nixos/tests/handbrake.nix12
-rw-r--r--nixos/tests/hibernate.nix23
-rw-r--r--nixos/tests/hound.nix19
-rw-r--r--nixos/tests/icingaweb2.nix8
-rw-r--r--nixos/tests/iftop.nix25
-rw-r--r--nixos/tests/incron.nix32
-rw-r--r--nixos/tests/influxdb.nix33
-rw-r--r--nixos/tests/jackett.nix9
-rw-r--r--nixos/tests/jenkins.nix19
-rw-r--r--nixos/tests/kerberos/heimdal.nix39
-rw-r--r--nixos/tests/kerberos/mit.nix28
-rw-r--r--nixos/tests/kernel-latest.nix6
-rw-r--r--nixos/tests/kernel-lts.nix6
-rw-r--r--nixos/tests/kernel-testing.nix6
-rw-r--r--nixos/tests/kubernetes/base.nix1
-rw-r--r--nixos/tests/magnetico.nix26
-rw-r--r--nixos/tests/mailcatcher.nix4
-rw-r--r--nixos/tests/memcached.nix26
-rw-r--r--nixos/tests/minidlna.nix14
-rw-r--r--nixos/tests/miniflux.nix24
-rw-r--r--nixos/tests/minio.nix32
-rw-r--r--nixos/tests/mongodb.nix10
-rw-r--r--nixos/tests/mosquitto.nix70
-rw-r--r--nixos/tests/mpd.nix45
-rw-r--r--nixos/tests/mysql-backup.nix48
-rw-r--r--nixos/tests/mysql-replication.nix46
-rw-r--r--nixos/tests/mysql.nix26
-rw-r--r--nixos/tests/nat.nix55
-rw-r--r--nixos/tests/ndppd.nix10
-rw-r--r--nixos/tests/neo4j.nix10
-rw-r--r--nixos/tests/netdata.nix19
-rw-r--r--nixos/tests/nextcloud/basic.nix18
-rw-r--r--nixos/tests/nextcloud/with-mysql-and-memcached.nix21
-rw-r--r--nixos/tests/nextcloud/with-postgresql-and-redis.nix20
-rw-r--r--nixos/tests/nexus.nix10
-rw-r--r--nixos/tests/nix-ssh-serve.nix30
-rw-r--r--nixos/tests/osquery.nix28
-rw-r--r--nixos/tests/pantheon.nix66
-rw-r--r--nixos/tests/plasma5.nix68
-rw-r--r--nixos/tests/predictable-interface-names.nix6
-rw-r--r--nixos/tests/prometheus.nix78
-rw-r--r--nixos/tests/rabbitmq.nix16
-rw-r--r--nixos/tests/roundcube.nix2
-rw-r--r--nixos/tests/rxe.nix32
-rw-r--r--nixos/tests/slim.nix66
-rw-r--r--nixos/tests/spike.nix22
-rw-r--r--nixos/tests/sudo.nix52
-rw-r--r--nixos/tests/syncthing-init.nix12
-rw-r--r--nixos/tests/syncthing-relay.nix14
-rw-r--r--nixos/tests/systemd-networkd-wireguard.nix25
-rw-r--r--nixos/tests/systemd-nspawn.nix16
-rw-r--r--nixos/tests/uwsgi.nix10
-rw-r--r--nixos/tests/wordpress.nix42
-rw-r--r--nixos/tests/xfce.nix36
-rw-r--r--nixos/tests/xfce4-14.nix37
-rw-r--r--nixos/tests/xmpp/ejabberd.nix26
-rw-r--r--nixos/tests/xmpp/prosody-mysql.nix20
-rw-r--r--nixos/tests/xmpp/prosody.nix20
-rw-r--r--nixos/tests/xss-lock.nix26
-rw-r--r--nixos/tests/yggdrasil.nix42
-rw-r--r--pkgs/applications/audio/audacity/default.nix4
-rw-r--r--pkgs/applications/audio/avldrums-lv2/default.nix4
-rw-r--r--pkgs/applications/audio/bsequencer/default.nix6
-rw-r--r--pkgs/applications/audio/bslizr/default.nix4
-rw-r--r--pkgs/applications/audio/denemo/default.nix14
-rw-r--r--pkgs/applications/audio/ensemble-chorus/default.nix28
-rw-r--r--pkgs/applications/audio/giada/default.nix43
-rw-r--r--pkgs/applications/audio/gnome-podcasts/default.nix85
-rw-r--r--pkgs/applications/audio/gxmatcheq-lv2/default.nix30
-rw-r--r--pkgs/applications/audio/helm/default.nix6
-rw-r--r--pkgs/applications/audio/jack-oscrolloscope/default.nix4
-rw-r--r--pkgs/applications/audio/lmms/default.nix6
-rw-r--r--pkgs/applications/audio/mda-lv2/default.nix4
-rw-r--r--pkgs/applications/audio/meters_lv2/default.nix4
-rw-r--r--pkgs/applications/audio/mpc/default.nix8
-rw-r--r--pkgs/applications/audio/ncmpc/default.nix15
-rw-r--r--pkgs/applications/audio/ncspot/default.nix10
-rw-r--r--pkgs/applications/audio/noise-repellent/default.nix29
-rw-r--r--pkgs/applications/audio/pianobooster/default.nix7
-rw-r--r--pkgs/applications/audio/picard/default.nix4
-rw-r--r--pkgs/applications/audio/qtractor/default.nix4
-rw-r--r--pkgs/applications/audio/reaper/default.nix4
-rw-r--r--pkgs/applications/audio/setbfree/default.nix4
-rw-r--r--pkgs/applications/audio/sisco.lv2/default.nix4
-rw-r--r--pkgs/applications/audio/soundscape-renderer/default.nix4
-rw-r--r--pkgs/applications/audio/spotify-tui/default.nix15
-rw-r--r--pkgs/applications/audio/spotify-tui/fix-cargo-lock-version.patch13
-rw-r--r--pkgs/applications/audio/spotifyd/default.nix8
-rw-r--r--pkgs/applications/audio/stone-phaser/default.nix34
-rw-r--r--pkgs/applications/audio/strawberry/default.nix10
-rw-r--r--pkgs/applications/audio/vcv-rack/default.nix27
-rw-r--r--pkgs/applications/audio/vcv-rack/remove-custom-glfw-function.patch16
-rw-r--r--pkgs/applications/audio/yoshimi/default.nix8
-rw-r--r--pkgs/applications/audio/zam-plugins/default.nix10
-rw-r--r--pkgs/applications/backup/deja-dup/default.nix90
-rw-r--r--pkgs/applications/backup/deja-dup/hardcode-gsettings.patch30
-rw-r--r--pkgs/applications/blockchains/bitcoin-abc.nix4
-rw-r--r--pkgs/applications/blockchains/dogecoin.nix4
-rw-r--r--pkgs/applications/blockchains/go-ethereum.nix37
-rw-r--r--pkgs/applications/blockchains/ledger-live-desktop/default.nix4
-rw-r--r--pkgs/applications/blockchains/lnd.nix6
-rw-r--r--pkgs/applications/blockchains/monero-gui/default.nix4
-rw-r--r--pkgs/applications/blockchains/parity/beta.nix6
-rw-r--r--pkgs/applications/blockchains/parity/default.nix6
-rw-r--r--pkgs/applications/blockchains/wasabiwallet/default.nix4
-rw-r--r--pkgs/applications/blockchains/zcash/default.nix28
-rw-r--r--pkgs/applications/blockchains/zcash/librustzcash/default.nix14
-rw-r--r--pkgs/applications/display-managers/lightdm/default.nix3
-rw-r--r--pkgs/applications/display-managers/lightdm/gtk-greeter.nix4
-rw-r--r--pkgs/applications/display-managers/slim/default.nix55
-rw-r--r--pkgs/applications/display-managers/slim/no-logfile.patch80
-rw-r--r--pkgs/applications/display-managers/slim/run-once.patch12
-rw-r--r--pkgs/applications/display-managers/slim/runtime-paths.patch70
-rw-r--r--pkgs/applications/display-managers/slim/sort-sessions.patch40
-rw-r--r--pkgs/applications/display-managers/slim/themes.nix183
-rw-r--r--pkgs/applications/editors/android-studio/default.nix12
-rw-r--r--pkgs/applications/editors/emacs-modes/color-theme-solarized/default.nix14
-rw-r--r--pkgs/applications/editors/emacs-modes/manual-packages.nix4
-rw-r--r--pkgs/applications/editors/gobby/default.nix4
-rw-r--r--pkgs/applications/editors/hexdino/default.nix25
-rw-r--r--pkgs/applications/editors/jucipp/default.nix4
-rw-r--r--pkgs/applications/editors/kdevelop5/kdev-php.nix4
-rw-r--r--pkgs/applications/editors/kdevelop5/kdev-python.nix4
-rw-r--r--pkgs/applications/editors/kdevelop5/kdevelop.nix6
-rw-r--r--pkgs/applications/editors/kodestudio/default.nix4
-rw-r--r--pkgs/applications/editors/mle/default.nix5
-rw-r--r--pkgs/applications/editors/neovim/default.nix4
-rw-r--r--pkgs/applications/editors/neovim/neovim-remote.nix4
-rw-r--r--pkgs/applications/editors/rednotebook/default.nix6
-rw-r--r--pkgs/applications/editors/retext/default.nix12
-rw-r--r--pkgs/applications/editors/texstudio/default.nix4
-rw-r--r--pkgs/applications/editors/thonny/default.nix5
-rw-r--r--pkgs/applications/editors/tiled/default.nix4
-rw-r--r--pkgs/applications/editors/vim/configurable.nix11
-rw-r--r--pkgs/applications/editors/vim/macvim.nix1
-rw-r--r--pkgs/applications/editors/vscode/vscode.nix6
-rw-r--r--pkgs/applications/editors/vscode/vscodium.nix8
-rw-r--r--pkgs/applications/gis/saga/default.nix4
-rw-r--r--pkgs/applications/graphics/ImageMagick/default.nix4
-rw-r--r--pkgs/applications/graphics/antimony/default.nix4
-rw-r--r--pkgs/applications/graphics/avocode/default.nix4
-rw-r--r--pkgs/applications/graphics/cinepaint/default.nix4
-rw-r--r--pkgs/applications/graphics/cq-editor/default.nix57
-rw-r--r--pkgs/applications/graphics/digikam/default.nix6
-rw-r--r--pkgs/applications/graphics/draftsight/default.nix4
-rw-r--r--pkgs/applications/graphics/drawpile/default.nix4
-rw-r--r--pkgs/applications/graphics/exrdisplay/default.nix4
-rw-r--r--pkgs/applications/graphics/fbida/default.nix2
-rw-r--r--pkgs/applications/graphics/fig2dev/default.nix4
-rw-r--r--pkgs/applications/graphics/freepv/default.nix4
-rw-r--r--pkgs/applications/graphics/gimp/default.nix2
-rw-r--r--pkgs/applications/graphics/gimp/plugins/default.nix17
-rw-r--r--pkgs/applications/graphics/glabels/default.nix4
-rw-r--r--pkgs/applications/graphics/gthumb/default.nix4
-rw-r--r--pkgs/applications/graphics/hugin/default.nix4
-rw-r--r--pkgs/applications/graphics/ideogram/default.nix12
-rw-r--r--pkgs/applications/graphics/k3d/default.nix4
-rw-r--r--pkgs/applications/graphics/kodelife/default.nix8
-rw-r--r--pkgs/applications/graphics/mypaint/default.nix44
-rw-r--r--pkgs/applications/graphics/nomacs/default.nix11
-rw-r--r--pkgs/applications/graphics/openimageio/2.x.nix4
-rw-r--r--pkgs/applications/graphics/openscad/default.nix4
-rw-r--r--pkgs/applications/graphics/paraview/default.nix4
-rw-r--r--pkgs/applications/graphics/pdfcpu/default.nix4
-rw-r--r--pkgs/applications/graphics/rawtherapee/default.nix10
-rw-r--r--pkgs/applications/graphics/sane/backends/default.nix2
-rw-r--r--pkgs/applications/graphics/sane/backends/git.nix2
-rw-r--r--pkgs/applications/graphics/sane/frontends.nix2
-rw-r--r--pkgs/applications/graphics/seg3d/cstdio.patch81
-rw-r--r--pkgs/applications/graphics/seg3d/default.nix54
-rw-r--r--pkgs/applications/graphics/xournalpp/default.nix4
-rw-r--r--pkgs/applications/kde/kcachegrind.nix5
-rw-r--r--pkgs/applications/misc/alacritty/default.nix12
-rw-r--r--pkgs/applications/misc/birdtray/default.nix40
-rw-r--r--pkgs/applications/misc/blender/default.nix15
-rw-r--r--pkgs/applications/misc/blugon/default.nix31
-rw-r--r--pkgs/applications/misc/calibre/default.nix2
-rw-r--r--pkgs/applications/misc/clight/clightd.nix4
-rw-r--r--pkgs/applications/misc/clight/default.nix7
-rw-r--r--pkgs/applications/misc/cmatrix/default.nix2
-rw-r--r--pkgs/applications/misc/cointop/default.nix4
-rw-r--r--pkgs/applications/misc/copyq/default.nix4
-rw-r--r--pkgs/applications/misc/cpp-ethereum/default.nix4
-rw-r--r--pkgs/applications/misc/dbeaver/default.nix4
-rw-r--r--pkgs/applications/misc/electrum/dash.nix1
-rw-r--r--pkgs/applications/misc/elogind/default.nix4
-rw-r--r--pkgs/applications/misc/et/default.nix6
-rw-r--r--pkgs/applications/misc/fetchmail/default.nix2
-rw-r--r--pkgs/applications/misc/font-manager/default.nix4
-rw-r--r--pkgs/applications/misc/formatter/default.nix4
-rw-r--r--pkgs/applications/misc/gallery-dl/default.nix4
-rw-r--r--pkgs/applications/misc/geoipupdate/default.nix23
-rw-r--r--pkgs/applications/misc/glava/default.nix10
-rw-r--r--pkgs/applications/misc/glom/default.nix3
-rw-r--r--pkgs/applications/misc/gollum/Gemfile.lock12
-rw-r--r--pkgs/applications/misc/gollum/gemset.nix20
-rw-r--r--pkgs/applications/misc/googleearth/default.nix4
-rw-r--r--pkgs/applications/misc/gpscorrelate/default.nix11
-rw-r--r--pkgs/applications/misc/gpscorrelate/fix-localedir.diff27
-rw-r--r--pkgs/applications/misc/gpxsee/default.nix4
-rw-r--r--pkgs/applications/misc/houdini/runtime.nix11
-rw-r--r--pkgs/applications/misc/hugo/default.nix6
-rw-r--r--pkgs/applications/misc/icesl/default.nix4
-rw-r--r--pkgs/applications/misc/jekyll/basic/Gemfile.lock38
-rw-r--r--pkgs/applications/misc/jekyll/basic/gemset.nix64
-rw-r--r--pkgs/applications/misc/jekyll/full/Gemfile.lock50
-rw-r--r--pkgs/applications/misc/jekyll/full/gemset.nix88
-rw-r--r--pkgs/applications/misc/josm/default.nix4
-rw-r--r--pkgs/applications/misc/k2pdfopt/default.nix2
-rw-r--r--pkgs/applications/misc/kanboard/default.nix4
-rw-r--r--pkgs/applications/misc/kdeconnect/default.nix3
-rw-r--r--pkgs/applications/misc/keepassx/community.nix4
-rw-r--r--pkgs/applications/misc/kitty/default.nix4
-rw-r--r--pkgs/applications/misc/kitty/no-werror.patch6
-rw-r--r--pkgs/applications/misc/llpp/default.nix4
-rw-r--r--pkgs/applications/misc/masterpdfeditor/default.nix11
-rw-r--r--pkgs/applications/misc/merkaartor/default.nix10
-rw-r--r--pkgs/applications/misc/minder/default.nix4
-rw-r--r--pkgs/applications/misc/mlterm/default.nix7
-rw-r--r--pkgs/applications/misc/multibootusb/default.nix78
-rw-r--r--pkgs/applications/misc/navit/default.nix4
-rw-r--r--pkgs/applications/misc/notable/default.nix8
-rw-r--r--pkgs/applications/misc/nut/default.nix23
-rw-r--r--pkgs/applications/misc/onboard/default.nix6
-rw-r--r--pkgs/applications/misc/openbrf/default.nix4
-rw-r--r--pkgs/applications/misc/opencpn/default.nix6
-rw-r--r--pkgs/applications/misc/orca/default.nix77
-rw-r--r--pkgs/applications/misc/osmium-tool/default.nix4
-rw-r--r--pkgs/applications/misc/plank/default.nix3
-rw-r--r--pkgs/applications/misc/polybar/default.nix17
-rw-r--r--pkgs/applications/misc/pyditz/cerberus.nix (renamed from pkgs/development/python-modules/cerberus11/default.nix)4
-rw-r--r--pkgs/applications/misc/pyditz/default.nix14
-rw-r--r--pkgs/applications/misc/qdirstat/default.nix7
-rw-r--r--pkgs/applications/misc/qtpass/default.nix7
-rw-r--r--pkgs/applications/misc/redshift/default.nix176
-rw-r--r--pkgs/applications/misc/sidequest/default.nix4
-rw-r--r--pkgs/applications/misc/simplenote/default.nix54
-rw-r--r--pkgs/applications/misc/slic3r/boost-compile-error.patch12
-rw-r--r--pkgs/applications/misc/slic3r/default.nix9
-rw-r--r--pkgs/applications/misc/sweethome3d/default.nix14
-rw-r--r--pkgs/applications/misc/sweethome3d/editors.nix13
-rw-r--r--pkgs/applications/misc/syncthingtray/default.nix4
-rw-r--r--pkgs/applications/misc/taskell/default.nix4
-rw-r--r--pkgs/applications/misc/tasksh/default.nix2
-rw-r--r--pkgs/applications/misc/tilix/default.nix4
-rw-r--r--pkgs/applications/misc/timewarrior/default.nix13
-rw-r--r--pkgs/applications/misc/tnef/default.nix4
-rw-r--r--pkgs/applications/misc/xchm/default.nix4
-rw-r--r--pkgs/applications/misc/xmrig/default.nix4
-rw-r--r--pkgs/applications/misc/xmrig/proxy.nix4
-rw-r--r--pkgs/applications/misc/xpdf/default.nix57
-rw-r--r--pkgs/applications/misc/zola/cargo-lock.patch28
-rw-r--r--pkgs/applications/misc/zola/default.nix5
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix14
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix9
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/chromium-vaapi.patch117
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/vaapi-fix.patch54
-rw-r--r--pkgs/applications/networking/browsers/chromium/plugins.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.nix18
-rw-r--r--pkgs/applications/networking/browsers/ephemeral/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/firefox/common.nix4
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix7
-rw-r--r--pkgs/applications/networking/browsers/luakit/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix10
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix6
-rw-r--r--pkgs/applications/networking/browsers/next-gtk-webkit/default.nix25
-rw-r--r--pkgs/applications/networking/browsers/next/default.nix150
-rw-r--r--pkgs/applications/networking/browsers/next/next-gtk-webkit.nix50
-rw-r--r--pkgs/applications/networking/browsers/opera/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/palemoon/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/qutebrowser/default.nix8
-rw-r--r--pkgs/applications/networking/c14/default.nix2
-rw-r--r--pkgs/applications/networking/cawbird/default.nix52
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubeseal/default.nix24
-rw-r--r--pkgs/applications/networking/cluster/sonobuoy/default.nix12
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix4
-rw-r--r--pkgs/applications/networking/datovka/default.nix4
-rw-r--r--pkgs/applications/networking/feedreaders/castget/default.nix2
-rw-r--r--pkgs/applications/networking/feedreaders/rssguard/default.nix4
-rw-r--r--pkgs/applications/networking/gns3/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/bitlbee/default.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/linphone/default.nix35
-rw-r--r--pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix21
-rw-r--r--pkgs/applications/networking/instant-messengers/matrix-recorder/default.nix27
-rw-r--r--pkgs/applications/networking/instant-messengers/matrix-recorder/node-env.nix540
-rw-r--r--pkgs/applications/networking/instant-messengers/matrix-recorder/node-packages.nix1426
-rw-r--r--pkgs/applications/networking/instant-messengers/matrix-recorder/package.json27
-rw-r--r--pkgs/applications/networking/instant-messengers/matrixcli/default.nix53
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix22
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix28
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/pro.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json2
-rw-r--r--pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix9
-rw-r--r--pkgs/applications/networking/instant-messengers/riot/riot-web.nix4
-rwxr-xr-xpkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh2
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-cli/default.nix21
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix9
-rw-r--r--pkgs/applications/networking/instant-messengers/slack/default.nix24
-rwxr-xr-xpkgs/applications/networking/instant-messengers/slack/update.sh2
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/viber/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/wire-desktop/default.nix102
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/default.nix4
-rwxr-xr-xpkgs/applications/networking/instant-messengers/zoom-us/update.sh2
-rw-r--r--pkgs/applications/networking/instant-messengers/zulip/default.nix40
-rw-r--r--pkgs/applications/networking/irc/glowing-bear/default.nix4
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/default.nix4
-rw-r--r--pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix58
-rw-r--r--pkgs/applications/networking/mailreaders/aerc/default.nix13
-rw-r--r--pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch29
-rw-r--r--pkgs/applications/networking/mailreaders/balsa/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/imapfilter.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/mutt/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/neomutt/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix4
-rw-r--r--pkgs/applications/networking/newsreaders/pan/default.nix4
-rw-r--r--pkgs/applications/networking/newsreaders/quiterss/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix9
-rw-r--r--pkgs/applications/networking/p2p/tribler/default.nix74
-rw-r--r--pkgs/applications/networking/remote/anydesk/default.nix10
-rw-r--r--pkgs/applications/networking/remote/citrix-workspace/default.nix3
-rw-r--r--pkgs/applications/networking/sync/rclone/default.nix4
-rw-r--r--pkgs/applications/networking/weather/meteo/default.nix10
-rw-r--r--pkgs/applications/office/aesop/default.nix4
-rw-r--r--pkgs/applications/office/gnumeric/default.nix17
-rw-r--r--pkgs/applications/office/libreoffice/default.nix11
-rw-r--r--pkgs/applications/office/libreoffice/still.nix11
-rw-r--r--pkgs/applications/office/qownnotes/default.nix4
-rw-r--r--pkgs/applications/office/softmaker/freeoffice.nix4
-rw-r--r--pkgs/applications/office/softmaker/generic.nix4
-rw-r--r--pkgs/applications/office/zotero/default.nix7
-rw-r--r--pkgs/applications/radio/tlf/default.nix4
-rw-r--r--pkgs/applications/radio/urh/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/celestia/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/gravit/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/stellarium/default.nix4
-rw-r--r--pkgs/applications/science/biology/freebayes/default.nix6
-rw-r--r--pkgs/applications/science/biology/hmmer/default.nix4
-rw-r--r--pkgs/applications/science/biology/kallisto/default.nix4
-rw-r--r--pkgs/applications/science/biology/niftyseg/default.nix2
-rw-r--r--pkgs/applications/science/biology/paml/default.nix5
-rw-r--r--pkgs/applications/science/biology/picard-tools/default.nix4
-rw-r--r--pkgs/applications/science/chemistry/avogadro/default.nix6
-rw-r--r--pkgs/applications/science/chemistry/octopus/default.nix2
-rw-r--r--pkgs/applications/science/electronics/gtkwave/default.nix4
-rw-r--r--pkgs/applications/science/electronics/kicad/default.nix4
-rw-r--r--pkgs/applications/science/electronics/kicad/unstable.nix4
-rw-r--r--pkgs/applications/science/electronics/pcb/default.nix4
-rw-r--r--pkgs/applications/science/electronics/verilator/default.nix4
-rw-r--r--pkgs/applications/science/logic/aspino/default.nix2
-rw-r--r--pkgs/applications/science/logic/coq/default.nix2
-rw-r--r--pkgs/applications/science/logic/mcrl2/default.nix4
-rw-r--r--pkgs/applications/science/machine-learning/streamlit/default.nix4
-rw-r--r--pkgs/applications/science/math/giac/default.nix6
-rw-r--r--pkgs/applications/science/math/glsurf/default.nix8
-rw-r--r--pkgs/applications/science/math/gmsh/default.nix4
-rw-r--r--pkgs/applications/science/math/pspp/default.nix5
-rw-r--r--pkgs/applications/science/medicine/aliza/default.nix6
-rw-r--r--pkgs/applications/science/misc/boinc/default.nix4
-rw-r--r--pkgs/applications/science/misc/golly/beta.nix4
-rw-r--r--pkgs/applications/science/misc/golly/default.nix4
-rw-r--r--pkgs/applications/science/misc/gplates/default.nix4
-rw-r--r--pkgs/applications/science/misc/root/5.nix4
-rw-r--r--pkgs/applications/science/misc/root/default.nix4
-rw-r--r--pkgs/applications/science/misc/root/setup-hook.sh6
-rw-r--r--pkgs/applications/science/misc/tulip/default.nix4
-rw-r--r--pkgs/applications/science/misc/vite/default.nix4
-rw-r--r--pkgs/applications/search/catfish/default.nix4
-rw-r--r--pkgs/applications/version-management/bcompare/default.nix2
-rw-r--r--pkgs/applications/version-management/bugseverywhere/default.nix34
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-machete/default.nix33
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-subtrac/default.nix22
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix20
-rwxr-xr-xpkgs/applications/version-management/git-and-tools/git/update.sh2
-rw-r--r--pkgs/applications/version-management/git-and-tools/subgit/default.nix4
-rw-r--r--pkgs/applications/version-management/git-repo/default.nix4
-rw-r--r--pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/data.json12
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix9
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/Gemfile8
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock31
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/deps.nix670
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/gemset.nix42
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile47
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock196
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix280
-rwxr-xr-xpkgs/applications/version-management/gitlab/update.py2
-rw-r--r--pkgs/applications/version-management/gitlab/yarnPkgs.nix1488
-rw-r--r--pkgs/applications/version-management/gource/default.nix8
-rw-r--r--pkgs/applications/version-management/monotone/default.nix2
-rw-r--r--pkgs/applications/version-management/pijul/default.nix15
-rw-r--r--pkgs/applications/version-management/sourcehut/lists.nix3
-rw-r--r--pkgs/applications/version-management/yadm/default.nix32
-rw-r--r--pkgs/applications/video/aegisub/default.nix4
-rw-r--r--pkgs/applications/video/bomi/default.nix4
-rw-r--r--pkgs/applications/video/clipgrab/default.nix4
-rw-r--r--pkgs/applications/video/kodi/default.nix4
-rw-r--r--pkgs/applications/video/mediathekview/default.nix22
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix4
-rw-r--r--pkgs/applications/video/mplayer/default.nix6
-rw-r--r--pkgs/applications/video/mpv/default.nix6
-rw-r--r--pkgs/applications/video/mythtv/default.nix4
-rw-r--r--pkgs/applications/video/obs-studio/hardcode-ndi-path.patch17
-rw-r--r--pkgs/applications/video/obs-studio/obs-ndi.nix14
-rw-r--r--pkgs/applications/video/simplescreenrecorder/default.nix4
-rw-r--r--pkgs/applications/video/smplayer/default.nix4
-rw-r--r--pkgs/applications/video/streamlink/default.nix4
-rw-r--r--pkgs/applications/video/vdr/wrapper.nix2
-rw-r--r--pkgs/applications/virtualization/OVMF/default.nix2
-rw-r--r--pkgs/applications/virtualization/bochs/default.nix4
-rw-r--r--pkgs/applications/virtualization/charliecloud/default.nix4
-rw-r--r--pkgs/applications/virtualization/cntr/default.nix4
-rw-r--r--pkgs/applications/virtualization/cri-o/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker-compose/default.nix4
-rw-r--r--pkgs/applications/virtualization/spike/default.nix30
-rw-r--r--pkgs/applications/virtualization/virt-manager/default.nix17
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix2
-rw-r--r--pkgs/applications/virtualization/virtualbox/extpack.nix2
-rw-r--r--pkgs/applications/virtualization/x11docker/default.nix4
-rw-r--r--pkgs/applications/window-managers/cage/default.nix4
-rw-r--r--pkgs/applications/window-managers/icewm/default.nix4
-rw-r--r--pkgs/build-support/appimage/default.nix2
-rw-r--r--pkgs/build-support/bintools-wrapper/default.nix11
-rw-r--r--pkgs/build-support/build-bazel-package/default.nix30
-rw-r--r--pkgs/build-support/cc-wrapper/default.nix28
-rw-r--r--pkgs/build-support/emacs/setup-hook.sh6
-rwxr-xr-xpkgs/build-support/fetchgit/nix-prefetch-git1
-rw-r--r--pkgs/build-support/rust/build-rust-crate/build-crate.nix27
-rw-r--r--pkgs/build-support/rust/build-rust-crate/default.nix15
-rw-r--r--pkgs/build-support/rust/build-rust-crate/install-crate.nix22
-rw-r--r--pkgs/build-support/rust/default.nix19
-rw-r--r--pkgs/build-support/setup-hooks/set-java-classpath.sh2
-rwxr-xr-xpkgs/common-updater/scripts/update-source-version4
-rw-r--r--pkgs/data/documentation/gnome-user-docs/default.nix34
-rw-r--r--pkgs/data/documentation/man-pages/default.nix4
-rw-r--r--pkgs/data/fonts/babelstone-han/default.nix4
-rw-r--r--pkgs/data/fonts/cascadia-code/default.nix4
-rw-r--r--pkgs/data/fonts/fantasque-sans-mono/default.nix4
-rw-r--r--pkgs/data/fonts/gohufont/default.nix4
-rw-r--r--pkgs/data/fonts/ibm-plex/default.nix4
-rw-r--r--pkgs/data/fonts/input-fonts/default.nix8
-rw-r--r--pkgs/data/fonts/iosevka/bin.nix4
-rw-r--r--pkgs/data/fonts/overpass/default.nix6
-rw-r--r--pkgs/data/fonts/public-sans/default.nix12
-rw-r--r--pkgs/data/fonts/recursive/default.nix39
-rw-r--r--pkgs/data/fonts/rhodium-libre/default.nix28
-rw-r--r--pkgs/data/fonts/stix-two/default.nix18
-rw-r--r--pkgs/data/icons/flat-remix-icon-theme/default.nix35
-rw-r--r--pkgs/data/icons/numix-icon-theme-circle/default.nix4
-rw-r--r--pkgs/data/icons/numix-icon-theme-square/default.nix4
-rw-r--r--pkgs/data/icons/zafiro-icons/default.nix6
-rw-r--r--pkgs/data/misc/tzdata/default.nix6
-rw-r--r--pkgs/data/themes/adapta-kde/default.nix (renamed from pkgs/misc/themes/adapta-kde/default.nix)6
-rw-r--r--pkgs/data/themes/adapta/default.nix (renamed from pkgs/misc/themes/adapta/default.nix)0
-rw-r--r--pkgs/data/themes/adwaita-qt/default.nix (renamed from pkgs/misc/themes/adwaita-qt/default.nix)4
-rw-r--r--pkgs/data/themes/albatross/default.nix (renamed from pkgs/misc/themes/albatross/default.nix)0
-rw-r--r--pkgs/data/themes/arc-kde/default.nix (renamed from pkgs/misc/themes/arc-kde/default.nix)10
-rw-r--r--pkgs/data/themes/blackbird/default.nix (renamed from pkgs/misc/themes/blackbird/default.nix)0
-rw-r--r--pkgs/data/themes/clearlooks-phenix/default.nix (renamed from pkgs/misc/themes/clearlooks-phenix/default.nix)6
-rw-r--r--pkgs/data/themes/e17gtk/default.nix (renamed from pkgs/misc/themes/e17gtk/default.nix)0
-rw-r--r--pkgs/data/themes/equilux-theme/default.nix (renamed from pkgs/misc/themes/equilux-theme/default.nix)0
-rw-r--r--pkgs/data/themes/gnome-breeze/default.nix (renamed from pkgs/misc/themes/gnome-breeze/default.nix)0
-rw-r--r--pkgs/data/themes/kde2/default.nix (renamed from pkgs/misc/themes/kde2/default.nix)19
-rw-r--r--pkgs/data/themes/numix-solarized/default.nix (renamed from pkgs/misc/themes/numix-solarized/default.nix)0
-rw-r--r--pkgs/data/themes/numix-sx/default.nix (renamed from pkgs/misc/themes/numix-sx/default.nix)0
-rw-r--r--pkgs/data/themes/numix/default.nix (renamed from pkgs/misc/themes/numix/default.nix)0
-rw-r--r--pkgs/data/themes/onestepback/default.nix (renamed from pkgs/misc/themes/onestepback/default.nix)0
-rw-r--r--pkgs/data/themes/orion/default.nix (renamed from pkgs/misc/themes/orion/default.nix)0
-rw-r--r--pkgs/data/themes/paper-gtk/default.nix (renamed from pkgs/misc/themes/paper/default.nix)0
-rw-r--r--pkgs/data/themes/plata/default.nix4
-rw-r--r--pkgs/data/themes/qtcurve/default.nix (renamed from pkgs/misc/themes/qtcurve/default.nix)2
-rw-r--r--pkgs/data/themes/solarc/default.nix (renamed from pkgs/misc/themes/solarc/default.nix)0
-rw-r--r--pkgs/data/themes/vertex/default.nix (renamed from pkgs/misc/themes/vertex/default.nix)0
-rw-r--r--pkgs/desktops/deepin/deepin-desktop-schemas/default.nix4
-rw-r--r--pkgs/desktops/deepin/deepin-editor/default.nix64
-rw-r--r--pkgs/desktops/deepin/default.nix1
-rw-r--r--pkgs/desktops/enlightenment/ephoto.nix2
-rw-r--r--pkgs/desktops/enlightenment/terminology.nix4
-rw-r--r--pkgs/desktops/gnome-2/platform/gtkglext/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/accerciser/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/file-roller/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gedit/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-documents/default.nix98
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-maps/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-music/default.nix90
-rw-r--r--pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/dconf-editor/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/epiphany/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/evince/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/evolution-data-server/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix26
-rw-r--r--pkgs/desktops/gnome-3/core/mutter/default.nix5
-rw-r--r--pkgs/desktops/gnome-3/core/rygel/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/simple-scan/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/yelp-xsl/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/default.nix24
-rw-r--r--pkgs/desktops/gnome-3/extensions/caffeine/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/extensions/dash-to-panel/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/extensions/system-monitor/default.nix3
-rw-r--r--pkgs/desktops/gnome-3/games/gnome-taquin/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/games/iagno/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix4
-rw-r--r--pkgs/desktops/gnustep/make/setup-hook.sh26
-rw-r--r--pkgs/desktops/mate/mate-control-center/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-desktop/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-panel/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-settings-daemon/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-terminal/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-calculator/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-photos/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-terminal/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix6
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix8
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch81
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix10
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch35
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch43
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix14
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch20
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix14
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix6
-rw-r--r--pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix18
-rw-r--r--pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix4
-rw-r--r--pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix4
-rw-r--r--pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix6
-rw-r--r--pkgs/desktops/plasma-5/default.nix6
-rw-r--r--pkgs/desktops/xfce/applications/gigolo.nix22
-rw-r--r--pkgs/desktops/xfce/applications/gigolo/default.nix (renamed from pkgs/desktops/xfce4-14/gigolo/default.nix)4
-rw-r--r--pkgs/desktops/xfce/applications/mousepad-12134.patch90
-rw-r--r--pkgs/desktops/xfce/applications/mousepad.nix38
-rw-r--r--pkgs/desktops/xfce/applications/mousepad/default.nix (renamed from pkgs/desktops/xfce4-14/mousepad/default.nix)4
-rw-r--r--pkgs/desktops/xfce/applications/orage.nix44
-rw-r--r--pkgs/desktops/xfce/applications/orage/default.nix (renamed from pkgs/desktops/xfce4-14/orage/default.nix)4
-rw-r--r--pkgs/desktops/xfce/applications/parole.nix38
-rw-r--r--pkgs/desktops/xfce/applications/parole/default.nix (renamed from pkgs/desktops/xfce4-14/parole/default.nix)9
-rw-r--r--pkgs/desktops/xfce/applications/ristretto.nix34
-rw-r--r--pkgs/desktops/xfce/applications/ristretto/default.nix (renamed from pkgs/desktops/xfce4-14/ristretto/default.nix)4
-rw-r--r--pkgs/desktops/xfce/applications/terminal.nix25
-rw-r--r--pkgs/desktops/xfce/applications/xfburn/default.nix12
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-dict/configure-gio.patch (renamed from pkgs/desktops/xfce4-14/xfce4-dict/configure-gio.patch)0
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-dict/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-dict/default.nix)4
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-mixer.nix51
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-notifyd.nix32
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-notifyd/default.nix)4
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-screenshooter.nix29
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-screenshooter/default.nix)4
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-taskmanager.nix22
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-taskmanager/default.nix)4
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-terminal/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-terminal/default.nix)0
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-volumed-pulse.nix31
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-volumed-pulse/default.nix)2
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-volumed/default.nix (renamed from pkgs/desktops/xfce/applications/xfce4-volumed.nix)0
-rw-r--r--pkgs/desktops/xfce/applications/xfdashboard/default.nix (renamed from pkgs/desktops/xfce4-14/xfdashboard/default.nix)0
-rw-r--r--pkgs/desktops/xfce/automakeAddFlags.sh (renamed from pkgs/desktops/xfce4-14/automakeAddFlags.sh)0
-rw-r--r--pkgs/desktops/xfce/core/exo.nix27
-rw-r--r--pkgs/desktops/xfce/core/exo/default.nix (renamed from pkgs/desktops/xfce4-14/exo/default.nix)0
-rw-r--r--pkgs/desktops/xfce/core/garcon-10967.patch14
-rw-r--r--pkgs/desktops/xfce/core/garcon-12700.patch44
-rw-r--r--pkgs/desktops/xfce/core/garcon.nix27
-rw-r--r--pkgs/desktops/xfce/core/garcon/default.nix (renamed from pkgs/desktops/xfce4-14/garcon/default.nix)4
-rw-r--r--pkgs/desktops/xfce/core/gtk-xfce-engine.nix31
-rw-r--r--pkgs/desktops/xfce/core/libxfce4ui.nix41
-rw-r--r--pkgs/desktops/xfce/core/libxfce4ui/default.nix (renamed from pkgs/desktops/xfce4-14/libxfce4ui/default.nix)0
-rw-r--r--pkgs/desktops/xfce/core/libxfce4util.nix26
-rw-r--r--pkgs/desktops/xfce/core/libxfce4util/default.nix (renamed from pkgs/desktops/xfce4-14/libxfce4util/default.nix)0
-rw-r--r--pkgs/desktops/xfce/core/libxfcegui4.nix37
-rw-r--r--pkgs/desktops/xfce/core/thunar-build.nix42
-rw-r--r--pkgs/desktops/xfce/core/thunar-volman.nix30
-rw-r--r--pkgs/desktops/xfce/core/thunar-volman/default.nix (renamed from pkgs/desktops/xfce4-14/thunar-volman/default.nix)4
-rw-r--r--pkgs/desktops/xfce/core/thunar.nix68
-rw-r--r--pkgs/desktops/xfce/core/thunar/default.nix70
-rw-r--r--pkgs/desktops/xfce/core/thunar/thunarx_plugins_directory.patch (renamed from pkgs/desktops/xfce/core/thunarx_plugins_directory.patch)10
-rw-r--r--pkgs/desktops/xfce/core/thunar/wrapper.nix34
-rw-r--r--pkgs/desktops/xfce/core/tumbler.nix42
-rw-r--r--pkgs/desktops/xfce/core/tumbler/default.nix (renamed from pkgs/desktops/xfce4-14/tumbler/default.nix)4
-rw-r--r--pkgs/desktops/xfce/core/xfce4-appfinder.nix29
-rw-r--r--pkgs/desktops/xfce/core/xfce4-appfinder/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-appfinder/default.nix)4
-rw-r--r--pkgs/desktops/xfce/core/xfce4-dev-tools.nix28
-rw-r--r--pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-dev-tools/default.nix)0
-rw-r--r--pkgs/desktops/xfce/core/xfce4-dev-tools/setup-hook.sh (renamed from pkgs/desktops/xfce4-14/xfce4-dev-tools/setup-hook.sh)0
-rw-r--r--pkgs/desktops/xfce/core/xfce4-light-locker.patch25
-rw-r--r--pkgs/desktops/xfce/core/xfce4-panel.nix59
-rw-r--r--pkgs/desktops/xfce/core/xfce4-panel/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-panel/default.nix)2
-rw-r--r--pkgs/desktops/xfce/core/xfce4-panel/xfce4-panel-datadir.patch (renamed from pkgs/desktops/xfce/core/xfce4-panel-datadir.patch)0
-rw-r--r--pkgs/desktops/xfce/core/xfce4-power-manager.nix44
-rw-r--r--pkgs/desktops/xfce/core/xfce4-power-manager/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-power-manager/default.nix)4
-rw-r--r--pkgs/desktops/xfce/core/xfce4-session.nix44
-rw-r--r--pkgs/desktops/xfce/core/xfce4-session/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-session/default.nix)4
-rw-r--r--pkgs/desktops/xfce/core/xfce4-settings-default-icon-theme.patch11
-rw-r--r--pkgs/desktops/xfce/core/xfce4-settings.nix54
-rw-r--r--pkgs/desktops/xfce/core/xfce4-settings/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-settings/default.nix)4
-rw-r--r--pkgs/desktops/xfce/core/xfconf.nix30
-rw-r--r--pkgs/desktops/xfce/core/xfconf/default.nix (renamed from pkgs/desktops/xfce4-14/xfconf/default.nix)4
-rw-r--r--pkgs/desktops/xfce/core/xfdesktop.nix36
-rw-r--r--pkgs/desktops/xfce/core/xfdesktop/default.nix (renamed from pkgs/desktops/xfce4-14/xfdesktop/default.nix)0
-rw-r--r--pkgs/desktops/xfce/core/xfwm4.nix31
-rw-r--r--pkgs/desktops/xfce/core/xfwm4/default.nix (renamed from pkgs/desktops/xfce4-14/xfwm4/default.nix)4
-rw-r--r--pkgs/desktops/xfce/default.nix130
-rw-r--r--pkgs/desktops/xfce/mkXfceDerivation.nix (renamed from pkgs/desktops/xfce4-14/mkXfceDerivation.nix)0
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin.nix24
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-battery-plugin/default.nix)4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin.nix24
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-clipman-plugin/default.nix)4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix29
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-cpufreq-plugin/default.nix)4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix26
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix34
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix5
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix5
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix5
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix5
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix5
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin.nix24
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-netload-plugin/default.nix)4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin.nix34
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-pulseaudio-plugin/default.nix)4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix7
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix36
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-whiskermenu-plugin/default.nix)4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix28
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix (renamed from pkgs/desktops/xfce4-14/xfce4-xkb-plugin/default.nix)7
-rw-r--r--pkgs/desktops/xfce/thunar-plugins/archive/default.nix65
-rw-r--r--pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix40
-rw-r--r--pkgs/desktops/xfce4-14/default.nix116
-rw-r--r--pkgs/desktops/xfce4-14/thunar/default.nix25
-rw-r--r--pkgs/desktops/xfce4-14/xfburn/default.nix13
-rw-r--r--pkgs/development/beam-modules/build-mix.nix4
-rw-r--r--pkgs/development/beam-modules/default.nix10
-rw-r--r--pkgs/development/beam-modules/hex-packages.nix37751
-rw-r--r--pkgs/development/beam-modules/hex-registry-snapshot.nix27
-rwxr-xr-xpkgs/development/beam-modules/mix-bootstrap6
-rw-r--r--pkgs/development/compilers/abcl/default.nix4
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix3
-rw-r--r--pkgs/development/compilers/adoptopenjdk-bin/sources.json160
-rw-r--r--pkgs/development/compilers/carp/default.nix11
-rw-r--r--pkgs/development/compilers/chicken/4/eggDerivation.nix2
-rw-r--r--pkgs/development/compilers/factor-lang/default.nix4
-rw-r--r--pkgs/development/compilers/fasm/bin.nix4
-rw-r--r--pkgs/development/compilers/gcc/4.8/default.nix7
-rw-r--r--pkgs/development/compilers/gcc/4.9/default.nix7
-rw-r--r--pkgs/development/compilers/gcc/5/default.nix7
-rw-r--r--pkgs/development/compilers/gcc/6/default.nix20
-rw-r--r--pkgs/development/compilers/gcc/7/default.nix7
-rw-r--r--pkgs/development/compilers/gcc/8/default.nix7
-rw-r--r--pkgs/development/compilers/gcc/9/default.nix7
-rw-r--r--pkgs/development/compilers/gcc/snapshot/default.nix7
-rw-r--r--pkgs/development/compilers/gerbil/unstable.nix13
-rw-r--r--pkgs/development/compilers/ghc/head.nix27
-rw-r--r--pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix2
-rw-r--r--pkgs/development/compilers/go-jsonnet/default.nix35
-rw-r--r--pkgs/development/compilers/go-jsonnet/deps.nix48
-rw-r--r--pkgs/development/compilers/intel-graphics-compiler/default.nix4
-rw-r--r--pkgs/development/compilers/kotlin/default.nix4
-rw-r--r--pkgs/development/compilers/llvm/4/clang/default.nix5
-rw-r--r--pkgs/development/compilers/llvm/4/llvm.nix5
-rw-r--r--pkgs/development/compilers/llvm/5/clang/default.nix5
-rw-r--r--pkgs/development/compilers/llvm/5/llvm.nix5
-rw-r--r--pkgs/development/compilers/llvm/6/clang/default.nix5
-rw-r--r--pkgs/development/compilers/llvm/6/llvm.nix5
-rw-r--r--pkgs/development/compilers/llvm/7/clang/default.nix5
-rw-r--r--pkgs/development/compilers/llvm/7/compiler-rt.nix4
-rw-r--r--pkgs/development/compilers/llvm/7/llvm.nix5
-rw-r--r--pkgs/development/compilers/llvm/8/clang/default.nix5
-rw-r--r--pkgs/development/compilers/llvm/8/compiler-rt.nix4
-rw-r--r--pkgs/development/compilers/llvm/8/llvm.nix5
-rw-r--r--pkgs/development/compilers/llvm/9/compiler-rt.nix4
-rw-r--r--pkgs/development/compilers/mruby/default.nix4
-rw-r--r--pkgs/development/compilers/nim/default.nix4
-rw-r--r--pkgs/development/compilers/ocaml/generic.nix19
-rw-r--r--pkgs/development/compilers/openjdk/8.nix5
-rw-r--r--pkgs/development/compilers/ponyc/default.nix8
-rw-r--r--pkgs/development/compilers/ponyc/pony-stable.nix4
-rw-r--r--pkgs/development/compilers/purescript/purescript/default.nix6
-rw-r--r--pkgs/development/compilers/rust/1_38_0.nix1
-rw-r--r--pkgs/development/compilers/rust/1_39_0.nix1
-rw-r--r--pkgs/development/compilers/rust/bootstrap.nix19
-rw-r--r--pkgs/development/compilers/rust/default.nix8
-rwxr-xr-xpkgs/development/compilers/rust/print-hashes.sh1
-rw-r--r--pkgs/development/compilers/rust/rustc.nix14
-rw-r--r--pkgs/development/compilers/scala/dotty-bare.nix6
-rw-r--r--pkgs/development/compilers/souffle/default.nix4
-rw-r--r--pkgs/development/compilers/unison/default.nix6
-rw-r--r--pkgs/development/compilers/vala/default.nix12
-rw-r--r--pkgs/development/compilers/x11basic/default.nix4
-rw-r--r--pkgs/development/em-modules/generic/default.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix30
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix14
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml224
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix77
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix4808
-rw-r--r--pkgs/development/haskell-modules/make-package-set.nix5
-rw-r--r--pkgs/development/haskell-modules/non-hackage-packages.nix3
-rw-r--r--pkgs/development/interpreters/clojure/default.nix4
-rw-r--r--pkgs/development/interpreters/eff/default.nix2
-rw-r--r--pkgs/development/interpreters/elixir/1.9.nix6
-rw-r--r--pkgs/development/interpreters/erlang/R22.nix6
-rw-r--r--pkgs/development/interpreters/erlang/generic-builder.nix6
-rw-r--r--pkgs/development/interpreters/guile/setup-hook-2.0.sh8
-rw-r--r--pkgs/development/interpreters/guile/setup-hook-2.2.sh8
-rw-r--r--pkgs/development/interpreters/guile/setup-hook.sh2
-rw-r--r--pkgs/development/interpreters/io/default.nix4
-rw-r--r--pkgs/development/interpreters/janet/default.nix4
-rw-r--r--pkgs/development/interpreters/jimtcl/default.nix30
-rw-r--r--pkgs/development/interpreters/love/0.10.nix4
-rw-r--r--pkgs/development/interpreters/love/0.7.nix4
-rw-r--r--pkgs/development/interpreters/love/0.8.nix4
-rw-r--r--pkgs/development/interpreters/love/0.9.nix4
-rw-r--r--pkgs/development/interpreters/love/11.1.nix4
-rw-r--r--pkgs/development/interpreters/lua-5/CVE-2019-6706.patch22
-rw-r--r--pkgs/development/interpreters/lua-5/build-lua-package.nix2
-rw-r--r--pkgs/development/interpreters/lua-5/default.nix7
-rw-r--r--pkgs/development/interpreters/lua-5/wrapper.nix13
-rw-r--r--pkgs/development/interpreters/lush/default.nix4
-rw-r--r--pkgs/development/interpreters/perl/default.nix12
-rw-r--r--pkgs/development/interpreters/python/cpython/3.9/no-ldconfig.patch100
-rw-r--r--pkgs/development/interpreters/python/cpython/default.nix3
-rw-r--r--pkgs/development/interpreters/python/default.nix21
-rw-r--r--pkgs/development/interpreters/python/hooks/pip-build-hook.sh2
-rwxr-xr-xpkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py2
-rw-r--r--pkgs/development/interpreters/quickjs/default.nix42
-rw-r--r--pkgs/development/interpreters/renpy/default.nix6
-rw-r--r--pkgs/development/interpreters/wasmtime/cargo-lock.patch673
-rw-r--r--pkgs/development/interpreters/wasmtime/default.nix10
-rw-r--r--pkgs/development/libraries/AntTweakBar/default.nix4
-rw-r--r--pkgs/development/libraries/SDL/setup-hook.sh2
-rw-r--r--pkgs/development/libraries/ace/default.nix4
-rw-r--r--pkgs/development/libraries/allegro/5.nix4
-rw-r--r--pkgs/development/libraries/allegro/default.nix4
-rw-r--r--pkgs/development/libraries/armadillo/default.nix4
-rw-r--r--pkgs/development/libraries/arrayfire/default.nix4
-rw-r--r--pkgs/development/libraries/aspell/default.nix14
-rw-r--r--pkgs/development/libraries/at-spi2-core/default.nix3
-rw-r--r--pkgs/development/libraries/bcg729/default.nix43
-rw-r--r--pkgs/development/libraries/bctoolbox/default.nix16
-rw-r--r--pkgs/development/libraries/belle-sip/default.nix17
-rw-r--r--pkgs/development/libraries/boehm-gc/7.6.6.nix6
-rw-r--r--pkgs/development/libraries/boehm-gc/default.nix6
-rw-r--r--pkgs/development/libraries/boost/1.71.nix15
-rw-r--r--pkgs/development/libraries/box2d/default.nix4
-rw-r--r--pkgs/development/libraries/bullet/default.nix4
-rw-r--r--pkgs/development/libraries/bullet/roboschool-fork.nix4
-rw-r--r--pkgs/development/libraries/c-blosc/default.nix2
-rw-r--r--pkgs/development/libraries/cairo/default.nix2
-rw-r--r--pkgs/development/libraries/catch2/default.nix4
-rw-r--r--pkgs/development/libraries/chipmunk/default.nix4
-rw-r--r--pkgs/development/libraries/clipper/default.nix3
-rw-r--r--pkgs/development/libraries/cln/default.nix6
-rw-r--r--pkgs/development/libraries/codec2/default.nix12
-rw-r--r--pkgs/development/libraries/coredumper/default.nix18
-rw-r--r--pkgs/development/libraries/dconf/default.nix (renamed from pkgs/desktops/gnome-3/core/dconf/default.nix)0
-rw-r--r--pkgs/development/libraries/dleyna-core/setup-hook.sh2
-rw-r--r--pkgs/development/libraries/egl-wayland/default.nix79
-rw-r--r--pkgs/development/libraries/egl-wayland/eglmesaext.patch12
-rw-r--r--pkgs/development/libraries/exempi/default.nix3
-rw-r--r--pkgs/development/libraries/ffmpeg-full/default.nix6
-rw-r--r--pkgs/development/libraries/ffmpeg/2.8.nix4
-rw-r--r--pkgs/development/libraries/ffmpeg/3.4.nix4
-rw-r--r--pkgs/development/libraries/ffmpeg/4.nix4
-rw-r--r--pkgs/development/libraries/ffmpeg/generic.nix6
-rw-r--r--pkgs/development/libraries/flatpak/default.nix4
-rw-r--r--pkgs/development/libraries/fltk/1.4.nix8
-rw-r--r--pkgs/development/libraries/fltk/default.nix4
-rw-r--r--pkgs/development/libraries/forge/default.nix4
-rw-r--r--pkgs/development/libraries/fox/fox-1.6.nix4
-rw-r--r--pkgs/development/libraries/freenect/default.nix4
-rw-r--r--pkgs/development/libraries/freetds/default.nix2
-rw-r--r--pkgs/development/libraries/gaia/default.nix8
-rw-r--r--pkgs/development/libraries/garmintools/default.nix3
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/default.nix5
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/setup-hook.sh2
-rw-r--r--pkgs/development/libraries/geoip/default.nix2
-rw-r--r--pkgs/development/libraries/gettext/default.nix4
-rw-r--r--pkgs/development/libraries/gjs/default.nix24
-rw-r--r--pkgs/development/libraries/glib/default.nix4
-rw-r--r--pkgs/development/libraries/glib/setup-hook.sh4
-rw-r--r--pkgs/development/libraries/glui/default.nix40
-rw-r--r--pkgs/development/libraries/gmime/3.nix4
-rw-r--r--pkgs/development/libraries/goffice/default.nix4
-rw-r--r--pkgs/development/libraries/grib-api/default.nix20
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix6
-rw-r--r--pkgs/development/libraries/gstreamer/good/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/vaapi/default.nix6
-rw-r--r--pkgs/development/libraries/gtk-engine-bluecurve/default.nix (renamed from pkgs/misc/themes/gtk2/gtk-engine-bluecurve/default.nix)0
-rw-r--r--pkgs/development/libraries/gtk-engine-murrine/default.nix (renamed from pkgs/misc/themes/gtk2/gtk-engine-murrine/default.nix)0
-rw-r--r--pkgs/development/libraries/gtk-engines/default.nix (renamed from pkgs/misc/themes/gtk2/gtk-engines/default.nix)0
-rw-r--r--pkgs/development/libraries/gvfs/default.nix4
-rw-r--r--pkgs/development/libraries/hyphen/default.nix27
-rw-r--r--pkgs/development/libraries/ilmbase/default.nix1
-rw-r--r--pkgs/development/libraries/intel-gmmlib/default.nix4
-rw-r--r--pkgs/development/libraries/irrlicht/default.nix4
-rw-r--r--pkgs/development/libraries/jasper/default.nix5
-rw-r--r--pkgs/development/libraries/java/smack/default.nix2
-rw-r--r--pkgs/development/libraries/java/swt/default.nix4
-rw-r--r--pkgs/development/libraries/jitterentropy/default.nix3
-rw-r--r--pkgs/development/libraries/jsoncpp/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kio/default.nix1
-rw-r--r--pkgs/development/libraries/ldns/default.nix37
-rw-r--r--pkgs/development/libraries/libagar/default.nix6
-rw-r--r--pkgs/development/libraries/libappindicator/default.nix38
-rw-r--r--pkgs/development/libraries/libcdaudio/default.nix2
-rw-r--r--pkgs/development/libraries/libcerf/default.nix15
-rw-r--r--pkgs/development/libraries/libdigidocpp/default.nix4
-rw-r--r--pkgs/development/libraries/libexif/default.nix25
-rw-r--r--pkgs/development/libraries/libextractor/default.nix6
-rw-r--r--pkgs/development/libraries/libfilezilla/default.nix4
-rw-r--r--pkgs/development/libraries/libfprint/default.nix40
-rw-r--r--pkgs/development/libraries/libftdi/1.x.nix6
-rw-r--r--pkgs/development/libraries/libgnurl/default.nix4
-rw-r--r--pkgs/development/libraries/libgudev/default.nix1
-rw-r--r--pkgs/development/libraries/libheif/default.nix6
-rw-r--r--pkgs/development/libraries/libicns/default.nix18
-rw-r--r--pkgs/development/libraries/libidn2/default.nix4
-rw-r--r--pkgs/development/libraries/libinput/default.nix1
-rw-r--r--pkgs/development/libraries/libisoburn/default.nix4
-rw-r--r--pkgs/development/libraries/libmbim/default.nix4
-rw-r--r--pkgs/development/libraries/libmodule/default.nix4
-rw-r--r--pkgs/development/libraries/libmypaint/default.nix8
-rw-r--r--pkgs/development/libraries/libowfat/default.nix1
-rw-r--r--pkgs/development/libraries/libraw/default.nix7
-rw-r--r--pkgs/development/libraries/libre/default.nix3
-rw-r--r--pkgs/development/libraries/librealsense/default.nix16
-rw-r--r--pkgs/development/libraries/librem/default.nix3
-rw-r--r--pkgs/development/libraries/libsearpc/default.nix4
-rw-r--r--pkgs/development/libraries/libseccomp/default.nix4
-rw-r--r--pkgs/development/libraries/libsolv/default.nix5
-rw-r--r--pkgs/development/libraries/libtcod/default.nix4
-rw-r--r--pkgs/development/libraries/liburing/default.nix2
-rw-r--r--pkgs/development/libraries/libvncserver/default.nix40
-rw-r--r--pkgs/development/libraries/libvorbis/default.nix1
-rw-r--r--pkgs/development/libraries/libvterm-neovim/default.nix6
-rw-r--r--pkgs/development/libraries/libwebp/default.nix6
-rw-r--r--pkgs/development/libraries/libwmf/default.nix2
-rw-r--r--pkgs/development/libraries/libxl/default.nix10
-rw-r--r--pkgs/development/libraries/linbox/default.nix2
-rw-r--r--pkgs/development/libraries/liquidfun/default.nix4
-rw-r--r--pkgs/development/libraries/mapnik/default.nix2
-rw-r--r--pkgs/development/libraries/mediastreamer/default.nix18
-rw-r--r--pkgs/development/libraries/mediastreamer/msopenh264.nix23
-rw-r--r--pkgs/development/libraries/mesa/default.nix4
-rw-r--r--pkgs/development/libraries/minizip/default.nix1
-rw-r--r--pkgs/development/libraries/mpich/default.nix4
-rw-r--r--pkgs/development/libraries/mygui/default.nix5
-rw-r--r--pkgs/development/libraries/nanoflann/default.nix12
-rw-r--r--pkgs/development/libraries/ndi/default.nix60
-rw-r--r--pkgs/development/libraries/netcdf/default.nix1
-rw-r--r--pkgs/development/libraries/nlohmann_json/default.nix4
-rw-r--r--pkgs/development/libraries/nss/default.nix7
-rw-r--r--pkgs/development/libraries/nss_wrapper/default.nix4
-rw-r--r--pkgs/development/libraries/ntl/default.nix4
-rw-r--r--pkgs/development/libraries/nuspell/default.nix4
-rw-r--r--pkgs/development/libraries/ogre/1.10.x.nix4
-rw-r--r--pkgs/development/libraries/ogre/1.9.x.nix4
-rw-r--r--pkgs/development/libraries/ogre/default.nix4
-rw-r--r--pkgs/development/libraries/olm/default.nix20
-rw-r--r--pkgs/development/libraries/openbabel/default.nix2
-rw-r--r--pkgs/development/libraries/openbsm/default.nix3
-rw-r--r--pkgs/development/libraries/opencolorio/default.nix2
-rw-r--r--pkgs/development/libraries/opencsg/default.nix4
-rw-r--r--pkgs/development/libraries/opencv/3.x.nix2
-rw-r--r--pkgs/development/libraries/opencv/4.x.nix2
-rw-r--r--pkgs/development/libraries/opencv/default.nix2
-rw-r--r--pkgs/development/libraries/openexr/default.nix3
-rw-r--r--pkgs/development/libraries/openexrid-unstable/default.nix4
-rw-r--r--pkgs/development/libraries/openscenegraph/default.nix2
-rw-r--r--pkgs/development/libraries/ortp/default.nix9
-rw-r--r--pkgs/development/libraries/partio/default.nix4
-rw-r--r--pkgs/development/libraries/pcre2/default.nix4
-rw-r--r--pkgs/development/libraries/phonon/backends/gstreamer.nix41
-rw-r--r--pkgs/development/libraries/phonon/backends/vlc.nix45
-rw-r--r--pkgs/development/libraries/phonon/default.nix57
-rw-r--r--pkgs/development/libraries/physics/apfel/default.nix4
-rw-r--r--pkgs/development/libraries/physics/applgrid/default.nix5
-rw-r--r--pkgs/development/libraries/physics/fastjet-contrib/default.nix40
-rw-r--r--pkgs/development/libraries/physics/geant4/default.nix4
-rw-r--r--pkgs/development/libraries/physics/qcdnum/default.nix3
-rw-r--r--pkgs/development/libraries/plib/default.nix4
-rw-r--r--pkgs/development/libraries/polkit/default.nix9
-rw-r--r--pkgs/development/libraries/prometheus-cpp/default.nix4
-rw-r--r--pkgs/development/libraries/protobuf/3.11.nix6
-rw-r--r--pkgs/development/libraries/pybind11/default.nix47
-rw-r--r--pkgs/development/libraries/pybind11/no_test_cmake_build.patch7
-rw-r--r--pkgs/development/libraries/qgnomeplatform/default.nix11
-rw-r--r--pkgs/development/libraries/qt-3/default.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.11/default.nix175
-rw-r--r--pkgs/development/libraries/qt-5/5.11/fetch.sh1
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtbase-fixguicmake.patch30
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtbase.patch1106
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtdeclarative.patch46
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtscript.patch13
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtserialport.patch22
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qttools.patch86
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtwebengine-darwin-no-platform-check.patch37
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtwebengine-no-build-skip.patch12
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtwebkit.patch12
-rw-r--r--pkgs/development/libraries/qt-5/5.11/srcs.nix325
-rw-r--r--pkgs/development/libraries/qt-5/5.12/default.nix9
-rw-r--r--pkgs/development/libraries/qt-5/5.12/fetch.sh2
-rw-r--r--pkgs/development/libraries/qt-5/5.12/srcs.nix320
-rw-r--r--pkgs/development/libraries/qt-5/5.9/default.nix179
-rw-r--r--pkgs/development/libraries/qt-5/5.9/fetch.sh1
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase-fixguicmake.patch30
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch3985
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase.patch1119
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtdeclarative.patch33
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtscript.patch13
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtserialport.patch22
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qttools.patch71
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtwebengine-clang-fix.patch38
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtwebengine-darwin-no-platform-check.patch50
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtwebengine-no-build-skip.patch12
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtwebkit.patch64
-rw-r--r--pkgs/development/libraries/qt-5/5.9/srcs.nix333
-rw-r--r--pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh2
-rw-r--r--pkgs/development/libraries/quesoglc/default.nix4
-rw-r--r--pkgs/development/libraries/rocksdb/default.nix28
-rw-r--r--pkgs/development/libraries/schroedinger/default.nix8
-rw-r--r--pkgs/development/libraries/science/biology/elastix/default.nix15
-rw-r--r--pkgs/development/libraries/science/biology/nifticlib/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/caffe2/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/liblapack/default.nix17
-rw-r--r--pkgs/development/libraries/science/math/mkl/default.nix1
-rw-r--r--pkgs/development/libraries/science/math/scalapack/default.nix15
-rw-r--r--pkgs/development/libraries/science/math/scalapack/openmpi4.patch143
-rw-r--r--pkgs/development/libraries/silgraphite/graphite2.nix6
-rw-r--r--pkgs/development/libraries/simgear/default.nix4
-rw-r--r--pkgs/development/libraries/simpleitk/default.nix4
-rw-r--r--pkgs/development/libraries/smarty3/default.nix4
-rw-r--r--pkgs/development/libraries/smpeg/default.nix4
-rw-r--r--pkgs/development/libraries/snappy/default.nix2
-rw-r--r--pkgs/development/libraries/soxt/default.nix4
-rw-r--r--pkgs/development/libraries/spandsp/default.nix1
-rw-r--r--pkgs/development/libraries/tiledb/default.nix76
-rw-r--r--pkgs/development/libraries/tre/default.nix2
-rw-r--r--pkgs/development/libraries/unixODBCDrivers/default.nix35
-rw-r--r--pkgs/development/libraries/vaapi-vdpau/default.nix4
-rw-r--r--pkgs/development/libraries/vrpn/default.nix4
-rw-r--r--pkgs/development/libraries/wlroots/default.nix11
-rw-r--r--pkgs/development/libraries/xapian/default.nix2
-rw-r--r--pkgs/development/libraries/xine-lib/default.nix4
-rw-r--r--pkgs/development/libraries/zeitgeist/default.nix69
-rw-r--r--pkgs/development/lisp-modules/clwrapper/default.nix1
-rw-r--r--pkgs/development/lisp-modules/clwrapper/setup-hook.sh6
-rw-r--r--pkgs/development/lisp-modules/define-package.nix8
-rw-r--r--pkgs/development/lisp-modules/openssl-lib-marked.nix2
-rw-r--r--pkgs/development/lua-modules/overrides.nix2
-rw-r--r--pkgs/development/misc/amdapp-sdk/default.nix4
-rw-r--r--pkgs/development/misc/vc4/newlib.nix28
-rw-r--r--pkgs/development/misc/yelp-tools/default.nix (renamed from pkgs/desktops/gnome-3/core/yelp-tools/default.nix)4
-rw-r--r--pkgs/development/mobile/androidenv/deploy-androidpackage.nix1
-rw-r--r--pkgs/development/mobile/androidenv/platform-tools.nix2
-rw-r--r--pkgs/development/ocaml-modules/easy-format/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/eigen/default.nix25
-rw-r--r--pkgs/development/ocaml-modules/facile/default.nix35
-rw-r--r--pkgs/development/ocaml-modules/iso8601/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/kafka/default.nix26
-rw-r--r--pkgs/development/ocaml-modules/lablgl/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/lwt/4.x.nix15
-rw-r--r--pkgs/development/ocaml-modules/lwt/ppx.nix3
-rw-r--r--pkgs/development/ocaml-modules/owl-base/default.nix25
-rw-r--r--pkgs/development/ocaml-modules/owl/default.nix15
-rw-r--r--pkgs/development/ocaml-modules/sodium/default.nix27
-rw-r--r--pkgs/development/ocaml-modules/yojson/default.nix2
-rw-r--r--pkgs/development/perl-modules/generic/default.nix6
-rw-r--r--pkgs/development/pharo/vm/build-vm-legacy.nix6
-rw-r--r--pkgs/development/pharo/vm/build-vm.nix6
-rw-r--r--pkgs/development/pharo/vm/vms.nix2
-rw-r--r--pkgs/development/pure-modules/gl/default.nix4
-rw-r--r--pkgs/development/python-modules/APScheduler/default.nix4
-rw-r--r--pkgs/development/python-modules/Cython/default.nix14
-rw-r--r--pkgs/development/python-modules/GitPython/default.nix4
-rw-r--r--pkgs/development/python-modules/Nikola/default.nix4
-rw-r--r--pkgs/development/python-modules/XlsxWriter/default.nix4
-rw-r--r--pkgs/development/python-modules/acoustics/default.nix4
-rw-r--r--pkgs/development/python-modules/aenum/default.nix4
-rw-r--r--pkgs/development/python-modules/aioesphomeapi/default.nix4
-rw-r--r--pkgs/development/python-modules/aiorpcx/default.nix4
-rw-r--r--pkgs/development/python-modules/ansi2html/default.nix2
-rw-r--r--pkgs/development/python-modules/ansible-runner/default.nix4
-rw-r--r--pkgs/development/python-modules/ansible/default.nix8
-rw-r--r--pkgs/development/python-modules/ansiwrap/default.nix44
-rw-r--r--pkgs/development/python-modules/anytree/default.nix10
-rw-r--r--pkgs/development/python-modules/apache-airflow/default.nix188
-rw-r--r--pkgs/development/python-modules/apispec/default.nix36
-rw-r--r--pkgs/development/python-modules/apsw/default.nix12
-rw-r--r--pkgs/development/python-modules/argcomplete/default.nix4
-rw-r--r--pkgs/development/python-modules/arrow/default.nix4
-rw-r--r--pkgs/development/python-modules/astroid/default.nix4
-rw-r--r--pkgs/development/python-modules/astropy-helpers/default.nix4
-rw-r--r--pkgs/development/python-modules/astropy/default.nix4
-rw-r--r--pkgs/development/python-modules/astroquery/conftest-astropy-3-fix.patch54
-rw-r--r--pkgs/development/python-modules/astroquery/default.nix4
-rw-r--r--pkgs/development/python-modules/asyncpg/default.nix4
-rw-r--r--pkgs/development/python-modules/atomman/default.nix33
-rw-r--r--pkgs/development/python-modules/awkward/default.nix4
-rw-r--r--pkgs/development/python-modules/aws-adfs/default.nix4
-rw-r--r--pkgs/development/python-modules/aws-lambda-builders/default.nix4
-rw-r--r--pkgs/development/python-modules/aws-sam-translator/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-cli-core/default.nix93
-rw-r--r--pkgs/development/python-modules/azure-cli-telemetry/default.nix50
-rw-r--r--pkgs/development/python-modules/azure-cosmos/default.nix5
-rw-r--r--pkgs/development/python-modules/azure-cosmosdb-table/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-datalake-store/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-functions-devops-build/default.nix30
-rw-r--r--pkgs/development/python-modules/azure-keyvault/default.nix6
-rw-r--r--pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix6
-rw-r--r--pkgs/development/python-modules/azure-mgmt-batchai/default.nix5
-rw-r--r--pkgs/development/python-modules/azure-mgmt-billing/default.nix28
-rw-r--r--pkgs/development/python-modules/azure-mgmt-botservice/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-consumption/default.nix7
-rw-r--r--pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-datalake-analytics/default.nix8
-rw-r--r--pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix10
-rw-r--r--pkgs/development/python-modules/azure-mgmt-datamigration/default.nix10
-rw-r--r--pkgs/development/python-modules/azure-mgmt-deploymentmanager/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-devtestlabs/default.nix10
-rw-r--r--pkgs/development/python-modules/azure-mgmt-dns/default.nix11
-rw-r--r--pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix9
-rw-r--r--pkgs/development/python-modules/azure-mgmt-keyvault/default.nix9
-rw-r--r--pkgs/development/python-modules/azure-mgmt-kusto/azure-mgmt-apimanagement/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-kusto/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix7
-rw-r--r--pkgs/development/python-modules/azure-mgmt-managedservices/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-maps/default.nix7
-rw-r--r--pkgs/development/python-modules/azure-mgmt-monitor/default.nix8
-rw-r--r--pkgs/development/python-modules/azure-mgmt-msi/default.nix7
-rw-r--r--pkgs/development/python-modules/azure-mgmt-netapp/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-network/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-privatedns/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-relay/default.nix7
-rw-r--r--pkgs/development/python-modules/azure-mgmt-reservations/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-resource/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-security/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-servicefabric/default.nix7
-rw-r--r--pkgs/development/python-modules/azure-mgmt-sql/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix31
-rw-r--r--pkgs/development/python-modules/azure-mgmt-web/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-multiapi-storage/default.nix36
-rw-r--r--pkgs/development/python-modules/babelgladeextractor/default.nix33
-rw-r--r--pkgs/development/python-modules/behave/default.nix5
-rw-r--r--pkgs/development/python-modules/biopython/default.nix4
-rw-r--r--pkgs/development/python-modules/bitarray/default.nix4
-rw-r--r--pkgs/development/python-modules/blist/default.nix10
-rw-r--r--pkgs/development/python-modules/boltons/default.nix4
-rw-r--r--pkgs/development/python-modules/btrees/default.nix4
-rw-r--r--pkgs/development/python-modules/buildbot/default.nix11
-rw-r--r--pkgs/development/python-modules/buildbot/pkg.nix4
-rw-r--r--pkgs/development/python-modules/buildbot/plugins.nix10
-rw-r--r--pkgs/development/python-modules/buildbot/worker.nix4
-rw-r--r--pkgs/development/python-modules/cadquery/default.nix93
-rw-r--r--pkgs/development/python-modules/carbon/default.nix4
-rw-r--r--pkgs/development/python-modules/catalogue/default.nix24
-rw-r--r--pkgs/development/python-modules/cchardet/default.nix4
-rw-r--r--pkgs/development/python-modules/cffi/default.nix4
-rw-r--r--pkgs/development/python-modules/cfn-lint/default.nix4
-rw-r--r--pkgs/development/python-modules/cleo/default.nix4
-rw-r--r--pkgs/development/python-modules/click-default-group/default.nix4
-rw-r--r--pkgs/development/python-modules/cliff/default.nix19
-rw-r--r--pkgs/development/python-modules/cmd2/default.nix4
-rw-r--r--pkgs/development/python-modules/configshell/default.nix4
-rw-r--r--pkgs/development/python-modules/cornice/default.nix4
-rw-r--r--pkgs/development/python-modules/croniter/default.nix37
-rw-r--r--pkgs/development/python-modules/cssmin/default.nix2
-rw-r--r--pkgs/development/python-modules/dateutil/default.nix4
-rw-r--r--pkgs/development/python-modules/decorator/default.nix8
-rw-r--r--pkgs/development/python-modules/deprecated/default.nix4
-rw-r--r--pkgs/development/python-modules/diff_cover/default.nix4
-rw-r--r--pkgs/development/python-modules/distlib/default.nix4
-rw-r--r--pkgs/development/python-modules/django-dynamic-preferences/default.nix4
-rw-r--r--pkgs/development/python-modules/django-multiselectfield/default.nix4
-rw-r--r--pkgs/development/python-modules/django-storages/default.nix4
-rw-r--r--pkgs/development/python-modules/django/2_1.nix4
-rw-r--r--pkgs/development/python-modules/django/2_2.nix4
-rw-r--r--pkgs/development/python-modules/dmenu/default.nix2
-rw-r--r--pkgs/development/python-modules/dotnetcore2/default.nix4
-rw-r--r--pkgs/development/python-modules/emcee/default.nix4
-rw-r--r--pkgs/development/python-modules/eyed3/default.nix6
-rw-r--r--pkgs/development/python-modules/faker/default.nix4
-rw-r--r--pkgs/development/python-modules/fido2/default.nix4
-rw-r--r--pkgs/development/python-modules/fiona/default.nix4
-rw-r--r--pkgs/development/python-modules/flake8-debugger/default.nix4
-rw-r--r--pkgs/development/python-modules/flake8/default.nix4
-rw-r--r--pkgs/development/python-modules/flask-admin/default.nix71
-rw-r--r--pkgs/development/python-modules/flask-appbuilder/default.nix80
-rw-r--r--pkgs/development/python-modules/flask-babelex/default.nix47
-rw-r--r--pkgs/development/python-modules/flask-bcrypt/default.nix35
-rw-r--r--pkgs/development/python-modules/flask-mongoengine/default.nix47
-rw-r--r--pkgs/development/python-modules/flask-openid/default.nix34
-rw-r--r--pkgs/development/python-modules/future/default.nix4
-rw-r--r--pkgs/development/python-modules/geopy/2.nix28
-rw-r--r--pkgs/development/python-modules/geopy/default.nix31
-rw-r--r--pkgs/development/python-modules/google-auth-httplib2/default.nix6
-rw-r--r--pkgs/development/python-modules/google-pasta/default.nix4
-rw-r--r--pkgs/development/python-modules/google_cloud_automl/default.nix4
-rw-r--r--pkgs/development/python-modules/google_cloud_translate/default.nix13
-rw-r--r--pkgs/development/python-modules/gpyopt/default.nix29
-rw-r--r--pkgs/development/python-modules/graph_nets/default.nix4
-rw-r--r--pkgs/development/python-modules/graphite-web/default.nix4
-rw-r--r--pkgs/development/python-modules/gunicorn/default.nix18
-rw-r--r--pkgs/development/python-modules/gym/default.nix4
-rw-r--r--pkgs/development/python-modules/handout/default.nix4
-rw-r--r--pkgs/development/python-modules/hiredis/default.nix4
-rw-r--r--pkgs/development/python-modules/html5-parser/default.nix4
-rw-r--r--pkgs/development/python-modules/hupper/default.nix4
-rw-r--r--pkgs/development/python-modules/hvplot/default.nix2
-rw-r--r--pkgs/development/python-modules/imbalanced-learn/0.4.nix4
-rw-r--r--pkgs/development/python-modules/imbalanced-learn/default.nix3
-rw-r--r--pkgs/development/python-modules/inotify-simple/default.nix4
-rw-r--r--pkgs/development/python-modules/javaproperties/default.nix32
-rw-r--r--pkgs/development/python-modules/jdatetime/default.nix4
-rw-r--r--pkgs/development/python-modules/jenkins-job-builder/default.nix4
-rw-r--r--pkgs/development/python-modules/jenkinsapi/default.nix4
-rw-r--r--pkgs/development/python-modules/json-merge-patch/default.nix32
-rw-r--r--pkgs/development/python-modules/jsonrpc-async/default.nix4
-rw-r--r--pkgs/development/python-modules/jsonrpc-base/default.nix4
-rw-r--r--pkgs/development/python-modules/jsonrpc-websocket/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyterlab/default.nix4
-rw-r--r--pkgs/development/python-modules/kconfiglib/default.nix4
-rw-r--r--pkgs/development/python-modules/keyring/2.nix33
-rw-r--r--pkgs/development/python-modules/klaus/default.nix4
-rw-r--r--pkgs/development/python-modules/kmapper/default.nix2
-rw-r--r--pkgs/development/python-modules/kombu/default.nix4
-rw-r--r--pkgs/development/python-modules/lark-parser/default.nix4
-rw-r--r--pkgs/development/python-modules/lazr/config.nix4
-rw-r--r--pkgs/development/python-modules/lazy-object-proxy/default.nix4
-rw-r--r--pkgs/development/python-modules/ledgerblue/default.nix4
-rw-r--r--pkgs/development/python-modules/libcloud/default.nix4
-rw-r--r--pkgs/development/python-modules/license-expression/default.nix4
-rw-r--r--pkgs/development/python-modules/logilab/common.nix4
-rw-r--r--pkgs/development/python-modules/m2crypto/default.nix4
-rw-r--r--pkgs/development/python-modules/mahotas/default.nix2
-rw-r--r--pkgs/development/python-modules/marshmallow-enum/default.nix42
-rw-r--r--pkgs/development/python-modules/marshmallow/default.nix4
-rw-r--r--pkgs/development/python-modules/matrix-nio/default.nix50
-rw-r--r--pkgs/development/python-modules/mechanize/default.nix4
-rw-r--r--pkgs/development/python-modules/meinheld/default.nix2
-rw-r--r--pkgs/development/python-modules/micawber/default.nix2
-rw-r--r--pkgs/development/python-modules/minio/default.nix4
-rw-r--r--pkgs/development/python-modules/mnist/default.nix36
-rw-r--r--pkgs/development/python-modules/mock/default.nix11
-rw-r--r--pkgs/development/python-modules/moderngl/default.nix4
-rw-r--r--pkgs/development/python-modules/mongoengine/default.nix49
-rw-r--r--pkgs/development/python-modules/monty/default.nix4
-rw-r--r--pkgs/development/python-modules/mpv/default.nix4
-rw-r--r--pkgs/development/python-modules/msrest/default.nix4
-rw-r--r--pkgs/development/python-modules/msrestazure/default.nix4
-rw-r--r--pkgs/development/python-modules/nbsphinx/default.nix4
-rw-r--r--pkgs/development/python-modules/nuitka/default.nix2
-rw-r--r--pkgs/development/python-modules/openpyxl/2.nix38
-rw-r--r--pkgs/development/python-modules/openpyxl/default.nix4
-rw-r--r--pkgs/development/python-modules/opentimestamps/default.nix4
-rw-r--r--pkgs/development/python-modules/owslib/default.nix4
-rw-r--r--pkgs/development/python-modules/pandas/2.nix4
-rw-r--r--pkgs/development/python-modules/papermill/default.nix70
-rw-r--r--pkgs/development/python-modules/papis/default.nix12
-rw-r--r--pkgs/development/python-modules/pdf2image/default.nix4
-rw-r--r--pkgs/development/python-modules/phonenumbers/default.nix4
-rw-r--r--pkgs/development/python-modules/pip-tools/default.nix13
-rw-r--r--pkgs/development/python-modules/pivy/default.nix2
-rw-r--r--pkgs/development/python-modules/poetry/default.nix2
-rw-r--r--pkgs/development/python-modules/pony/default.nix25
-rw-r--r--pkgs/development/python-modules/portalocker/default.nix5
-rw-r--r--pkgs/development/python-modules/prance/default.nix57
-rw-r--r--pkgs/development/python-modules/prison/default.nix33
-rw-r--r--pkgs/development/python-modules/pudb/default.nix4
-rw-r--r--pkgs/development/python-modules/pyGithub/default.nix4
-rw-r--r--pkgs/development/python-modules/pyasn1/default.nix4
-rw-r--r--pkgs/development/python-modules/pyaxmlparser/default.nix4
-rw-r--r--pkgs/development/python-modules/pybind11/default.nix52
-rw-r--r--pkgs/development/python-modules/pybullet/default.nix4
-rw-r--r--pkgs/development/python-modules/pycollada/default.nix4
-rw-r--r--pkgs/development/python-modules/pycryptodome/default.nix4
-rw-r--r--pkgs/development/python-modules/pycryptodomex/default.nix4
-rw-r--r--pkgs/development/python-modules/pydocstyle/2.nix33
-rw-r--r--pkgs/development/python-modules/pydocstyle/default.nix20
-rw-r--r--pkgs/development/python-modules/pydrive/default.nix33
-rw-r--r--pkgs/development/python-modules/pyftgl/default.nix4
-rw-r--r--pkgs/development/python-modules/pyglet/default.nix7
-rw-r--r--pkgs/development/python-modules/pykde4/default.nix46
-rw-r--r--pkgs/development/python-modules/pykde4/dlfcn.patch13
-rw-r--r--pkgs/development/python-modules/pykde4/kdelibs.nix48
-rw-r--r--pkgs/development/python-modules/pylibacl/default.nix4
-rw-r--r--pkgs/development/python-modules/pylint/default.nix4
-rw-r--r--pkgs/development/python-modules/pympler/default.nix4
-rw-r--r--pkgs/development/python-modules/pymupdf/default.nix4
-rw-r--r--pkgs/development/python-modules/pynamodb/default.nix4
-rw-r--r--pkgs/development/python-modules/pynvim/default.nix13
-rw-r--r--pkgs/development/python-modules/pyopengl/default.nix2
-rw-r--r--pkgs/development/python-modules/pysaml2/default.nix4
-rw-r--r--pkgs/development/python-modules/pyscreenshot/default.nix29
-rw-r--r--pkgs/development/python-modules/pyspf/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-qt/default.nix39
-rw-r--r--pkgs/development/python-modules/pytest-repeat/default.nix28
-rw-r--r--pkgs/development/python-modules/pytest-rerunfailures/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-xvfb/default.nix28
-rw-r--r--pkgs/development/python-modules/pytest/default.nix4
-rw-r--r--pkgs/development/python-modules/python-daemon/default.nix27
-rw-r--r--pkgs/development/python-modules/python-engineio/default.nix4
-rw-r--r--pkgs/development/python-modules/python-gitlab/default.nix4
-rw-r--r--pkgs/development/python-modules/python-olm/default.nix29
-rw-r--r--pkgs/development/python-modules/python-periphery/default.nix4
-rw-r--r--pkgs/development/python-modules/python-stdnum/default.nix4
-rw-r--r--pkgs/development/python-modules/pyzmq/default.nix4
-rw-r--r--pkgs/development/python-modules/rasterio/default.nix4
-rw-r--r--pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix4
-rw-r--r--pkgs/development/python-modules/rfc-bibtex/default.nix2
-rw-r--r--pkgs/development/python-modules/rpy2/2.nix108
-rw-r--r--pkgs/development/python-modules/rpy2/default.nix56
-rw-r--r--pkgs/development/python-modules/rpy2/rpy2-3.x-r-libs-site.patch21
-rw-r--r--pkgs/development/python-modules/rtslib/default.nix4
-rw-r--r--pkgs/development/python-modules/runway-python/default.nix4
-rw-r--r--pkgs/development/python-modules/secure/default.nix30
-rw-r--r--pkgs/development/python-modules/send2trash/default.nix11
-rw-r--r--pkgs/development/python-modules/setuptools/default.nix4
-rw-r--r--pkgs/development/python-modules/shodan/default.nix4
-rw-r--r--pkgs/development/python-modules/slicedimage/default.nix5
-rw-r--r--pkgs/development/python-modules/smart_open/default.nix4
-rw-r--r--pkgs/development/python-modules/snakebite/default.nix41
-rw-r--r--pkgs/development/python-modules/spacy/default.nix6
-rw-r--r--pkgs/development/python-modules/spglib/default.nix13
-rw-r--r--pkgs/development/python-modules/sqlalchemy-citext/default.nix31
-rw-r--r--pkgs/development/python-modules/sqlalchemy/default.nix6
-rw-r--r--pkgs/development/python-modules/sshtunnel/default.nix31
-rw-r--r--pkgs/development/python-modules/starfish/default.nix4
-rw-r--r--pkgs/development/python-modules/sunpy/default.nix12
-rw-r--r--pkgs/development/python-modules/tables/3.5.nix4
-rw-r--r--pkgs/development/python-modules/tabulate/default.nix4
-rw-r--r--pkgs/development/python-modules/tasklib/default.nix4
-rw-r--r--pkgs/development/python-modules/tensorflow-tensorboard/default.nix26
-rw-r--r--pkgs/development/python-modules/terminado/default.nix4
-rw-r--r--pkgs/development/python-modules/tesserocr/default.nix34
-rw-r--r--pkgs/development/python-modules/testfixtures/default.nix4
-rw-r--r--pkgs/development/python-modules/textwrap3/default.nix37
-rw-r--r--pkgs/development/python-modules/tiledb/default.nix73
-rw-r--r--pkgs/development/python-modules/tinydb/default.nix39
-rw-r--r--pkgs/development/python-modules/tld/default.nix4
-rw-r--r--pkgs/development/python-modules/tox/default.nix4
-rw-r--r--pkgs/development/python-modules/traits/default.nix4
-rw-r--r--pkgs/development/python-modules/twilio/default.nix4
-rw-r--r--pkgs/development/python-modules/twine/default.nix2
-rw-r--r--pkgs/development/python-modules/uncompyle6/default.nix4
-rw-r--r--pkgs/development/python-modules/uproot/default.nix6
-rw-r--r--pkgs/development/python-modules/urllib3/default.nix4
-rw-r--r--pkgs/development/python-modules/vsts-cd-manager/default.nix28
-rw-r--r--pkgs/development/python-modules/wasabi/default.nix4
-rw-r--r--pkgs/development/python-modules/word2vec/default.nix7
-rw-r--r--pkgs/development/python-modules/wrf-python/default.nix9
-rw-r--r--pkgs/development/python-modules/wtf-peewee/default.nix33
-rw-r--r--pkgs/development/python-modules/wxPython/4.0.nix4
-rw-r--r--pkgs/development/python-modules/xdis/default.nix4
-rw-r--r--pkgs/development/python-modules/xml2rfc/default.nix4
-rw-r--r--pkgs/development/python-modules/xmlschema/default.nix4
-rw-r--r--pkgs/development/python-modules/xxhash/default.nix4
-rw-r--r--pkgs/development/python-modules/yamllint/default.nix4
-rw-r--r--pkgs/development/python-modules/zodbpickle/default.nix4
-rw-r--r--pkgs/development/python-modules/zope_proxy/default.nix4
-rw-r--r--pkgs/development/r-modules/default.nix2
-rw-r--r--pkgs/development/ruby-modules/gem-config/default.nix7
-rw-r--r--pkgs/development/ruby-modules/solargraph/Gemfile.lock16
-rw-r--r--pkgs/development/ruby-modules/solargraph/gemset.nix32
-rw-r--r--pkgs/development/tools/ammonite/default.nix1
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix14
-rwxr-xr-xpkgs/development/tools/analysis/radare2/update.py2
-rw-r--r--pkgs/development/tools/analysis/rr/default.nix1
-rw-r--r--pkgs/development/tools/analysis/tflint/default.nix10
-rw-r--r--pkgs/development/tools/analysis/tfsec/default.nix22
-rw-r--r--pkgs/development/tools/async/default.nix29
-rw-r--r--pkgs/development/tools/aws-sam-cli/default.nix12
-rw-r--r--pkgs/development/tools/build-managers/bazel/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/bazel/src-deps.json16
-rw-r--r--pkgs/development/tools/build-managers/bloop/default.nix8
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/conan/default.nix29
-rw-r--r--pkgs/development/tools/build-managers/kati/default.nix23
-rw-r--r--pkgs/development/tools/build-managers/meson/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/qbs/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/rebar3/default.nix10
-rwxr-xr-xpkgs/development/tools/build-managers/rebar3/rebar3-nix-bootstrap45
-rw-r--r--pkgs/development/tools/build-managers/sbt/default.nix4
-rw-r--r--pkgs/development/tools/buildpack/default.nix26
-rw-r--r--pkgs/development/tools/ccloud-cli/default.nix33
-rw-r--r--pkgs/development/tools/chefdk/default.nix2
-rw-r--r--pkgs/development/tools/clang-tools/default.nix11
-rw-r--r--pkgs/development/tools/clang-tools/wrapper20
-rw-r--r--pkgs/development/tools/clj-kondo/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix8
-rw-r--r--pkgs/development/tools/continuous-integration/gocd-agent/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/gocd-server/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix4
-rwxr-xr-xpkgs/development/tools/continuous-integration/jenkins/update.sh2
-rw-r--r--pkgs/development/tools/cue/default.nix10
-rw-r--r--pkgs/development/tools/documentation/antora/default.nix7
-rw-r--r--pkgs/development/tools/documentation/mkdocs/default.nix15
-rw-r--r--pkgs/development/tools/flyway/default.nix13
-rw-r--r--pkgs/development/tools/gamecube-tools/default.nix15
-rw-r--r--pkgs/development/tools/git-series/default.nix7
-rw-r--r--pkgs/development/tools/gotools/default.nix6
-rw-r--r--pkgs/development/tools/grabserial/default.nix4
-rw-r--r--pkgs/development/tools/irony-server/default.nix14
-rw-r--r--pkgs/development/tools/kubectx/default.nix4
-rw-r--r--pkgs/development/tools/micronaut/default.nix4
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix34
-rw-r--r--pkgs/development/tools/misc/ccls/default.nix4
-rw-r--r--pkgs/development/tools/misc/chrpath/default.nix4
-rw-r--r--pkgs/development/tools/misc/elfkickers/default.nix4
-rw-r--r--pkgs/development/tools/misc/mkcert/default.nix14
-rw-r--r--pkgs/development/tools/misc/texlab/default.nix6
-rw-r--r--pkgs/development/tools/misc/travis/Gemfile3
-rw-r--r--pkgs/development/tools/misc/travis/Gemfile.lock14
-rw-r--r--pkgs/development/tools/misc/travis/gemset.nix51
-rw-r--r--pkgs/development/tools/misc/uncrustify/default.nix8
-rw-r--r--pkgs/development/tools/ocaml/cppo/default.nix2
-rw-r--r--pkgs/development/tools/ofono-phonesim/default.nix21
-rw-r--r--pkgs/development/tools/ofono-phonesim/qt5-compat.patch48
-rw-r--r--pkgs/development/tools/overcommit/Gemfile2
-rw-r--r--pkgs/development/tools/overcommit/Gemfile.lock17
-rw-r--r--pkgs/development/tools/overcommit/default.nix15
-rw-r--r--pkgs/development/tools/overcommit/gemset.nix33
-rw-r--r--pkgs/development/tools/parsing/byacc/default.nix4
-rw-r--r--pkgs/development/tools/purescript/spago/default.nix47
-rw-r--r--pkgs/development/tools/richgo/default.nix15
-rw-r--r--pkgs/development/tools/rucksack/default.nix2
-rw-r--r--pkgs/development/tools/rust/cargo-bloat/default.nix4
-rw-r--r--pkgs/development/tools/rust/cargo-expand/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-fuzz/default.nix28
-rw-r--r--pkgs/development/tools/rust/cargo-generate/default.nix12
-rw-r--r--pkgs/development/tools/rust/cargo-make/Cargo.lock10
-rw-r--r--pkgs/development/tools/rust/cargo-make/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-watch/default.nix6
-rw-r--r--pkgs/development/tools/simavr/default.nix4
-rw-r--r--pkgs/development/tools/wally-cli/default.nix34
-rw-r--r--pkgs/development/tools/wally-cli/deps.nix66
-rw-r--r--pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock-for-0.2.55.patch (renamed from pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock-for-rustPlatform.buildRustPackage-in-.patch)814
-rw-r--r--pkgs/development/tools/wasm-bindgen-cli/default.nix8
-rw-r--r--pkgs/development/tools/yarn/default.nix4
-rw-r--r--pkgs/development/tools/yarn2nix-moretea/fetch-source.nix4
-rw-r--r--pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix7
-rw-r--r--pkgs/development/web/cypress/default.nix4
-rw-r--r--pkgs/development/web/nodejs/disable-libatomic-darwin-12_x.patch11
-rw-r--r--pkgs/development/web/nodejs/disable-libatomic-darwin.patch (renamed from pkgs/development/web/nodejs/disable-libatomic-darwin-13_x.patch)2
-rw-r--r--pkgs/development/web/nodejs/v12.nix6
-rw-r--r--pkgs/development/web/nodejs/v13.nix6
-rw-r--r--pkgs/development/web/postman/default.nix4
-rw-r--r--pkgs/games/0ad/game.nix4
-rw-r--r--pkgs/games/adom/default.nix4
-rw-r--r--pkgs/games/alienarena/default.nix6
-rw-r--r--pkgs/games/armagetronad/default.nix4
-rw-r--r--pkgs/games/arx-libertatis/default.nix4
-rw-r--r--pkgs/games/astromenace/default.nix4
-rw-r--r--pkgs/games/bitsnbots/default.nix4
-rw-r--r--pkgs/games/blackshades/default.nix4
-rw-r--r--pkgs/games/blobby/default.nix4
-rw-r--r--pkgs/games/boohu/default.nix4
-rw-r--r--pkgs/games/boohu/deps.nix8
-rw-r--r--pkgs/games/bzflag/default.nix4
-rw-r--r--pkgs/games/chessx/default.nix25
-rw-r--r--pkgs/games/construo/default.nix11
-rw-r--r--pkgs/games/crack-attack/default.nix4
-rw-r--r--pkgs/games/crawl/default.nix4
-rw-r--r--pkgs/games/crrcsim/default.nix4
-rw-r--r--pkgs/games/dhewm3/default.nix6
-rw-r--r--pkgs/games/dwarf-fortress/dfhack/default.nix4
-rw-r--r--pkgs/games/dxx-rebirth/default.nix4
-rw-r--r--pkgs/games/eduke32/default.nix8
-rw-r--r--pkgs/games/egoboo/default.nix4
-rw-r--r--pkgs/games/endless-sky/default.nix4
-rw-r--r--pkgs/games/endless-sky/fixes.patch9
-rw-r--r--pkgs/games/extremetuxracer/default.nix4
-rw-r--r--pkgs/games/ezquake/default.nix4
-rw-r--r--pkgs/games/flightgear/default.nix4
-rw-r--r--pkgs/games/freeorion/default.nix4
-rw-r--r--pkgs/games/fsg/default.nix4
-rw-r--r--pkgs/games/gcs/default.nix8
-rw-r--r--pkgs/games/gl-117/default.nix4
-rw-r--r--pkgs/games/globulation/default.nix4
-rw-r--r--pkgs/games/gltron/default.nix4
-rw-r--r--pkgs/games/gzdoom/default.nix4
-rw-r--r--pkgs/games/kobodeluxe/default.nix4
-rw-r--r--pkgs/games/lincity/ng.nix4
-rw-r--r--pkgs/games/mars/default.nix4
-rw-r--r--pkgs/games/minetest/default.nix4
-rw-r--r--pkgs/games/naev/default.nix4
-rw-r--r--pkgs/games/newtonwars/default.nix7
-rw-r--r--pkgs/games/nexuiz/default.nix4
-rw-r--r--pkgs/games/openrw/default.nix4
-rw-r--r--pkgs/games/openxcom/default.nix4
-rw-r--r--pkgs/games/openxray/default.nix32
-rw-r--r--pkgs/games/pingus/default.nix4
-rw-r--r--pkgs/games/pioneer/default.nix8
-rw-r--r--pkgs/games/prboom/default.nix7
-rw-r--r--pkgs/games/privateer/default.nix4
-rw-r--r--pkgs/games/quakespasm/vulkan.nix4
-rw-r--r--pkgs/games/residualvm/default.nix6
-rw-r--r--pkgs/games/rigsofrods/default.nix4
-rw-r--r--pkgs/games/scorched3d/default.nix4
-rw-r--r--pkgs/games/scummvm/default.nix4
-rw-r--r--pkgs/games/soi/default.nix4
-rw-r--r--pkgs/games/space-orbit/default.nix4
-rw-r--r--pkgs/games/speed-dreams/default.nix4
-rw-r--r--pkgs/games/spring/default.nix4
-rw-r--r--pkgs/games/stardust/default.nix4
-rw-r--r--pkgs/games/steam/chrootenv.nix6
-rw-r--r--pkgs/games/super-tux-kart/default.nix4
-rw-r--r--pkgs/games/supertux/default.nix4
-rw-r--r--pkgs/games/tdm/default.nix6
-rw-r--r--pkgs/games/tibia/default.nix4
-rw-r--r--pkgs/games/tintin/default.nix4
-rw-r--r--pkgs/games/tome4/default.nix4
-rw-r--r--pkgs/games/trackballs/default.nix4
-rw-r--r--pkgs/games/tremulous/default.nix4
-rw-r--r--pkgs/games/trigger/default.nix4
-rw-r--r--pkgs/games/ufoai/default.nix4
-rw-r--r--pkgs/games/ultimatestunts/default.nix4
-rw-r--r--pkgs/games/ultrastardx/default.nix4
-rw-r--r--pkgs/games/uqm/default.nix4
-rw-r--r--pkgs/games/urbanterror/default.nix6
-rw-r--r--pkgs/games/vdrift/default.nix4
-rw-r--r--pkgs/games/voxelands/default.nix4
-rw-r--r--pkgs/games/worldofgoo/default.nix4
-rw-r--r--pkgs/games/xmoto/default.nix4
-rw-r--r--pkgs/games/xonotic/default.nix4
-rw-r--r--pkgs/games/xpilot/bloodspilot-client.nix4
-rw-r--r--pkgs/games/xpilot/default.nix4
-rw-r--r--pkgs/games/zandronum/default.nix9
-rw-r--r--pkgs/misc/cups/drivers/canon/default.nix88
-rw-r--r--pkgs/misc/cups/filters.nix4
-rw-r--r--pkgs/misc/emulators/atari800/default.nix4
-rw-r--r--pkgs/misc/emulators/attract-mode/default.nix4
-rw-r--r--pkgs/misc/emulators/cdemu/analyzer.nix4
-rw-r--r--pkgs/misc/emulators/cdemu/client.nix4
-rw-r--r--pkgs/misc/emulators/cdemu/daemon.nix4
-rw-r--r--pkgs/misc/emulators/cdemu/gui.nix4
-rw-r--r--pkgs/misc/emulators/cdemu/libmirage.nix4
-rw-r--r--pkgs/misc/emulators/cdemu/vhba.nix4
-rw-r--r--pkgs/misc/emulators/dolphin-emu/default.nix4
-rw-r--r--pkgs/misc/emulators/dolphin-emu/master.nix4
-rw-r--r--pkgs/misc/emulators/dosbox/default.nix4
-rw-r--r--pkgs/misc/emulators/emulationstation/default.nix4
-rw-r--r--pkgs/misc/emulators/epsxe/default.nix4
-rw-r--r--pkgs/misc/emulators/fakenes/default.nix4
-rw-r--r--pkgs/misc/emulators/fs-uae/default.nix8
-rw-r--r--pkgs/misc/emulators/gens-gs/default.nix4
-rw-r--r--pkgs/misc/emulators/higan/default.nix4
-rw-r--r--pkgs/misc/emulators/mednafen/default.nix4
-rw-r--r--pkgs/misc/emulators/nestopia/default.nix4
-rw-r--r--pkgs/misc/emulators/resim/default.nix18
-rw-r--r--pkgs/misc/emulators/retroarch/default.nix16
-rw-r--r--pkgs/misc/emulators/retroarch/wrapper.nix10
-rw-r--r--pkgs/misc/emulators/vbam/default.nix4
-rw-r--r--pkgs/misc/emulators/vice/default.nix4
-rw-r--r--pkgs/misc/emulators/wine/base.nix2
-rw-r--r--pkgs/misc/emulators/wine/staging.nix2
-rw-r--r--pkgs/misc/emulators/wxmupen64plus/default.nix4
-rw-r--r--pkgs/misc/emulators/yabause/default.nix4
-rw-r--r--pkgs/misc/emulators/zsnes/default.nix4
-rw-r--r--pkgs/misc/gnash/default.nix21
-rw-r--r--pkgs/misc/jackaudio/default.nix11
-rw-r--r--pkgs/misc/jackaudio/jack1.nix6
-rw-r--r--pkgs/misc/screensavers/electricsheep/default.nix4
-rw-r--r--pkgs/misc/screensavers/rss-glx/default.nix4
-rw-r--r--pkgs/misc/screensavers/xscreensaver/default.nix4
-rw-r--r--pkgs/misc/tmux-plugins/default.nix15
-rw-r--r--pkgs/misc/uboot/default.nix40
-rw-r--r--pkgs/misc/vim-plugins/build-vim-plugin.nix2
-rw-r--r--pkgs/misc/vim-plugins/generated.nix515
-rw-r--r--pkgs/misc/vim-plugins/overrides.nix7
-rwxr-xr-xpkgs/misc/vim-plugins/update.py120
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names1
-rw-r--r--pkgs/os-specific/darwin/apple-sdk/default.nix4
-rw-r--r--pkgs/os-specific/darwin/binutils/default.nix3
-rw-r--r--pkgs/os-specific/darwin/cctools/apfs.patch22
-rw-r--r--pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch12
-rw-r--r--pkgs/os-specific/darwin/cctools/port.nix16
-rw-r--r--pkgs/os-specific/darwin/libtapi/default.nix11
-rw-r--r--pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix25
-rw-r--r--pkgs/os-specific/linux/alsa-firmware/default.nix4
-rw-r--r--pkgs/os-specific/linux/alsa-plugins/default.nix4
-rw-r--r--pkgs/os-specific/linux/alsa-utils/default.nix4
-rw-r--r--pkgs/os-specific/linux/anbox/default.nix6
-rw-r--r--pkgs/os-specific/linux/anbox/kmod.nix6
-rw-r--r--pkgs/os-specific/linux/ati-drivers/builder.sh4
-rw-r--r--pkgs/os-specific/linux/ati-drivers/default.nix8
-rw-r--r--pkgs/os-specific/linux/beegfs/default.nix167
-rw-r--r--pkgs/os-specific/linux/beegfs/kernel-module.nix46
-rw-r--r--pkgs/os-specific/linux/brillo/default.nix4
-rw-r--r--pkgs/os-specific/linux/displaylink/default.nix2
-rw-r--r--pkgs/os-specific/linux/dpdk/default.nix74
-rw-r--r--pkgs/os-specific/linux/ell/default.nix4
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch66
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/default.nix26
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/fix-paths.patch11
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd/no-which.patch31
-rw-r--r--pkgs/os-specific/linux/hostapd/default.nix2
-rw-r--r--pkgs/os-specific/linux/intel-compute-runtime/default.nix4
-rw-r--r--pkgs/os-specific/linux/iproute/default.nix4
-rw-r--r--pkgs/os-specific/linux/ipset/default.nix4
-rw-r--r--pkgs/os-specific/linux/iwd/default.nix9
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix3
-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.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.3.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.4.nix18
-rw-r--r--pkgs/os-specific/linux/kernel/perf.nix9
-rw-r--r--pkgs/os-specific/linux/keyutils/default.nix6
-rw-r--r--pkgs/os-specific/linux/kmscon/default.nix4
-rw-r--r--pkgs/os-specific/linux/libratbag/default.nix4
-rw-r--r--pkgs/os-specific/linux/mcelog/default.nix4
-rw-r--r--pkgs/os-specific/linux/microcode/intel.nix5
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix26
-rw-r--r--pkgs/os-specific/linux/odp-dpdk/default.nix50
-rw-r--r--pkgs/os-specific/linux/open-iscsi/default.nix8
-rw-r--r--pkgs/os-specific/linux/openrazer/driver.nix2
-rw-r--r--pkgs/os-specific/linux/openvswitch/default.nix32
-rw-r--r--pkgs/os-specific/linux/openvswitch/lts.nix82
-rw-r--r--pkgs/os-specific/linux/openvswitch/patches/lts-ssl.patch274
-rw-r--r--pkgs/os-specific/linux/pam_ccreds/default.nix6
-rw-r--r--pkgs/os-specific/linux/pam_ldap/default.nix4
-rw-r--r--pkgs/os-specific/linux/prl-tools/default.nix2
-rw-r--r--pkgs/os-specific/linux/psmisc/default.nix4
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix6
-rw-r--r--pkgs/os-specific/linux/targetcli/default.nix9
-rw-r--r--pkgs/os-specific/linux/tomb/default.nix4
-rw-r--r--pkgs/os-specific/linux/trace-cmd/kernelshark.nix2
-rw-r--r--pkgs/os-specific/linux/usbguard/default.nix4
-rw-r--r--pkgs/os-specific/linux/wpa_supplicant/default.nix2
-rw-r--r--pkgs/os-specific/linux/wpa_supplicant/gui.nix2
-rw-r--r--pkgs/servers/atlassian/confluence.nix4
-rw-r--r--pkgs/servers/bird/default.nix4
-rw-r--r--pkgs/servers/computing/slurm/default.nix4
-rw-r--r--pkgs/servers/consul/default.nix4
-rw-r--r--pkgs/servers/dns/bind/default.nix4
-rw-r--r--pkgs/servers/dns/nsd/default.nix4
-rw-r--r--pkgs/servers/documize-community/default.nix4
-rw-r--r--pkgs/servers/freeradius/default.nix4
-rw-r--r--pkgs/servers/gortr/default.nix22
-rw-r--r--pkgs/servers/gotify/default.nix6
-rw-r--r--pkgs/servers/gotify/ui.nix4
-rw-r--r--pkgs/servers/gotify/yarndeps.nix16
-rw-r--r--pkgs/servers/http/jetty/default.nix6
-rw-r--r--pkgs/servers/http/nginx/generic.nix16
-rw-r--r--pkgs/servers/irc/charybdis/default.nix2
-rw-r--r--pkgs/servers/jackett/default.nix4
-rw-r--r--pkgs/servers/jellyfin/default.nix4
-rw-r--r--pkgs/servers/mail/postfix/default.nix4
-rw-r--r--pkgs/servers/memcached/default.nix4
-rw-r--r--pkgs/servers/metabase/default.nix4
-rw-r--r--pkgs/servers/misc/subsonic/default.nix4
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix6
-rw-r--r--pkgs/servers/monitoring/loki/default.nix8
-rw-r--r--pkgs/servers/monitoring/prometheus/nginxlog-exporter.nix27
-rw-r--r--pkgs/servers/monitoring/prometheus/nginxlog-exporter_deps.nix282
-rw-r--r--pkgs/servers/monitoring/prometheus/postgres-exporter.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/varnish-exporter.nix4
-rw-r--r--pkgs/servers/mtprotoproxy/default.nix4
-rw-r--r--pkgs/servers/nextcloud/default.nix4
-rw-r--r--pkgs/servers/nginx-sso/default.nix4
-rw-r--r--pkgs/servers/nosql/eventstore/default.nix4
-rw-r--r--pkgs/servers/nosql/redis/default.nix8
-rw-r--r--pkgs/servers/plex/raw.nix4
-rw-r--r--pkgs/servers/pulseaudio/default.nix4
-rw-r--r--pkgs/servers/rainloop/default.nix6
-rw-r--r--pkgs/servers/roundcube/0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch2
-rw-r--r--pkgs/servers/roundcube/default.nix4
-rw-r--r--pkgs/servers/routinator/default.nix6
-rw-r--r--pkgs/servers/samba/3.x.nix99
-rw-r--r--pkgs/servers/samba/4.x.nix4
-rw-r--r--pkgs/servers/sql/mariadb/cmake-libmariadb-includedir.patch21
-rw-r--r--pkgs/servers/sql/mariadb/default.nix64
-rw-r--r--pkgs/servers/sql/mariadb/galera/default.nix2
-rw-r--r--pkgs/servers/sql/mysql/8.0.x.nix5
-rw-r--r--pkgs/servers/sql/postgresql/default.nix20
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/pg_hll.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgroonga.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgtap.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/timescaledb.nix4
-rw-r--r--pkgs/servers/squid/default.nix4
-rw-r--r--pkgs/servers/unifi/default.nix4
-rw-r--r--pkgs/servers/web-apps/codimd/default.nix14
-rw-r--r--pkgs/servers/web-apps/matomo/default.nix23
-rw-r--r--pkgs/servers/web-apps/moodle/default.nix4
-rw-r--r--pkgs/servers/x11/xorg/default.nix8
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix14
-rw-r--r--pkgs/servers/x11/xorg/tarballs.list2
-rw-r--r--pkgs/servers/x11/xorg/xwayland.nix4
-rw-r--r--pkgs/servers/zoneminder/default.nix6
-rw-r--r--pkgs/shells/nushell/default.nix12
-rw-r--r--pkgs/shells/powershell/default.nix2
-rw-r--r--pkgs/shells/zsh/oh-my-zsh/default.nix6
-rwxr-xr-xpkgs/shells/zsh/oh-my-zsh/update.sh2
-rw-r--r--pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix30
-rw-r--r--pkgs/tools/X11/ckbcomp/default.nix4
-rw-r--r--pkgs/tools/X11/dragon-drop/default.nix7
-rw-r--r--pkgs/tools/X11/xidlehook/default.nix10
-rw-r--r--pkgs/tools/X11/xzoom/default.nix8
-rw-r--r--pkgs/tools/admin/aws-google-auth/default.nix4
-rw-r--r--pkgs/tools/admin/azure-cli/default.nix248
-rw-r--r--pkgs/tools/admin/azure-cli/python-packages.nix250
-rw-r--r--pkgs/tools/admin/eksctl/default.nix6
-rw-r--r--pkgs/tools/admin/elasticsearch-curator/default.nix (renamed from pkgs/development/python-modules/elasticsearch-curator/default.nix)54
-rw-r--r--pkgs/tools/admin/fbvnc/default.nix30
-rw-r--r--pkgs/tools/admin/tigervnc/default.nix8
-rw-r--r--pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15678.patch18
-rw-r--r--pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15679.patch19
-rw-r--r--pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15680.patch16
-rw-r--r--pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-8287.patch14
-rw-r--r--pkgs/tools/admin/tightvnc/default.nix7
-rw-r--r--pkgs/tools/archivers/innoextract/default.nix4
-rw-r--r--pkgs/tools/archivers/unrar/default.nix4
-rw-r--r--pkgs/tools/audio/abcm2ps/default.nix4
-rw-r--r--pkgs/tools/audio/acoustid-fingerprinter/default.nix2
-rw-r--r--pkgs/tools/audio/beets/default.nix18
-rw-r--r--pkgs/tools/audio/essentia-extractor/default.nix41
-rw-r--r--pkgs/tools/backup/btrbk/default.nix8
-rw-r--r--pkgs/tools/backup/duplicity/default.nix2
-rw-r--r--pkgs/tools/backup/lvmsync/default.nix2
-rw-r--r--pkgs/tools/compression/gzrt/default.nix6
-rw-r--r--pkgs/tools/compression/lz4/default.nix17
-rw-r--r--pkgs/tools/compression/zstd/default.nix30
-rw-r--r--pkgs/tools/compression/zstd/mcfgthreads-no-pthread.patch13
-rw-r--r--pkgs/tools/filesystems/cryfs/default.nix82
-rw-r--r--pkgs/tools/filesystems/cryfs/skip-failing-test-large-malloc.patch34
-rw-r--r--pkgs/tools/filesystems/cryfs/test-no-network.patch24
-rw-r--r--pkgs/tools/filesystems/dislocker/default.nix21
-rw-r--r--pkgs/tools/filesystems/duff/default.nix2
-rw-r--r--pkgs/tools/filesystems/fuse-overlayfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/fusesmb/default.nix28
-rw-r--r--pkgs/tools/filesystems/gitfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/grive2/default.nix4
-rw-r--r--pkgs/tools/filesystems/moosefs/default.nix4
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/default.nix1
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix1
-rw-r--r--pkgs/tools/filesystems/nixpart/default.nix1
-rw-r--r--pkgs/tools/filesystems/squashfs-tools-ng/0001-Fix-build-on-BSD-systems.patch103
-rw-r--r--pkgs/tools/filesystems/squashfs-tools-ng/default.nix26
-rw-r--r--pkgs/tools/graphics/asymptote/default.nix98
-rw-r--r--pkgs/tools/graphics/dcraw/default.nix11
-rw-r--r--pkgs/tools/graphics/enblend-enfuse/default.nix4
-rw-r--r--pkgs/tools/graphics/facedetect/default.nix4
-rw-r--r--pkgs/tools/graphics/glee/default.nix4
-rw-r--r--pkgs/tools/graphics/logstalgia/default.nix4
-rw-r--r--pkgs/tools/graphics/luxcorerender/default.nix6
-rw-r--r--pkgs/tools/graphics/nifskope/default.nix7
-rw-r--r--pkgs/tools/graphics/pfstools/default.nix4
-rw-r--r--pkgs/tools/graphics/wallutils/default.nix4
-rw-r--r--pkgs/tools/graphics/wallutils/lscollection-Add-NixOS-paths-to-DefaultWallpaperDirectories.patch29
-rw-r--r--pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix4
-rw-r--r--pkgs/tools/inputmethods/ibus/wrapper.nix2
-rw-r--r--pkgs/tools/inputmethods/touchegg/default.nix4
-rw-r--r--pkgs/tools/misc/bandwidth/default.nix4
-rw-r--r--pkgs/tools/misc/bdf2psf/default.nix4
-rw-r--r--pkgs/tools/misc/bibutils/default.nix4
-rw-r--r--pkgs/tools/misc/broot/default.nix6
-rw-r--r--pkgs/tools/misc/calamares/default.nix4
-rw-r--r--pkgs/tools/misc/diffoscope/default.nix4
-rw-r--r--pkgs/tools/misc/geekbench/default.nix4
-rw-r--r--pkgs/tools/misc/html-proofer/Gemfile.lock10
-rw-r--r--pkgs/tools/misc/html-proofer/gemset.nix16
-rw-r--r--pkgs/tools/misc/hyperfine/default.nix8
-rw-r--r--pkgs/tools/misc/kisslicer/default.nix6
-rw-r--r--pkgs/tools/misc/memtest86-efi/default.nix4
-rw-r--r--pkgs/tools/misc/mongodb-compass/default.nix5
-rw-r--r--pkgs/tools/misc/ocz-ssd-guru/default.nix4
-rw-r--r--pkgs/tools/misc/onefetch/default.nix26
-rw-r--r--pkgs/tools/misc/paps/default.nix12
-rw-r--r--pkgs/tools/misc/parallel/default.nix4
-rw-r--r--pkgs/tools/misc/pipelight/default.nix4
-rw-r--r--pkgs/tools/misc/plantuml/default.nix4
-rw-r--r--pkgs/tools/misc/screenfetch/default.nix4
-rw-r--r--pkgs/tools/misc/slop/default.nix4
-rw-r--r--pkgs/tools/misc/starship/default.nix6
-rw-r--r--pkgs/tools/misc/tensorman/default.nix24
-rw-r--r--pkgs/tools/misc/termtosvg/default.nix4
-rw-r--r--pkgs/tools/misc/tmate/default.nix4
-rw-r--r--pkgs/tools/misc/tmux/default.nix32
-rw-r--r--pkgs/tools/misc/tmuxp/default.nix4
-rw-r--r--pkgs/tools/misc/topgrade/default.nix23
-rw-r--r--pkgs/tools/misc/vector/default.nix25
-rw-r--r--pkgs/tools/misc/wagyu/default.nix23
-rw-r--r--pkgs/tools/misc/wakatime/default.nix4
-rw-r--r--pkgs/tools/misc/watchexec/default.nix15
-rw-r--r--pkgs/tools/misc/wob/default.nix4
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix4
-rw-r--r--pkgs/tools/networking/croc/default.nix6
-rw-r--r--pkgs/tools/networking/dhcpcd/default.nix4
-rw-r--r--pkgs/tools/networking/dnsproxy/default.nix23
-rw-r--r--pkgs/tools/networking/ferm/default.nix4
-rw-r--r--pkgs/tools/networking/gmrender-resurrect/default.nix76
-rw-r--r--pkgs/tools/networking/gnirehtet/default.nix8
-rw-r--r--pkgs/tools/networking/haproxy/default.nix4
-rw-r--r--pkgs/tools/networking/http-prompt/default.nix9
-rw-r--r--pkgs/tools/networking/iperf/3.nix2
-rw-r--r--pkgs/tools/networking/mitmproxy/default.nix4
-rw-r--r--pkgs/tools/networking/mmsd/default.nix38
-rw-r--r--pkgs/tools/networking/mtr/default.nix10
-rw-r--r--pkgs/tools/networking/nebula/default.nix43
-rw-r--r--pkgs/tools/networking/network-manager/default.nix11
-rw-r--r--pkgs/tools/networking/ofono/default.nix4
-rw-r--r--pkgs/tools/networking/openapi-generator-cli/default.nix4
-rw-r--r--pkgs/tools/networking/stunnel/default.nix4
-rw-r--r--pkgs/tools/networking/surfraw/default.nix4
-rw-r--r--pkgs/tools/networking/tinyfecvpn/default.nix37
-rw-r--r--pkgs/tools/networking/tridactyl-native/default.nix4
-rw-r--r--pkgs/tools/networking/uget/default.nix4
-rw-r--r--pkgs/tools/networking/unbound/default.nix4
-rw-r--r--pkgs/tools/networking/whois/default.nix4
-rw-r--r--pkgs/tools/networking/wifite2/default.nix40
-rw-r--r--pkgs/tools/networking/wireguard-tools/default.nix7
-rw-r--r--pkgs/tools/networking/yggdrasil/default.nix4
-rw-r--r--pkgs/tools/networking/ytcc/default.nix4
-rw-r--r--pkgs/tools/package-management/apt/default.nix37
-rw-r--r--pkgs/tools/package-management/home-manager/default.nix6
-rw-r--r--pkgs/tools/package-management/nfpm/default.nix6
-rw-r--r--pkgs/tools/package-management/nix-review/default.nix4
-rw-r--r--pkgs/tools/package-management/nix-serve/default.nix2
-rw-r--r--pkgs/tools/package-management/protontricks/default.nix4
-rw-r--r--pkgs/tools/package-management/reuse/default.nix4
-rw-r--r--pkgs/tools/security/afl/libdislocator.nix2
-rw-r--r--pkgs/tools/security/clamav/default.nix4
-rw-r--r--pkgs/tools/security/efitools/default.nix1
-rw-r--r--pkgs/tools/security/enpass/default.nix4
-rw-r--r--pkgs/tools/security/fprintd/default.nix14
-rw-r--r--pkgs/tools/security/gnome-keysign/default.nix23
-rw-r--r--pkgs/tools/security/gnupg/22.nix4
-rw-r--r--pkgs/tools/security/haka/default.nix2
-rw-r--r--pkgs/tools/security/ipscan/default.nix40
-rw-r--r--pkgs/tools/security/john/default.nix3
-rw-r--r--pkgs/tools/security/keybase/default.nix7
-rw-r--r--pkgs/tools/security/keybase/gui.nix10
-rw-r--r--pkgs/tools/security/ossec/default.nix4
-rw-r--r--pkgs/tools/security/pbis/default.nix70
-rw-r--r--pkgs/tools/security/pcsclite/default.nix6
-rw-r--r--pkgs/tools/security/sequoia/default.nix8
-rw-r--r--pkgs/tools/security/sops/default.nix8
-rw-r--r--pkgs/tools/security/vault/default.nix4
-rw-r--r--pkgs/tools/security/vault/vault-bin.nix14
-rw-r--r--pkgs/tools/security/vulnix/default.nix4
-rw-r--r--pkgs/tools/system/facter/default.nix4
-rw-r--r--pkgs/tools/system/fakeroot/default.nix2
-rw-r--r--pkgs/tools/system/fio/default.nix2
-rw-r--r--pkgs/tools/system/hardinfo/default.nix2
-rw-r--r--pkgs/tools/system/inxi/default.nix4
-rw-r--r--pkgs/tools/system/java-service-wrapper/default.nix41
-rw-r--r--pkgs/tools/system/logcheck/default.nix2
-rw-r--r--pkgs/tools/system/osquery/default.nix149
-rw-r--r--pkgs/tools/system/proot/default.nix2
-rw-r--r--pkgs/tools/system/rsyslog/default.nix4
-rw-r--r--pkgs/tools/system/stress-ng/default.nix4
-rw-r--r--pkgs/tools/text/ansifilter/default.nix15
-rw-r--r--pkgs/tools/text/boxes/default.nix47
-rw-r--r--pkgs/tools/text/fanficfare/default.nix4
-rw-r--r--pkgs/tools/text/grip-search/default.nix31
-rw-r--r--pkgs/tools/text/highlight/default.nix4
-rw-r--r--pkgs/tools/text/kdiff3/default.nix4
-rw-r--r--pkgs/tools/text/mdbook/default.nix6
-rw-r--r--pkgs/tools/text/papertrail/default.nix2
-rw-r--r--pkgs/tools/text/par/default.nix3
-rw-r--r--pkgs/tools/text/smu/default.nix26
-rw-r--r--pkgs/tools/typesetting/tex/auctex/default.nix4
-rw-r--r--pkgs/tools/typesetting/tex/pplatex/default.nix32
-rw-r--r--pkgs/tools/virtualization/amazon-ecs-cli/default.nix4
-rw-r--r--pkgs/tools/virtualization/cri-tools/default.nix6
-rw-r--r--pkgs/tools/virtualization/ec2-utils/default.nix4
-rw-r--r--pkgs/top-level/aliases.nix17
-rw-r--r--pkgs/top-level/all-packages.nix535
-rw-r--r--pkgs/top-level/lua-packages.nix2
-rw-r--r--pkgs/top-level/ocaml-packages.nix10
-rw-r--r--pkgs/top-level/perl-packages.nix479
-rw-r--r--pkgs/top-level/python-packages.nix155
1940 files changed, 24911 insertions, 62645 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 238ba161b58f..d1086658a077 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -47,6 +47,9 @@
 /nixos/doc/manual/man-nixos-option.xml                @nbp
 /nixos/modules/installer/tools/nixos-option.sh        @nbp
 
+# NixOS integration test driver
+/nixos/lib/test-driver  @tfc
+
 # New NixOS modules
 /nixos/modules/module-list.nix @Infinisil
 
@@ -167,3 +170,8 @@
 /nixos/modules/services/monitoring/prometheus/exporters.nix  @WilliButz
 /nixos/modules/services/monitoring/prometheus/exporters.xml  @WilliButz
 /nixos/tests/prometheus-exporters.nix                        @WilliButz
+
+# PHP
+/pkgs/development/interpreters/php  @etu
+/pkgs/top-level/php-packages.nix    @etu
+/pkgs/build-support/build-pecl.nix  @etu
diff --git a/.github/stale.yml b/.github/stale.yml
new file mode 100644
index 000000000000..bf47ba3c25b4
--- /dev/null
+++ b/.github/stale.yml
@@ -0,0 +1,32 @@
+# Number of days of inactivity before an issue becomes stale
+daysUntilStale: 180
+# Number of days of inactivity before a stale issue is closed
+daysUntilClose: false
+# Issues with these labels will never be considered stale
+exemptLabels:
+  - 1.severity: security
+# Label to use when marking an issue as stale
+staleLabel: 2.status: stale
+# Comment to post when marking an issue as stale. Set to `false` to disable
+markComment: >
+  Thank you for your contributions.
+
+  This has been automatically marked as stale because it has had no
+  activity for 180 days.
+
+  If this is still important to you, we ask that you leave a
+  comment below. Your comment can be as simple as "still important
+  to me". This lets people see that at least one person still cares
+  about this. Someone will have to do this at most twice a year if
+  there is no other activity.
+
+  Here are suggestions that might help resolve this more quickly:
+
+  1. Search for maintainers and people that previously touched the
+     related code and @ mention them in a comment.
+  2. Ask on the [NixOS Discourse](https://discourse.nixos.org/).
+  3. Ask on the [#nixos channel](irc://irc.freenode.net/#nixos) on
+     [irc.freenode.net](https://freenode.net).
+
+# Comment to post when closing a stale issue. Set to `false` to disable
+closeComment: false
diff --git a/doc/contributing/submitting-changes.xml b/doc/contributing/submitting-changes.xml
index 6a8b4e0b249e..950e1ea974a0 100644
--- a/doc/contributing/submitting-changes.xml
+++ b/doc/contributing/submitting-changes.xml
@@ -441,7 +441,7 @@ Additional information.
    <itemizedlist>
     <listitem>
      <para>
-      If you're cherry-picking a commit to a stable release branch, always use <command>git cherry-pick -xe</command> and ensure the message contains a clear description about why this needs to be included in the stable branch.
+      If you're cherry-picking a commit to a stable release branch (“backporting”), always use <command>git cherry-pick -xe</command> and ensure the message contains a clear description about why this needs to be included in the stable branch.
      </para>
      <para>
       An example of a cherry-picked commit would look like this:
diff --git a/doc/languages-frameworks/beam.xml b/doc/languages-frameworks/beam.xml
index 74c595cc89b4..278535237c2c 100644
--- a/doc/languages-frameworks/beam.xml
+++ b/doc/languages-frameworks/beam.xml
@@ -26,7 +26,7 @@
    </listitem>
    <listitem>
     <para>
-     <literal>packages</literal>: a set of package sets, each compiled with a specific Erlang/OTP version, e.g. <literal>beam.packages.erlangR19</literal>.
+     <literal>packages</literal>: a set of package builders (Mix and rebar3), each compiled with a specific Erlang/OTP version, e.g. <literal>beam.packages.erlangR19</literal>.
     </para>
    </listitem>
   </itemizedlist>
@@ -36,15 +36,11 @@
   </para>
 
   <para>
-   To create a package set built with a custom Erlang version, use the lambda, <literal>beam.packagesWith</literal>, which accepts an Erlang/OTP derivation and produces a package set similar to <literal>beam.packages.erlang</literal>.
+   To create a package builder built with a custom Erlang version, use the lambda, <literal>beam.packagesWith</literal>, which accepts an Erlang/OTP derivation and produces a package builder similar to <literal>beam.packages.erlang</literal>.
   </para>
 
   <para>
-   Many Erlang/OTP distributions available in <literal>beam.interpreters</literal> have versions with ODBC and/or Java enabled. For example, there's <literal>beam.interpreters.erlangR19_odbc_javac</literal>, which corresponds to <literal>beam.interpreters.erlangR19</literal>.
-  </para>
-
-  <para xml:id="erlang-call-package">
-   We also provide the lambda, <literal>beam.packages.erlang.callPackage</literal>, which simplifies writing BEAM package definitions by injecting all packages from <literal>beam.packages.erlang</literal> into the top-level context.
+   Many Erlang/OTP distributions available in <literal>beam.interpreters</literal> have versions with ODBC and/or Java enabled or without wx (no observer support). For example, there's <literal>beam.interpreters.erlangR22_odbc_javac</literal>, which corresponds to <literal>beam.interpreters.erlangR22</literal> and <literal>beam.interpreters.erlangR22_nox</literal>, which corresponds to <literal>beam.interpreters.erlangR22</literal>.
   </para>
  </section>
 
@@ -55,7 +51,7 @@
    <title>Rebar3</title>
 
    <para>
-    We provide a version of Rebar3, which is the normal, unmodified Rebar3, under <literal>rebar3</literal>. We also provide a helper to fetch Rebar3 dependencies from a lockfile under <literal>fetchRebar3Deps</literal>.
+    We provide a version of Rebar3, under <literal>rebar3</literal>. We also provide a helper to fetch Rebar3 dependencies from a lockfile under <literal>fetchRebar3Deps</literal>.
    </para>
   </section>
 
@@ -72,32 +68,14 @@
   <title>How to Install BEAM Packages</title>
 
   <para>
-   BEAM packages are not registered at the top level, simply because they are not relevant to the vast majority of Nix users. They are installable using the <literal>beam.packages.erlang</literal> attribute set (aliased as <literal>beamPackages</literal>), which points to packages built by the default Erlang/OTP version in Nixpkgs, as defined by <literal>beam.interpreters.erlang</literal>. To list the available packages in <literal>beamPackages</literal>, use the following command:
-  </para>
-
-<screen>
-<prompt>$ </prompt>nix-env -f &quot;&lt;nixpkgs&gt;&quot; -qaP -A beamPackages
-beamPackages.esqlite    esqlite-0.2.1
-beamPackages.goldrush   goldrush-0.1.7
-beamPackages.ibrowse    ibrowse-4.2.2
-beamPackages.jiffy      jiffy-0.14.5
-beamPackages.lager      lager-3.0.2
-beamPackages.meck       meck-0.8.3
-beamPackages.rebar3-pc  pc-1.1.0
-</screen>
-
-  <para>
-   To install any of those packages into your profile, refer to them by their attribute path (first column):
+   BEAM builders are not registered at the top level, simply because they are not relevant to the vast majority of Nix users. 
+   To install any of those builders into your profile, refer to them by their attribute path <literal>beamPackages.rebar3</literal>:
   </para>
 
-<screen>
-<prompt>$ </prompt>nix-env -f &quot;&lt;nixpkgs&gt;&quot; -iA beamPackages.ibrowse
-</screen>
-
-  <para>
-   The attribute path of any BEAM package corresponds to the name of that particular package in <link xlink:href="https://hex.pm">Hex</link> or its OTP Application/Release name.
-  </para>
- </section>
+  <screen>
+  <prompt>$ </prompt>nix-env -f &quot;&lt;nixpkgs&gt;&quot; -iA beamPackages.rebar3
+  </screen>
+</section>
 
  <section xml:id="packaging-beam-applications">
   <title>Packaging BEAM Applications</title>
@@ -109,35 +87,7 @@ beamPackages.rebar3-pc  pc-1.1.0
     <title>Rebar3 Packages</title>
 
     <para>
-     The Nix function, <literal>buildRebar3</literal>, defined in <literal>beam.packages.erlang.buildRebar3</literal> and aliased at the top level, can be used to build a derivation that understands how to build a Rebar3 project. For example, we can build <link
-        xlink:href="https://github.com/erlang-nix/hex2nix">hex2nix</link> as follows:
-    </para>
-
-<programlisting>
-{ stdenv, fetchFromGitHub, buildRebar3, ibrowse, jsx, erlware_commons }:
-
-buildRebar3 rec {
-  name = "hex2nix";
-  version = "0.0.1";
-
-  src = fetchFromGitHub {
-    owner = "ericbmerritt";
-    repo = "hex2nix";
-    rev = "${version}";
-    sha256 = "1w7xjidz1l5yjmhlplfx7kphmnpvqm67w99hd2m7kdixwdxq0zqg";
-  };
-
-  beamDeps = [ ibrowse jsx erlware_commons ];
-}
-</programlisting>
-
-    <para>
-     Such derivations are callable with <literal>beam.packages.erlang.callPackage</literal> (see <xref
-        linkend="erlang-call-package"/>). To call this package using the normal <literal>callPackage</literal>, refer to dependency packages via <literal>beamPackages</literal>, e.g. <literal>beamPackages.ibrowse</literal>.
-    </para>
-
-    <para>
-     Notably, <literal>buildRebar3</literal> includes <literal>beamDeps</literal>, while <literal>stdenv.mkDerivation</literal> does not. BEAM dependencies added there will be correctly handled by the system.
+     The Nix function, <literal>buildRebar3</literal>, defined in <literal>beam.packages.erlang.buildRebar3</literal> and aliased at the top level, can be used to build a derivation that understands how to build a Rebar3 project.
     </para>
 
     <para>
@@ -152,30 +102,6 @@ buildRebar3 rec {
      Erlang.mk functions similarly to Rebar3, except we use <literal>buildErlangMk</literal> instead of <literal>buildRebar3</literal>.
     </para>
 
-<programlisting>
-{ buildErlangMk, fetchHex, cowlib, ranch }:
-
-buildErlangMk {
-  name = "cowboy";
-  version = "1.0.4";
-
-  src = fetchHex {
-    pkg = "cowboy";
-    version = "1.0.4";
-    sha256 = "6a0edee96885fae3a8dd0ac1f333538a42e807db638a9453064ccfdaa6b9fdac";
-  };
-
-  beamDeps = [ cowlib ranch ];
-
-  meta = {
-    description = ''
-      Small, fast, modular HTTP server written in Erlang
-    '';
-    license = stdenv.lib.licenses.isc;
-    homepage = https://github.com/ninenines/cowboy;
-  };
-}
-</programlisting>
    </section>
 
    <section xml:id="mix-packages">
@@ -185,57 +111,9 @@ buildErlangMk {
      Mix functions similarly to Rebar3, except we use <literal>buildMix</literal> instead of <literal>buildRebar3</literal>.
     </para>
 
-<programlisting>
-{ buildMix, fetchHex, plug, absinthe }:
-
-buildMix {
-  name = "absinthe_plug";
-  version = "1.0.0";
-
-  src = fetchHex {
-    pkg = "absinthe_plug";
-    version = "1.0.0";
-    sha256 = "08459823fe1fd4f0325a8bf0c937a4520583a5a26d73b193040ab30a1dfc0b33";
-  };
-
-  beamDeps = [ plug absinthe ];
-
-  meta = {
-    description = ''
-      A plug for Absinthe, an experimental GraphQL toolkit
-    '';
-    license = stdenv.lib.licenses.bsd3;
-    homepage = https://github.com/CargoSense/absinthe_plug;
-  };
-}
-</programlisting>
-
     <para>
      Alternatively, we can use <literal>buildHex</literal> as a shortcut:
     </para>
-
-<programlisting>
-{ buildHex, buildMix, plug, absinthe }:
-
-buildHex {
-  name = "absinthe_plug";
-  version = "1.0.0";
-
-  sha256 = "08459823fe1fd4f0325a8bf0c937a4520583a5a26d73b193040ab30a1dfc0b33";
-
-  builder = buildMix;
-
-  beamDeps = [ plug absinthe ];
-
-  meta = {
-    description = ''
-      A plug for Absinthe, an experimental GraphQL toolkit
-    '';
-    license = stdenv.lib.licenses.bsd3;
-    homepage = https://github.com/CargoSense/absinthe_plug;
- };
-}
-</programlisting>
    </section>
   </section>
  </section>
@@ -243,66 +121,13 @@ buildHex {
  <section xml:id="how-to-develop">
   <title>How to Develop</title>
 
-  <section xml:id="accessing-an-environment">
-   <title>Accessing an Environment</title>
-
-   <para>
-    Often, we simply want to access a valid environment that contains a specific package and its dependencies. We can accomplish that with the <literal>env</literal> attribute of a derivation. For example, let's say we want to access an Erlang REPL with <literal>ibrowse</literal> loaded up. We could do the following:
-   </para>
-
-<screen>
-<prompt>$ </prompt><userinput>nix-shell -A beamPackages.ibrowse.env --run "erl"</userinput>
-<computeroutput>Erlang/OTP 18 [erts-7.0] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]
-
-Eshell V7.0  (abort with ^G)</computeroutput>
-<prompt>1> </prompt><userinput>m(ibrowse).</userinput>
-<computeroutput>Module: ibrowse
-MD5: 3b3e0137d0cbb28070146978a3392945
-Compiled: January 10 2016, 23:34
-Object file: /nix/store/g1rlf65rdgjs4abbyj4grp37ry7ywivj-ibrowse-4.2.2/lib/erlang/lib/ibrowse-4.2.2/ebin/ibrowse.beam
-Compiler options:  [{outdir,"/tmp/nix-build-ibrowse-4.2.2.drv-0/hex-source-ibrowse-4.2.2/_build/default/lib/ibrowse/ebin"},
-debug_info,debug_info,nowarn_shadow_vars,
-warn_unused_import,warn_unused_vars,warnings_as_errors,
-{i,"/tmp/nix-build-ibrowse-4.2.2.drv-0/hex-source-ibrowse-4.2.2/_build/default/lib/ibrowse/include"}]
-Exports:
-add_config/1                  send_req_direct/7
-all_trace_off/0               set_dest/3
-code_change/3                 set_max_attempts/3
-get_config_value/1            set_max_pipeline_size/3
-get_config_value/2            set_max_sessions/3
-get_metrics/0                 show_dest_status/0
-get_metrics/2                 show_dest_status/1
-handle_call/3                 show_dest_status/2
-handle_cast/2                 spawn_link_worker_process/1
-handle_info/2                 spawn_link_worker_process/2
-init/1                        spawn_worker_process/1
-module_info/0                 spawn_worker_process/2
-module_info/1                 start/0
-rescan_config/0               start_link/0
-rescan_config/1               stop/0
-send_req/3                    stop_worker_process/1
-send_req/4                    stream_close/1
-send_req/5                    stream_next/1
-send_req/6                    terminate/2
-send_req_direct/4             trace_off/0
-send_req_direct/5             trace_off/2
-send_req_direct/6             trace_on/0
-trace_on/2
-ok</computeroutput>
-<prompt>2></prompt>
-</screen>
-
-   <para>
-    Notice the <literal>-A beamPackages.ibrowse.env</literal>. That is the key to this functionality.
-   </para>
-  </section>
-
   <section xml:id="creating-a-shell">
    <title>Creating a Shell</title>
 
-   <para>
-    Getting access to an environment often isn't enough to do real development. Usually, we need to create a <literal>shell.nix</literal> file and do our development inside of the environment specified therein. This file looks a lot like the packaging described above, except that <literal>src</literal> points to the project root and we call the package directly.
-   </para>
+  <para>
+    Usually, we need to create a <literal>shell.nix</literal> file and do our development inside of the environment specified therein. Just install your version of erlang and other interpreter, and then user your normal build tools.
+    As an example with elixir:
+  </para>
 
 <programlisting>
 { pkgs ? import &quot;&lt;nixpkgs&quot;&gt; {} }:
@@ -311,114 +136,24 @@ with pkgs;
 
 let
 
-  f = { buildRebar3, ibrowse, jsx, erlware_commons }:
-      buildRebar3 {
-        name = "hex2nix";
-        version = "0.1.0";
-        src = ./.;
-        beamDeps = [ ibrowse jsx erlware_commons ];
-      };
-  drv = beamPackages.callPackage f {};
+  elixir = beam.packages.erlangR22.elixir_1_9;
 
 in
+mkShell {
+  buildInputs = [ elixir ];
 
-  drv
+  ERL_INCLUDE_PATH="${erlang}/lib/erlang/usr/include";
+}
 </programlisting>
 
    <section xml:id="building-in-a-shell">
     <title>Building in a Shell (for Mix Projects)</title>
 
     <para>
-     We can leverage the support of the derivation, irrespective of the build derivation, by calling the commands themselves.
-    </para>
-
-<programlisting>
-# =============================================================================
-# Variables
-# =============================================================================
-
-NIX_TEMPLATES := "$(CURDIR)/nix-templates"
-
-TARGET := "$(PREFIX)"
-
-PROJECT_NAME := thorndyke
-
-NIXPKGS=../nixpkgs
-NIX_PATH=nixpkgs=$(NIXPKGS)
-NIX_SHELL=nix-shell -I "$(NIX_PATH)" --pure
-# =============================================================================
-# Rules
-# =============================================================================
-.PHONY= all test clean repl shell build test analyze configure install \
-        test-nix-install publish plt analyze
-
-all: build
-
-guard-%:
-        @ if [ "${${*}}" == "" ]; then \
-                echo "Environment variable $* not set"; \
-                exit 1; \
-        fi
-
-clean:
-        rm -rf _build
-        rm -rf .cache
-
-repl:
-        $(NIX_SHELL) --run "iex -pa './_build/prod/lib/*/ebin'"
-
-shell:
-        $(NIX_SHELL)
-
-configure:
-        $(NIX_SHELL) --command 'eval "$$configurePhase"'
-
-build: configure
-        $(NIX_SHELL) --command 'eval "$$buildPhase"'
-
-install:
-        $(NIX_SHELL) --command 'eval "$$installPhase"'
-
-test:
-        $(NIX_SHELL) --command 'mix test --no-start --no-deps-check'
-
-plt:
-        $(NIX_SHELL) --run "mix dialyzer.plt --no-deps-check"
-
-analyze: build plt
-        $(NIX_SHELL) --run "mix dialyzer --no-compile"
-
-</programlisting>
-
-    <para>
      Using a <literal>shell.nix</literal> as described (see <xref
-      linkend="creating-a-shell"/>) should just work. Aside from <literal>test</literal>, <literal>plt</literal>, and <literal>analyze</literal>, the Make targets work just fine for all of the build derivations.
+      linkend="creating-a-shell"/>) should just work.
     </para>
    </section>
   </section>
  </section>
-
- <section xml:id="generating-packages-from-hex-with-hex2nix">
-  <title>Generating Packages from Hex with <literal>hex2nix</literal></title>
-
-  <para>
-   Updating the <link xlink:href="https://hex.pm">Hex</link> package set requires <link
-    xlink:href="https://github.com/erlang-nix/hex2nix">hex2nix</link>. Given the path to the Erlang modules (usually <literal>pkgs/development/erlang-modules</literal>), it will dump a file called <literal>hex-packages.nix</literal>, containing all the packages that use a recognized build system in <link
-    xlink:href="https://hex.pm">Hex</link>. It can't be determined, however, whether every package is buildable.
-  </para>
-
-  <para>
-   To make life easier for our users, try to build every <link
-      xlink:href="https://hex.pm">Hex</link> package and remove those that fail. To do that, simply run the following command in the root of your <literal>nixpkgs</literal> repository:
-  </para>
-
-<screen>
-<prompt>$ </prompt>nix-build -A beamPackages
-</screen>
-
-  <para>
-   That will attempt to build every package in <literal>beamPackages</literal>. Then manually remove those that fail. Hopefully, someone will improve <link
-      xlink:href="https://github.com/erlang-nix/hex2nix">hex2nix</link> in the future to automate the process.
-  </para>
- </section>
 </section>
diff --git a/doc/languages-frameworks/gnome.xml b/doc/languages-frameworks/gnome.xml
index 3d69d77a1c84..9c3afe127a48 100644
--- a/doc/languages-frameworks/gnome.xml
+++ b/doc/languages-frameworks/gnome.xml
@@ -74,7 +74,7 @@
 preFixup = ''
   for f in $(find $out/bin/ $out/libexec/ -type f -executable); do
     wrapProgram "$f" \
-      --prefix GIO_EXTRA_MODULES : "${getLib gnome3.dconf}/lib/gio/modules" \
+      --prefix GIO_EXTRA_MODULES : "${getLib dconf}/lib/gio/modules" \
       --prefix XDG_DATA_DIRS : "$out/share" \
       --prefix XDG_DATA_DIRS : "$out/share/gsettings-schemas/${name}" \
       --prefix XDG_DATA_DIRS : "${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}" \
@@ -102,7 +102,7 @@ preFixup = ''
     </listitem>
     <listitem xml:id="ssec-gnome-hooks-dconf">
      <para>
-      <package>gnome3.dconf.lib</package> is a dependency of <package>wrapGAppsHook</package>, which then also adds it to the <envar>GIO_EXTRA_MODULES</envar> variable.
+      <package>dconf.lib</package> is a dependency of <package>wrapGAppsHook</package>, which then also adds it to the <envar>GIO_EXTRA_MODULES</envar> variable.
      </para>
     </listitem>
     <listitem xml:id="ssec-gnome-hooks-hicolor-icon-theme">
diff --git a/doc/languages-frameworks/haskell.section.md b/doc/languages-frameworks/haskell.section.md
index 7cbac95f7d43..be5c7b7c8d16 100644
--- a/doc/languages-frameworks/haskell.section.md
+++ b/doc/languages-frameworks/haskell.section.md
@@ -25,14 +25,14 @@ avoided that by keeping all Haskell-related packages in a separate attribute
 set called `haskellPackages`, which the following command will list:
 ```
 $ nix-env -f "<nixpkgs>" -qaP -A haskellPackages
-haskellPackages.a50         a50-0.5
-haskellPackages.abacate     haskell-abacate-0.0.0.0
-haskellPackages.abcBridge   haskell-abcBridge-0.12
-haskellPackages.afv         afv-0.1.1
-haskellPackages.alex        alex-3.1.4
-haskellPackages.Allure      Allure-0.4.101.1
-haskellPackages.alms        alms-0.6.7
-[... some 8000 entries omitted  ...]
+haskellPackages.a50                                             a50-0.5
+haskellPackages.AAI                                             AAI-0.2.0.1
+haskellPackages.abacate                                         abacate-0.0.0.0
+haskellPackages.abc-puzzle                                      abc-puzzle-0.2.1
+haskellPackages.abcBridge                                       abcBridge-0.15
+haskellPackages.abcnotation                                     abcnotation-1.9.0
+haskellPackages.abeson                                          abeson-0.1.0.1
+[... some 14000 entries omitted  ...]
 ```
 
 To install any of those packages into your profile, refer to them by their
@@ -101,19 +101,21 @@ to compile your Haskell packages with any GHC version you please. The following
 command displays the complete list of available compilers:
 ```
 $ nix-env -f "<nixpkgs>" -qaP -A haskell.compiler
-haskell.compiler.ghc6104        ghc-6.10.4
-haskell.compiler.ghc6123        ghc-6.12.3
-haskell.compiler.ghc704         ghc-7.0.4
-haskell.compiler.ghc722         ghc-7.2.2
-haskell.compiler.ghc742         ghc-7.4.2
-haskell.compiler.ghc763         ghc-7.6.3
-haskell.compiler.ghc784         ghc-7.8.4
-haskell.compiler.ghc7102        ghc-7.10.2
-haskell.compiler.ghcHEAD        ghc-7.11.20150402
-haskell.compiler.ghcNokinds     ghc-nokinds-7.11.20150704
-haskell.compiler.ghcjs          ghcjs-0.1.0
-haskell.compiler.jhc            jhc-0.8.2
-haskell.compiler.uhc            uhc-1.1.9.0
+haskell.compiler.ghc822                  ghc-8.2.2
+haskell.compiler.integer-simple.ghc822   ghc-8.2.2
+haskell.compiler.ghc822Binary            ghc-8.2.2-binary
+haskell.compiler.ghc844                  ghc-8.4.4
+haskell.compiler.ghc863Binary            ghc-8.6.3-binary
+haskell.compiler.ghc864                  ghc-8.6.4
+haskell.compiler.integer-simple.ghc864   ghc-8.6.4
+haskell.compiler.ghc865                  ghc-8.6.5
+haskell.compiler.integer-simple.ghc865   ghc-8.6.5
+haskell.compiler.ghc881                  ghc-8.8.1
+haskell.compiler.integer-simple.ghc881   ghc-8.8.1
+haskell.compiler.ghcHEAD                 ghc-8.9.20190601
+haskell.compiler.integer-simple.ghcHEAD  ghc-8.9.20190601
+haskell.compiler.ghcjs84                 ghcjs-8.4.0.1
+haskell.compiler.ghcjs                   ghcjs-8.6.0.1
 ```
 
 We have no package sets for `jhc` or `uhc` yet, unfortunately, but for every
diff --git a/doc/stdenv/cross-compilation.xml b/doc/stdenv/cross-compilation.xml
index 5476c9a48932..bea56a0c2fc1 100644
--- a/doc/stdenv/cross-compilation.xml
+++ b/doc/stdenv/cross-compilation.xml
@@ -244,7 +244,7 @@
      </question>
      <answer>
       <para>
-       Many packages assume that an unprefixed <command>ar</command> is available, but Nix doesn't provide one. It only provides a prefixed one, just as it only does for all the other binutils programs. It may be necessary to patch the package to fix the build system to use a prefixed `ar`.
+       Many packages assume that an unprefixed <command>ar</command> is available, but Nix doesn't provide one. It only provides a prefixed one, just as it only does for all the other binutils programs. It may be necessary to patch the package to fix the build system to use a prefixed <command>ar</command>.
       </para>
      </answer>
     </qandaentry>
diff --git a/doc/stdenv/stdenv.xml b/doc/stdenv/stdenv.xml
index 0b59f90eb490..49699d7168dd 100644
--- a/doc/stdenv/stdenv.xml
+++ b/doc/stdenv/stdenv.xml
@@ -1717,7 +1717,7 @@ someVar=$(stripHash $name)
   </para>
 
   <para>
-   The most typical use of the setup hook is actually to add other hooks which are then run (i.e. after all the setup hooks) on each dependency. For example, the C compiler wrapper's setup hook feeds itself flags for each dependency that contains relevant libraries and headers. This is done by defining a bash function, and appending its name to one of <envar>envBuildBuildHooks</envar>`, <envar>envBuildHostHooks</envar>`, <envar>envBuildTargetHooks</envar>`, <envar>envHostHostHooks</envar>`, <envar>envHostTargetHooks</envar>`, or <envar>envTargetTargetHooks</envar>`. These 6 bash variables correspond to the 6 sorts of dependencies by platform (there's 12 total but we ignore the propagated/non-propagated axis).
+   The most typical use of the setup hook is actually to add other hooks which are then run (i.e. after all the setup hooks) on each dependency. For example, the C compiler wrapper's setup hook feeds itself flags for each dependency that contains relevant libraries and headers. This is done by defining a bash function, and appending its name to one of <envar>envBuildBuildHooks</envar>, <envar>envBuildHostHooks</envar>, <envar>envBuildTargetHooks</envar>, <envar>envHostHostHooks</envar>, <envar>envHostTargetHooks</envar>, or <envar>envTargetTargetHooks</envar>. These 6 bash variables correspond to the 6 sorts of dependencies by platform (there's 12 total but we ignore the propagated/non-propagated axis).
   </para>
 
   <para>
diff --git a/doc/using/configuration.xml b/doc/using/configuration.xml
index 6406c3af3ec5..f4d6e9110064 100644
--- a/doc/using/configuration.xml
+++ b/doc/using/configuration.xml
@@ -141,11 +141,10 @@
      For a more useful example, try the following. This configuration only allows unfree packages named flash player and visual studio code:
 <programlisting>
 {
-  allowUnfreePredicate = (pkg: builtins.elem
-    (pkg.pname or (builtins.parseDrvName pkg.name).name) [
-      "flashplayer"
-      "vscode"
-    ]);
+  allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
+    "flashplayer"
+    "vscode"
+  ];
 }
 </programlisting>
     </para>
@@ -217,7 +216,7 @@
      The following configuration example only allows insecure packages with very short names:
 <programlisting>
 {
-  allowInsecurePredicate = (pkg: (builtins.stringLength (builtins.parseDrvName pkg.name).name) &lt;= 5);
+  allowInsecurePredicate = pkg: builtins.stringLength (lib.getName pkg) &lt;= 5;
 }
 </programlisting>
     </para>
diff --git a/lib/default.nix b/lib/default.nix
index 74d508ec1d6e..8af531525860 100644
--- a/lib/default.nix
+++ b/lib/default.nix
@@ -84,7 +84,8 @@ let
       hasInfix hasPrefix hasSuffix stringToCharacters stringAsChars escape
       escapeShellArg escapeShellArgs replaceChars lowerChars
       upperChars toLower toUpper addContextFrom splitString
-      removePrefix removeSuffix versionOlder versionAtLeast getVersion
+      removePrefix removeSuffix versionOlder versionAtLeast
+      getName getVersion
       nameFromURL enableFeature enableFeatureAs withFeature
       withFeatureAs fixedWidthString fixedWidthNumber isStorePath
       toInt readPathsFromFile fileContents;
diff --git a/lib/strings.nix b/lib/strings.nix
index ae0d74c6721d..6dbb3d3a3e8b 100644
--- a/lib/strings.nix
+++ b/lib/strings.nix
@@ -473,6 +473,23 @@ rec {
   versionAtLeast = v1: v2: !versionOlder v1 v2;
 
   /* This function takes an argument that's either a derivation or a
+     derivation's "name" attribute and extracts the name part from that
+     argument.
+
+     Example:
+       getName "youtube-dl-2016.01.01"
+       => "youtube-dl"
+       getName pkgs.youtube-dl
+       => "youtube-dl"
+  */
+  getName = x:
+   let
+     parse = drv: (builtins.parseDrvName drv).name;
+   in if isString x
+      then parse x
+      else x.pname or (parse x.name);
+
+  /* This function takes an argument that's either a derivation or a
      derivation's "name" attribute and extracts the version part from that
      argument.
 
diff --git a/lib/systems/default.nix b/lib/systems/default.nix
index 0d51be4b23bc..026117cc34fd 100644
--- a/lib/systems/default.nix
+++ b/lib/systems/default.nix
@@ -37,6 +37,7 @@ rec {
         else if final.isAndroid             then "bionic"
         else if final.isLinux /* default */ then "glibc"
         else if final.isMsp430              then "newlib"
+        else if final.isVc4                 then "newlib"
         else if final.isAvr                 then "avrlibc"
         else if final.isNetBSD              then "nblibc"
         # TODO(@Ericson2314) think more about other operating systems
diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix
index 58cff18e6488..700c895b3aba 100644
--- a/lib/systems/doubles.nix
+++ b/lib/systems/doubles.nix
@@ -26,7 +26,7 @@ let
 
     "riscv32-linux" "riscv64-linux"
 
-    "aarch64-none" "avr-none" "arm-none" "i686-none" "x86_64-none" "powerpc-none" "msp430-none" "riscv64-none" "riscv32-none"
+    "aarch64-none" "avr-none" "arm-none" "i686-none" "x86_64-none" "powerpc-none" "msp430-none" "riscv64-none" "riscv32-none" "vc4-none"
   ];
 
   allParsed = map parse.mkSystemFromString all;
@@ -45,6 +45,7 @@ in {
   x86_64  = filterDoubles predicates.isx86_64;
   mips    = filterDoubles predicates.isMips;
   riscv   = filterDoubles predicates.isRiscV;
+  vc4     = filterDoubles predicates.isVc4;
 
   cygwin  = filterDoubles predicates.isCygwin;
   darwin  = filterDoubles predicates.isDarwin;
diff --git a/lib/systems/examples.nix b/lib/systems/examples.nix
index 585156c24759..cb8bc3de6c48 100644
--- a/lib/systems/examples.nix
+++ b/lib/systems/examples.nix
@@ -118,6 +118,12 @@ rec {
     config = "avr";
   };
 
+  vc4 = {
+    config = "vc4-elf";
+    libc = "newlib";
+    platform = {};
+  };
+
   arm-embedded = {
     config = "arm-none-eabi";
     libc = "newlib";
diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix
index 8a983b3d3637..d1980c6dff81 100644
--- a/lib/systems/inspect.nix
+++ b/lib/systems/inspect.nix
@@ -21,6 +21,7 @@ rec {
     isSparc        = { cpu = { family = "sparc"; }; };
     isWasm         = { cpu = { family = "wasm"; }; };
     isMsp430       = { cpu = { family = "msp430"; }; };
+    isVc4          = { cpu = { family = "vc4"; }; };
     isAvr          = { cpu = { family = "avr"; }; };
     isAlpha        = { cpu = { family = "alpha"; }; };
     isJavaScript   = { cpu = cpuTypes.js; };
diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix
index 362357446025..6a02dbb51528 100644
--- a/lib/systems/parse.nix
+++ b/lib/systems/parse.nix
@@ -112,6 +112,8 @@ rec {
     msp430   = { bits = 16; significantByte = littleEndian; family = "msp430"; };
     avr      = { bits = 8; family = "avr"; };
 
+    vc4      = { bits = 32; significantByte = littleEndian; family = "vc4"; };
+
     js       = { bits = 32; significantByte = littleEndian; family = "js"; };
   };
 
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 71373b21e1ad..fd7d8e314c34 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -944,6 +944,12 @@
     githubId = 5718007;
     name = "Bastian Köcher";
   };
+  blitz = {
+    email = "js@alien8.de";
+    github = "blitz";
+    githubId = 37907;
+    name = "Julian Stecklina";
+  };
   bluescreen303 = {
     email = "mathijs@bluescreen303.nl";
     github = "bluescreen303";
@@ -1399,6 +1405,12 @@
     githubId = 1740337;
     name = "Chris Ostrouchov";
   };
+  contrun = {
+    email = "uuuuuu@protonmail.com";
+    github = "contrun";
+    githubId = 32609395;
+    name = "B YI";
+  };
   couchemar = {
     email = "couchemar@yandex.ru";
     github = "couchemar";
@@ -1472,6 +1484,16 @@
       }
     ];
   };
+  d-goldin = {
+    email = "dgoldin+github@protonmail.ch";
+    github = "d-goldin";
+    githubId = 43349662;
+    name = "Dima";
+    keys = [{
+      longkeyid = "rsa4096/BAB1D15FB7B4D4CE";
+      fingerprint = "1C4E F4FE 7F8E D8B7 1E88 CCDF BAB1 D15F B7B4 D4CE";
+    }];
+  };
   dadada = {
     name = "dadada";
     email = "dadada@dadada.li";
@@ -1768,6 +1790,12 @@
     githubId = 875324;
     name = "David Johnson";
   };
+  dmrauh = {
+    email = "dmrauh@posteo.de";
+    github = "dmrauh";
+    githubId = 37698547;
+    name = "Dominik Michael Rauh";
+  };
   dmvianna = {
     email = "dmlvianna@gmail.com";
     github = "dmvianna";
@@ -2092,6 +2120,12 @@
     email = "mpcervin@uncg.edu";
     name = "Mabry Cervin";
   };
+  equirosa = {
+    email = "eduardo@eduardoquiros.com";
+    github = "equirosa";
+    githubId = 39096810;
+    name = "Eduardo Quiros";
+  };
   eqyiel = {
     email = "ruben@maher.fyi";
     github = "eqyiel";
@@ -2289,6 +2323,16 @@
     githubId = 415760;
     name = "Jonas Höglund";
   };
+  Flakebi = {
+    email = "flakebi@t-online.de";
+    github = "Flakebi";
+    githubId = "Flakebi";
+    name = "Sebastian Neubauer";
+    keys = [{
+      longkeyid = "rsa4096/0xECC755EE583C1672";
+      fingerprint = "2F93 661D AC17 EA98 A104  F780 ECC7 55EE 583C 1672";
+    }];
+  };
   flexw = {
     email = "felix.weilbach@t-online.de";
     github = "FlexW";
@@ -2487,6 +2531,7 @@
   gazally = {
     email = "gazally@runbox.com";
     github = "gazally";
+    githubId = 16470252;
     name = "Gemini Lasswell";
   };
   gebner = {
@@ -2631,6 +2676,12 @@
     githubId = 9705357;
     name = "Guillaume Bouchard";
   };
+  GuillaumeDesforges = {
+    email = "aceus02@gmail.com";
+    github = "GuillaumeDesforges";
+    githubId = 1882000;
+    name = "Guillaume Desforges";
+  };
   guillaumekoenig = {
     email = "guillaume.edward.koenig@gmail.com";
     github = "guillaumekoenig";
@@ -3374,6 +3425,12 @@
     github = "juliendehos";
     name = "Julien Dehos";
   };
+  jumper149 = {
+    email = "felixspringer149@gmail.com";
+    github = "jumper149";
+    githubId = 39434424;
+    name = "Felix Springer";
+  };
   justinwoo = {
     email = "moomoowoo@gmail.com";
     github = "justinwoo";
@@ -3554,6 +3611,12 @@
     github = "klntsky";
     githubId = 18447310;
   };
+  kmcopper = {
+    email = "kmcopper@danwin1210.me";
+    name = "Kyle Copperfield";
+    github = "kmcopper";
+    githubId = 57132115;
+  };
   kmeakin = {
     email = "karlwfmeakin@gmail.com";
     name = "Karl Meakin";
@@ -3660,6 +3723,18 @@
     githubId = 449813;
     name = "Roman Kuznetsov";
   };
+  kylesferrazza = {
+    name = "Kyle Sferrazza";
+    email = "kyle.sferrazza@gmail.com";
+
+    github = "kylesferrazza";
+    githubId = 6677292;
+
+    keys = [{
+      longkeyid = "rsa4096/81A1540948162372";
+      fingerprint = "5A9A 1C9B 2369 8049 3B48  CF5B 81A1 5409 4816 2372";
+    }];
+  };
   kylewlacy = {
     email = "kylelacy+nix@pm.me";
     github = "kylewlacy";
@@ -3910,6 +3985,22 @@
     github = "lovek323";
     name = "Jason O'Conal";
   };
+  lovesegfault = {
+    email = "meurerbernardo@gmail.com";
+    github = "lovesegfault";
+    githubId = 7243783;
+    name = "Bernardo Meurer";
+    keys = [
+      {
+        longkeyid = "rsa2048/0xE421C74191EA186C";
+        fingerprint = "5894 12CE 19DF 582A E10A  3320 E421 C741 91EA 186C";
+      }
+      {
+        longkeyid = "rsa2048/0x4A6D87A0E7475769";
+        fingerprint = "56A8 E164 E834 290C 4AC0  EE3E 4A6D 87A0 E747 5769";
+      }
+    ];
+  };
   lowfatcomputing = {
     email = "andreas.wagner@lowfatcomputing.org";
     github = "lowfatcomputing";
@@ -4072,6 +4163,12 @@
     githubId = 34086;
     name = "Marc Weber";
   };
+  marcus7070 = {
+    email = "marcus@geosol.com.au";
+    github = "marcus7070";
+    githubId = 50230945;
+    name = "Marcus Boyd";
+  };
 	marenz = {
 		email = "marenz@arkom.men";
 		github = "marenz2569";
@@ -4410,6 +4507,12 @@
     githubId = 16974598;
     name = "Mike Playle";
   };
+  mkaito = {
+    email = "chris@mkaito.net";
+    github = "mkaito";
+    githubId = 20434;
+    name = "Christian Höppner";
+  };
   mkazulak = {
     email = "kazulakm@gmail.com";
     github = "mulderr";
@@ -4449,6 +4552,12 @@
     githubId = 117842;
     name = "Henri Bourcereau";
   };
+  mmilata = {
+    email = "martin@martinmilata.cz";
+    github = "mmilata";
+    gitHubId = 85857;
+    name = "Martin Milata";
+  };
   mmlb = {
     email = "me.mmlb@mmlb.me";
     github = "mmlb";
@@ -4563,6 +4672,12 @@
     githubId = 2881922;
     name = "Francis St-Amour";
   };
+  mtrsk = {
+    email = "marcos.schonfinkel@protonmail.com";
+    github = "mtrsk";
+    githubId = 16356569;
+    name = "Marcos Benevides";
+  };
   mredaelli = {
     email = "massimo@typish.io";
     github = "mredaelli";
@@ -6031,7 +6146,7 @@
     name = "Shahrukh Khan";
   };
   shanemikel = {
-    email = "shanemikel1@gmail.com";
+    email = "shanepearlman@pm.me";
     github = "shanemikel";
     githubId = 6720672;
     name = "Shane Pearlman";
@@ -6652,6 +6767,12 @@
     githubId = 42933;
     name = "Andrew Childs";
   };
+  thefenriswolf = {
+    email = "stefan.rohrbacher97@gmail.com";
+    github = "thefenriswolf";
+    githubId = "8547242";
+    name = "Stefan Rohrbacher";
+  };
   thesola10 = {
     email = "thesola10@bobile.fr";
     github = "thesola10";
@@ -7543,4 +7664,10 @@
     githubId = 50867187;
     name = "Rakesh Gupta";
   };
+  waiting-for-dev = {
+    email = "marc@lamarciana.com";
+    github = "waiting-for-dev";
+    githubId = 52650;
+    name = "Marc Busqué";
+  };
 }
diff --git a/maintainers/scripts/update.nix b/maintainers/scripts/update.nix
index 04723cb8a366..60c6113bf70f 100755
--- a/maintainers/scripts/update.nix
+++ b/maintainers/scripts/update.nix
@@ -126,7 +126,7 @@ let
 
   packageData = package: {
     name = package.name;
-    pname = (builtins.parseDrvName package.name).name;
+    pname = pkgs.lib.getName package;
     updateScript = map builtins.toString (pkgs.lib.toList package.updateScript);
   };
 
diff --git a/nixos/doc/manual/configuration/profiles/graphical.xml b/nixos/doc/manual/configuration/profiles/graphical.xml
index 73e3abc59d0c..cc6d0825d241 100644
--- a/nixos/doc/manual/configuration/profiles/graphical.xml
+++ b/nixos/doc/manual/configuration/profiles/graphical.xml
@@ -13,9 +13,7 @@
  <para>
   It sets <xref linkend="opt-services.xserver.enable"/>,
   <xref linkend="opt-services.xserver.displayManager.sddm.enable"/>,
-  <xref linkend="opt-services.xserver.desktopManager.plasma5.enable"/> (
-  <link linkend="opt-services.xserver.desktopManager.plasma5.enableQt4Support">
-  without Qt4 Support</link>), and
+  <xref linkend="opt-services.xserver.desktopManager.plasma5.enable"/>, and
   <xref linkend="opt-services.xserver.libinput.enable"/> to true. It also
   includes glxinfo and firefox in the system packages list.
  </para>
diff --git a/nixos/doc/manual/configuration/x-windows.xml b/nixos/doc/manual/configuration/x-windows.xml
index f6f659b02afa..9206f43ea392 100644
--- a/nixos/doc/manual/configuration/x-windows.xml
+++ b/nixos/doc/manual/configuration/x-windows.xml
@@ -39,7 +39,7 @@
   can select an alternative one by picking one of the following lines:
 <programlisting>
 <xref linkend="opt-services.xserver.displayManager.sddm.enable"/> = true;
-<xref linkend="opt-services.xserver.displayManager.slim.enable"/> = true;
+<xref linkend="opt-services.xserver.displayManager.gdm.enable"/> = true;
 </programlisting>
  </para>
  <para>
diff --git a/nixos/doc/manual/development/option-declarations.xml b/nixos/doc/manual/development/option-declarations.xml
index eee81bf64263..56ebf4816306 100644
--- a/nixos/doc/manual/development/option-declarations.xml
+++ b/nixos/doc/manual/development/option-declarations.xml
@@ -99,7 +99,7 @@ xlink:href="https://nixos.org/nixpkgs/manual/#sec-package-naming">
   <para>
    As an example, we will take the case of display managers. There is a central
    display manager module for generic display manager options and a module file
-   per display manager backend (slim, sddm, gdm ...).
+   per display manager backend (sddm, gdm ...).
   </para>
 
   <para>
@@ -146,7 +146,7 @@ xlink:href="https://nixos.org/nixpkgs/manual/#sec-package-naming">
       />), and to extend
    it in each backend module
    (<xref
-      linkend='ex-option-declaration-eot-backend-slim' />,
+      linkend='ex-option-declaration-eot-backend-gdm' />,
    <xref
       linkend='ex-option-declaration-eot-backend-sddm' />).
   </para>
@@ -167,11 +167,11 @@ services.xserver.displayManager.enable = mkOption {
 };</screen>
   </example>
 
-  <example xml:id='ex-option-declaration-eot-backend-slim'>
-   <title>Extending <literal>services.xserver.displayManager.enable</literal> in the <literal>slim</literal> module</title>
+  <example xml:id='ex-option-declaration-eot-backend-gdm'>
+   <title>Extending <literal>services.xserver.displayManager.enable</literal> in the <literal>gdm</literal> module</title>
 <screen>
 services.xserver.displayManager.enable = mkOption {
-  type = with types; nullOr (enum [ "slim" ]);
+  type = with types; nullOr (enum [ "gdm" ]);
 };</screen>
   </example>
 
diff --git a/nixos/doc/manual/development/releases.xml b/nixos/doc/manual/development/releases.xml
index 1cdec64f69b0..9371af9984d1 100755
--- a/nixos/doc/manual/development/releases.xml
+++ b/nixos/doc/manual/development/releases.xml
@@ -45,12 +45,12 @@
     <listitem>
      <para>
       <literal>git tag -a -s -m &quot;Release 17.09-beta&quot; 17.09-beta
-      &amp;&amp; git push --tags</literal>
+      &amp;&amp; git push origin 17.09-beta</literal>
      </para>
     </listitem>
     <listitem>
      <para>
-      From the master branch run <literal>git checkout -B
+      From the master branch run <literal>git checkout -b
       release-17.09</literal>.
      </para>
     </listitem>
@@ -157,7 +157,7 @@
     <listitem>
      <para>
       Release Nix (currently only Eelco Dolstra can do that).
-      <link xlink:href="https://github.com/NixOS/nixpkgs/commit/53710c752a85f00658882531bc90a23a3d1287e4">
+      <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/installer/tools/nix-fallback-paths.nix">
       Make sure fallback is updated. </link>
      </para>
     </listitem>
@@ -169,8 +169,8 @@
     </listitem>
     <listitem>
      <para>
-      Change <literal>stableBranch</literal> to true and wait for channel to
-      update.
+      Change <literal>stableBranch</literal> to <literal>true</literal> in Hydra and wait for
+      the channel to update.
      </para>
     </listitem>
    </itemizedlist>
@@ -193,9 +193,11 @@
     </listitem>
     <listitem>
      <para>
-      Update http://nixos.org/nixos/download.html and
-      http://nixos.org/nixos/manual in
-      https://github.com/NixOS/nixos-org-configurations
+      Update the
+      <link xlink:href="https://github.com/NixOS/nixos-homepage/commit/2a37975d5a617ecdfca94696242b6f32ffcba9f1"><code>NIXOS_SERIES</code></link>
+      in the
+      <link xlink:href="https://github.com/NixOS/nixos-homepage">nixos-homepage</link>
+      repository.
      </para>
     </listitem>
     <listitem>
@@ -212,7 +214,8 @@
     </listitem>
     <listitem>
      <para>
-      Send an email to nix-dev to announce the release with above information.
+      Create a new topic on <link xlink:href="https://discourse.nixos.org/">the
+      Discourse instance</link> to announce the release with the above information.
       Best to check how previous email was formulated to see what needs to be
       included.
      </para>
diff --git a/nixos/doc/manual/development/running-nixos-tests-interactively.xml b/nixos/doc/manual/development/running-nixos-tests-interactively.xml
index ea3ba0e4bf78..31216874c706 100644
--- a/nixos/doc/manual/development/running-nixos-tests-interactively.xml
+++ b/nixos/doc/manual/development/running-nixos-tests-interactively.xml
@@ -2,7 +2,7 @@
         xmlns:xlink="http://www.w3.org/1999/xlink"
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
-        xml:id="sec-running-nixos-tests">
+        xml:id="sec-running-nixos-tests-interactively">
  <title>Running Tests interactively</title>
 
  <para>
diff --git a/nixos/doc/manual/development/running-nixos-tests.xml b/nixos/doc/manual/development/running-nixos-tests.xml
index 13ae1ed93699..e9257c907daf 100644
--- a/nixos/doc/manual/development/running-nixos-tests.xml
+++ b/nixos/doc/manual/development/running-nixos-tests.xml
@@ -2,7 +2,7 @@
         xmlns:xlink="http://www.w3.org/1999/xlink"
         xmlns:xi="http://www.w3.org/2001/XInclude"
         version="5.0"
-        xml:id="sec-running-nixos-tests-interactively">
+        xml:id="sec-running-nixos-tests">
  <title>Running Tests</title>
 
  <para>
diff --git a/nixos/doc/manual/installation/installing.xml b/nixos/doc/manual/installation/installing.xml
index 8ff920eb5a88..7991c43e01fe 100644
--- a/nixos/doc/manual/installation/installing.xml
+++ b/nixos/doc/manual/installation/installing.xml
@@ -392,11 +392,11 @@
      <filename>hardware-configuration.nix</filename> is included from
      <filename>configuration.nix</filename> and will be overwritten by future
      invocations of <command>nixos-generate-config</command>; thus, you
-     generally should not modify it.) Additionally, you may want to look at 
+     generally should not modify it.) Additionally, you may want to look at
      <link xlink:href="https://github.com/NixOS/nixos-hardware">Hardware
      configuration for known-hardware</link> at this point or after
      installation.
-      
+
     </para>
     <note>
      <para>
@@ -418,11 +418,11 @@
      Do the installation:
 <screen>
 <prompt># </prompt>nixos-install</screen>
-     Cross fingers. If this fails due to a temporary problem (such as a network
-     issue while downloading binaries from the NixOS binary cache), you can
-     just re-run <command>nixos-install</command>. Otherwise, fix your
-     <filename>configuration.nix</filename> and then re-run
-     <command>nixos-install</command>.
+     This will install your system based on the configuration you provided.
+     If anything fails due to a configuration problem or any other issue
+     (such as a network outage while downloading binaries from the NixOS
+     binary cache), you can re-run <command>nixos-install</command> after
+     fixing your <filename>configuration.nix</filename>.
     </para>
     <para>
      As the last step, <command>nixos-install</command> will ask you to set the
diff --git a/nixos/doc/manual/release-notes/rl-1909.xml b/nixos/doc/manual/release-notes/rl-1909.xml
index 8bd353a34304..4102fe206e19 100644
--- a/nixos/doc/manual/release-notes/rl-1909.xml
+++ b/nixos/doc/manual/release-notes/rl-1909.xml
@@ -543,7 +543,7 @@
    <listitem>
      <para>
       The <option>networking.useDHCP</option> option is unsupported in combination with
-      <option>networking.useNetworkd</option> in anticipation of defaulting to it by default.
+      <option>networking.useNetworkd</option> in anticipation of defaulting to it.
       It has to be set to <literal>false</literal> and enabled per
       interface with <option>networking.interfaces.&lt;name&gt;.useDHCP = true;</option>
     </para>
diff --git a/nixos/doc/manual/release-notes/rl-2003.xml b/nixos/doc/manual/release-notes/rl-2003.xml
index d02e52cb0cfb..2a5064c71b0f 100644
--- a/nixos/doc/manual/release-notes/rl-2003.xml
+++ b/nixos/doc/manual/release-notes/rl-2003.xml
@@ -71,7 +71,11 @@
 
   <itemizedlist>
    <listitem>
-    <para />
+    <para>
+    The kubernetes kube-proxy now supports a new hostname configuration
+    <literal>services.kubernetes.proxy.hostname</literal> which has to
+    be set if the hostname of the node should be non default.
+    </para>
    </listitem>
   </itemizedlist>
 
@@ -138,6 +142,63 @@
       Now, all bash code is held to the same high standard, and the rather complex stateful manipulation of the options can be discarded.
     </para>
    </listitem>
+   <listitem>
+    <para>
+     The SLIM Display Manager has been removed, as it has been unmaintained since 2013.
+     Consider migrating to a different display manager such as LightDM (current default in NixOS),
+     SDDM, GDM, or using the startx module which uses Xinitrc.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+      The BEAM package set has been deleted. You will only find there the different interpreters.
+      You should now use the different build tools coming with the languages with sandbox mode disabled.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     There is now only one Xfce package-set and module. This means attributes, <literal>xfce4-14</literal>
+     <literal>xfce4-12</literal>, and <literal>xfceUnstable</literal> all now point to the latest Xfce 4.14
+     packages. And in future NixOS releases will be the latest released version of Xfce available at the
+     time during the releases development (if viable).
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+      The <link linkend="opt-services.phpfpm.pools">phpfpm</link> module now sets
+      <literal>PrivateTmp=true</literal> in its systemd units for better process isolation.
+      If you rely on <literal>/tmp</literal> being shared with other services, explicitly override this by
+      setting <literal>serviceConfig.PrivateTmp</literal> to <literal>false</literal> for each phpfpm unit.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     KDE’s old multimedia framework Phonon no longer supports Qt 4. For that reason, Plasma desktop also does not have <option>enableQt4Support</option> option any more.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The BeeGFS module has been removed.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     The osquery module has been removed.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+      Going forward, <literal>~/bin</literal> in the users home directory will no longer be in <literal>PATH</literal> by default.
+      If you depend on this you should set the option <literal>environment.homeBinInPath</literal> to <literal>true</literal>.
+      The aforementioned option was added this release.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+      The <literal>buildRustCrate</literal> infrastructure now produces <literal>lib</literal> outputs in addition to the <literal>out</literal> output.
+      This has led to drastically reduced closed sizes for some rust crates since development dependencies are now in the <literal>lib</literal> output.
+    </para>
+   </listitem>
   </itemizedlist>
  </section>
 
diff --git a/nixos/lib/make-options-doc/default.nix b/nixos/lib/make-options-doc/default.nix
index 35c8b543dece..eee8f612410d 100644
--- a/nixos/lib/make-options-doc/default.nix
+++ b/nixos/lib/make-options-doc/default.nix
@@ -86,7 +86,7 @@ let
   optionsList = lib.sort optionLess optionsListDesc;
 
   # Convert the list of options into an XML file.
-  optionsXML = builtins.toFile "options.xml" (builtins.toXML optionsList);
+  optionsXML = pkgs.writeText "options.xml" (builtins.toXML optionsList);
 
   optionsNix = builtins.listToAttrs (map (o: { name = o.name; value = removeAttrs o ["name" "visible" "internal"]; }) optionsList);
 
diff --git a/nixos/lib/test-driver/test-driver.py b/nixos/lib/test-driver/test-driver.py
index 9d89960876eb..02c172c4a4d6 100644
--- a/nixos/lib/test-driver/test-driver.py
+++ b/nixos/lib/test-driver/test-driver.py
@@ -3,7 +3,6 @@ from contextlib import contextmanager, _GeneratorContextManager
 from xml.sax.saxutils import XMLGenerator
 import _thread
 import atexit
-import json
 import os
 import ptpython.repl
 import pty
@@ -16,7 +15,9 @@ import sys
 import tempfile
 import time
 import unicodedata
-from typing import Tuple, TextIO, Any, Callable, Dict, Iterator, Optional, List
+from typing import Tuple, Any, Callable, Dict, Iterator, Optional, List
+import shlex
+import pathlib
 
 CHAR_TO_KEY = {
     "A": "shift-a",
@@ -92,6 +93,10 @@ def eprint(*args: object, **kwargs: Any) -> None:
     print(*args, file=sys.stderr, **kwargs)
 
 
+def make_command(args: list) -> str:
+    return " ".join(map(shlex.quote, (map(str, args))))
+
+
 def create_vlan(vlan_nr: str) -> Tuple[str, str, "subprocess.Popen[bytes]", Any]:
     global log
     log.log("starting VDE switch for network {}".format(vlan_nr))
@@ -216,7 +221,7 @@ class Machine:
             return path
 
         self.state_dir = create_dir("vm-state-{}".format(self.name))
-        self.shared_dir = create_dir("xchg-shared")
+        self.shared_dir = create_dir("{}/xchg".format(self.state_dir))
 
         self.booted = False
         self.connected = False
@@ -290,10 +295,15 @@ class Machine:
 
     def wait_for_monitor_prompt(self) -> str:
         assert self.monitor is not None
+        answer = ""
         while True:
-            answer = self.monitor.recv(1024).decode()
+            undecoded_answer = self.monitor.recv(1024)
+            if not undecoded_answer:
+                break
+            answer += undecoded_answer.decode()
             if answer.endswith("(qemu) "):
-                return answer
+                break
+        return answer
 
     def send_monitor_command(self, command: str) -> str:
         message = ("{}\n".format(command)).encode()
@@ -520,6 +530,33 @@ class Machine:
             if ret.returncode != 0:
                 raise Exception("Cannot convert screenshot")
 
+    def copy_from_vm(self, source: str, target_dir: str = "") -> None:
+        """Copy a file from the VM (specified by an in-VM source path) to a path
+        relative to `$out`. The file is copied via the `shared_dir` shared among
+        all the VMs (using a temporary directory).
+        """
+        # Compute the source, target, and intermediate shared file names
+        out_dir = pathlib.Path(os.environ.get("out", os.getcwd()))
+        vm_src = pathlib.Path(source)
+        with tempfile.TemporaryDirectory(dir=self.shared_dir) as shared_td:
+            shared_temp = pathlib.Path(shared_td)
+            vm_shared_temp = pathlib.Path("/tmp/xchg") / shared_temp.name
+            vm_intermediate = vm_shared_temp / vm_src.name
+            intermediate = shared_temp / vm_src.name
+            # Copy the file to the shared directory inside VM
+            self.succeed(make_command(["mkdir", "-p", vm_shared_temp]))
+            self.succeed(make_command(["cp", "-r", vm_src, vm_intermediate]))
+            self.succeed("sync")
+            abs_target = out_dir / target_dir / vm_src.name
+            abs_target.parent.mkdir(exist_ok=True, parents=True)
+            # Copy the file from the shared directory outside VM
+            if intermediate.is_dir():
+                shutil.copytree(intermediate, abs_target)
+            else:
+                shutil.copy(intermediate, abs_target)
+        # Make sure the cleanup is synced into VM
+        self.succeed("sync")
+
     def dump_tty_contents(self, tty: str) -> None:
         """Debugging: Dump the contents of the TTY<n>
         """
@@ -606,12 +643,15 @@ class Machine:
             + os.environ.get("QEMU_OPTS", "")
         )
 
-        environment = {
-            "QEMU_OPTS": qemu_options,
-            "SHARED_DIR": self.shared_dir,
-            "USE_TMPDIR": "1",
-        }
-        environment.update(dict(os.environ))
+        environment = dict(os.environ)
+        environment.update(
+            {
+                "TMPDIR": self.state_dir,
+                "SHARED_DIR": self.shared_dir,
+                "USE_TMPDIR": "1",
+                "QEMU_OPTS": qemu_options,
+            }
+        )
 
         self.process = subprocess.Popen(
             self.script,
@@ -749,7 +789,7 @@ def run_tests() -> None:
     if tests is not None:
         with log.nested("running the VM test script"):
             try:
-                exec(tests)
+                exec(tests, globals())
             except Exception as e:
                 eprint("error: {}".format(str(e)))
                 sys.exit(1)
@@ -763,7 +803,9 @@ def run_tests() -> None:
             machine.execute("sync")
 
     if nr_tests != 0:
-        log.log("{} out of {} tests succeeded".format(nr_succeeded, nr_tests))
+        eprint("{} out of {} tests succeeded".format(nr_succeeded, nr_tests))
+        if nr_tests > nr_succeeded:
+            sys.exit(1)
 
 
 @contextmanager
diff --git a/nixos/lib/testing-python.nix b/nixos/lib/testing-python.nix
index 4d990cf551f3..d567d2687653 100644
--- a/nixos/lib/testing-python.nix
+++ b/nixos/lib/testing-python.nix
@@ -261,7 +261,6 @@ in rec {
           inherit require;
           virtualisation.memorySize = 1024;
           services.xserver.enable = true;
-          services.xserver.displayManager.slim.enable = false;
           services.xserver.displayManager.auto.enable = true;
           services.xserver.windowManager.default = "icewm";
           services.xserver.windowManager.icewm.enable = true;
diff --git a/nixos/lib/testing.nix b/nixos/lib/testing.nix
index 767068771036..a5f060a8d8e3 100644
--- a/nixos/lib/testing.nix
+++ b/nixos/lib/testing.nix
@@ -248,7 +248,6 @@ in rec {
           inherit require;
           virtualisation.memorySize = 1024;
           services.xserver.enable = true;
-          services.xserver.displayManager.slim.enable = false;
           services.xserver.displayManager.auto.enable = true;
           services.xserver.windowManager.default = "icewm";
           services.xserver.windowManager.icewm.enable = true;
diff --git a/nixos/maintainers/scripts/ec2/create-amis.sh b/nixos/maintainers/scripts/ec2/create-amis.sh
index f08e500e079a..5dc1c5aaed57 100755
--- a/nixos/maintainers/scripts/ec2/create-amis.sh
+++ b/nixos/maintainers/scripts/ec2/create-amis.sh
@@ -211,11 +211,11 @@ upload_image() {
         log "Registering snapshot $snapshot_id as AMI"
 
         local block_device_mappings=(
-            "DeviceName=/dev/sda1,Ebs={SnapshotId=$snapshot_id,VolumeSize=$image_logical_gigabytes,DeleteOnTermination=true,VolumeType=gp2}"
+            "DeviceName=/dev/xvda,Ebs={SnapshotId=$snapshot_id,VolumeSize=$image_logical_gigabytes,DeleteOnTermination=true,VolumeType=gp2}"
         )
 
         local extra_flags=(
-            --root-device-name /dev/sda1
+            --root-device-name /dev/xvda
             --sriov-net-support simple
             --ena-support
             --virtualization-type hvm
diff --git a/nixos/modules/config/qt5.nix b/nixos/modules/config/qt5.nix
index 7de1c0f5d557..d9dec74f1552 100644
--- a/nixos/modules/config/qt5.nix
+++ b/nixos/modules/config/qt5.nix
@@ -10,7 +10,7 @@ let
   isQtStyle = cfg.platformTheme == "gtk2" && cfg.style != "adwaita";
 
   packages = if isQGnome then [ pkgs.qgnomeplatform pkgs.adwaita-qt ]
-    else if isQtStyle then [ pkgs.qtstyleplugins ]
+    else if isQtStyle then [ pkgs.libsForQt5.qtstyleplugins ]
     else throw "`qt5.platformTheme` ${cfg.platformTheme} and `qt5.style` ${cfg.style} are not compatible.";
 
 in
diff --git a/nixos/modules/config/shells-environment.nix b/nixos/modules/config/shells-environment.nix
index b79e16cd7979..a0a20228a742 100644
--- a/nixos/modules/config/shells-environment.nix
+++ b/nixos/modules/config/shells-environment.nix
@@ -122,7 +122,7 @@ in
       description = ''
         Include ~/bin/ in $PATH.
       '';
-      default = true;
+      default = false;
       type = types.bool;
     };
 
diff --git a/nixos/modules/config/vpnc.nix b/nixos/modules/config/vpnc.nix
deleted file mode 100644
index 356e007c0a3e..000000000000
--- a/nixos/modules/config/vpnc.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ config, lib, ... }:
-
-with lib;
-
-let
-  cfg = config.networking.vpnc;
-  mkServiceDef = name: value:
-    {
-      name = "vpnc/${name}.conf";
-      value = { text = value; };
-    };
-
-in
-{
-  options = {
-    networking.vpnc = {
-      services = mkOption {
-       type = types.attrsOf types.str;
-       default = {};
-       example = literalExample ''
-         { test = '''
-             IPSec gateway 192.168.1.1
-             IPSec ID someID
-             IPSec secret secretKey
-             Xauth username name
-             Xauth password pass
-           ''';
-         }
-       '';
-       description = 
-         ''
-           The names of cisco VPNs and their associated definitions
-         '';
-      };
-    };
-  };
-
-  config.environment.etc = mapAttrs' mkServiceDef cfg.services;
-}
-
-
diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix
index 3ab2afc97407..fcb30187fa2f 100644
--- a/nixos/modules/hardware/video/nvidia.nix
+++ b/nixos/modules/hardware/video/nvidia.nix
@@ -75,7 +75,7 @@ in
 
         Note that this configuration will only be successful when a display manager
         for which the <option>services.xserver.displayManager.setupCommands</option>
-        option is supported is used; notably, SLiM is not supported.
+        option is supported is used.
       '';
     };
 
@@ -111,9 +111,10 @@ in
   config = mkIf enabled {
     assertions = [
       {
-        assertion = with config.services.xserver.displayManager; gdm.enable -> !gdm.wayland;
-        message = "NVIDIA drivers don't support wayland, set services.xserver.displayManager.gdm.wayland=false";
+        assertion = with config.services.xserver.displayManager; gdm.nvidiaWayland -> cfg.modesetting.enable;
+        message = "You cannot use wayland with GDM without modesetting enabled for NVIDIA drivers, set `hardware.nvidia.modesetting.enable = true`";
       }
+
       {
         assertion = !optimusCfg.enable ||
           (optimusCfg.nvidiaBusId != "" && optimusCfg.intelBusId != "");
diff --git a/nixos/modules/i18n/input-method/ibus.nix b/nixos/modules/i18n/input-method/ibus.nix
index 8109ef76c402..956c521dde05 100644
--- a/nixos/modules/i18n/input-method/ibus.nix
+++ b/nixos/modules/i18n/input-method/ibus.nix
@@ -55,7 +55,7 @@ in
 
     # Without dconf enabled it is impossible to use IBus
     environment.systemPackages = with pkgs; [
-      gnome3.dconf ibusAutostart
+      dconf ibusAutostart
     ];
 
     environment.variables = {
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix
index 6a10a6404e67..e00d3f7535b2 100644
--- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix
+++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix
@@ -11,7 +11,6 @@ with lib;
   services.xserver = {
     desktopManager.plasma5 = {
       enable = true;
-      enableQt4Support = false;
     };
 
     # Automatically login as nixos.
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index a4db2c9d1d87..f8b188e7b1c6 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -11,6 +11,9 @@
 
 { lib, ... }:
 
+let
+  inherit (lib) types;
+in
 {
   options = {
 
@@ -19,6 +22,7 @@
       description = ''
         The user IDs used in NixOS.
       '';
+      type = types.attrsOf types.int;
     };
 
     ids.gids = lib.mkOption {
@@ -26,6 +30,7 @@
       description = ''
         The group IDs used in NixOS.
       '';
+      type = types.attrsOf types.int;
     };
 
   };
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 6b578cd5619f..076e1654818a 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -35,7 +35,6 @@
   ./config/terminfo.nix
   ./config/unix-odbc-drivers.nix
   ./config/users-groups.nix
-  ./config/vpnc.nix
   ./config/vte.nix
   ./config/zram.nix
   ./hardware/acpilight.nix
@@ -308,6 +307,7 @@
   ./services/desktops/gnome3/sushi.nix
   ./services/desktops/gnome3/tracker.nix
   ./services/desktops/gnome3/tracker-miners.nix
+  ./services/desktops/neard.nix
   ./services/desktops/profile-sync-daemon.nix
   ./services/desktops/system-config-printer.nix
   ./services/desktops/telepathy.nix
@@ -519,7 +519,6 @@
   ./services/monitoring/munin.nix
   ./services/monitoring/nagios.nix
   ./services/monitoring/netdata.nix
-  ./services/monitoring/osquery.nix
   ./services/monitoring/prometheus/default.nix
   ./services/monitoring/prometheus/alertmanager.nix
   ./services/monitoring/prometheus/exporters.nix
@@ -539,7 +538,6 @@
   ./services/monitoring/zabbix-agent.nix
   ./services/monitoring/zabbix-proxy.nix
   ./services/monitoring/zabbix-server.nix
-  ./services/network-filesystems/beegfs.nix
   ./services/network-filesystems/cachefilesd.nix
   ./services/network-filesystems/davfs2.nix
   ./services/network-filesystems/drbd.nix
diff --git a/nixos/modules/profiles/graphical.nix b/nixos/modules/profiles/graphical.nix
index ac3c228b3c65..d80456cede56 100644
--- a/nixos/modules/profiles/graphical.nix
+++ b/nixos/modules/profiles/graphical.nix
@@ -9,7 +9,6 @@
     displayManager.sddm.enable = true;
     desktopManager.plasma5 = {
       enable = true;
-      enableQt4Support = false;
     };
     libinput.enable = true; # for touchpad support on many laptops
   };
diff --git a/nixos/modules/programs/adb.nix b/nixos/modules/programs/adb.nix
index 250d8c252a3b..83bcfe886aa1 100644
--- a/nixos/modules/programs/adb.nix
+++ b/nixos/modules/programs/adb.nix
@@ -23,7 +23,8 @@ with lib;
   ###### implementation
   config = mkIf config.programs.adb.enable {
     services.udev.packages = [ pkgs.android-udev-rules ];
-    environment.systemPackages = [ pkgs.androidenv.androidPkgs_9_0.platform-tools ];
+    # Give platform-tools lower priority so mke2fs+friends are taken from other packages first
+    environment.systemPackages = [ (lowPrio pkgs.androidenv.androidPkgs_9_0.platform-tools) ];
     users.groups.adbusers = {};
   };
 }
diff --git a/nixos/modules/programs/dconf.nix b/nixos/modules/programs/dconf.nix
index eeebc3558bdf..e0e2ffd80cff 100644
--- a/nixos/modules/programs/dconf.nix
+++ b/nixos/modules/programs/dconf.nix
@@ -32,13 +32,13 @@ in
     environment.etc = optionals (cfg.profiles != {})
       (mapAttrsToList mkDconfProfile cfg.profiles);
 
-    services.dbus.packages = [ pkgs.gnome3.dconf ];
+    services.dbus.packages = [ pkgs.dconf ];
 
     # For dconf executable
-    environment.systemPackages = [ pkgs.gnome3.dconf ];
+    environment.systemPackages = [ pkgs.dconf ];
 
     # Needed for unwrapped applications
-    environment.variables.GIO_EXTRA_MODULES = mkIf cfg.enable [ "${pkgs.gnome3.dconf.lib}/lib/gio/modules" ];
+    environment.variables.GIO_EXTRA_MODULES = mkIf cfg.enable [ "${pkgs.dconf.lib}/lib/gio/modules" ];
   };
 
 }
diff --git a/nixos/modules/programs/ssmtp.nix b/nixos/modules/programs/ssmtp.nix
index 0e060e3f5226..e45748af205a 100644
--- a/nixos/modules/programs/ssmtp.nix
+++ b/nixos/modules/programs/ssmtp.nix
@@ -8,18 +8,16 @@
 with lib;
 
 let
-
-  cfg = config.networking.defaultMailServer;
+  cfg = config.services.ssmtp;
 
 in
-
 {
 
   options = {
 
-    networking.defaultMailServer = {
+    services.ssmtp = {
 
-      directDelivery = mkOption {
+      enable = mkOption {
         type = types.bool;
         default = false;
         description = ''
@@ -29,7 +27,7 @@ in
           <command>sendmail</command> or <command>postfix</command> on
           your machine, set this option to <literal>true</literal>, and
           set the option
-          <option>networking.defaultMailServer.hostName</option> to the
+          <option>services.ssmtp.hostName</option> to the
           host name of your preferred mail server.
         '';
       };
@@ -129,9 +127,9 @@ in
   };
 
 
-  config = mkIf cfg.directDelivery {
+  config = mkIf cfg.enable {
 
-    networking.defaultMailServer.authPassFile = mkIf (cfg.authPass != "")
+    services.ssmtp.authPassFile = mkIf (cfg.authPass != "")
       (mkDefault (toString (pkgs.writeTextFile {
         name = "ssmtp-authpass";
         text = cfg.authPass;
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index 7d8cf55b827a..e392fef54dde 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -10,6 +10,9 @@ with lib;
     (mkRenamedOptionModule [ "networking" "enableRalinkFirmware" ] [ "hardware" "enableRedistributableFirmware" ])
     (mkRenamedOptionModule [ "networking" "enableRTL8192cFirmware" ] [ "hardware" "enableRedistributableFirmware" ])
     (mkRenamedOptionModule [ "networking" "networkmanager" "useDnsmasq" ] [ "networking" "networkmanager" "dns" ])
+    (mkRenamedOptionModule [ "networking" "connman" ] [ "services" "connman" ])
+    (mkRenamedOptionModule [ "networking" "defaultMailServer" ] [ "services" "ssmtp" ])
+    (mkRenamedOptionModule [ "services" "ssmtp" "directDelivery" ] [ "services" "ssmtp" "enable" ])
     (mkChangedOptionModule [ "services" "printing" "gutenprint" ] [ "services" "printing" "drivers" ]
       (config:
         let enabled = getAttrFromPath [ "services" "printing" "gutenprint" ] config;
@@ -235,6 +238,7 @@ with lib;
     (mkRemovedOptionModule [ "services" "zabbixServer" "dbPassword" ] "Use services.zabbixServer.database.passwordFile instead.")
     (mkRemovedOptionModule [ "systemd" "generator-packages" ] "Use systemd.packages instead.")
     (mkRemovedOptionModule [ "fonts" "enableCoreFonts" ] "Use fonts.fonts = [ pkgs.corefonts ]; instead.")
+    (mkRemovedOptionModule [ "networking" "vpnc" ] "Use environment.etc.\"vpnc/service.conf\" instead.")
 
     # ZSH
     (mkRenamedOptionModule [ "programs" "zsh" "enableSyntaxHighlighting" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
@@ -279,6 +283,13 @@ with lib;
     # BLCR
     (mkRemovedOptionModule [ "environment.blcr.enable" ] "The BLCR module has been removed")
 
+    # beegfs
+    (mkRemovedOptionModule [ "services.beegfsEnable" ] "The BeeGFS module has been removed")
+    (mkRemovedOptionModule [ "services.beegfs" ] "The BeeGFS module has been removed")
+
+    # osquery
+    (mkRemovedOptionModule [ "services.osquery" ] "The osquery module has been removed")
+
     # Redis
     (mkRemovedOptionModule [ "services" "redis" "user" ] "The redis module now is hardcoded to the redis user.")
     (mkRemovedOptionModule [ "services" "redis" "dbpath" ] "The redis module now uses /var/lib/redis as data directory.")
diff --git a/nixos/modules/services/audio/roon-server.nix b/nixos/modules/services/audio/roon-server.nix
index 4eda3c5708da..6aed485638cc 100644
--- a/nixos/modules/services/audio/roon-server.nix
+++ b/nixos/modules/services/audio/roon-server.nix
@@ -66,7 +66,8 @@ in {
       if cfg.user == "roon-server" then {
         isSystemUser = true;
         description = "Roon Server user";
-        groups = [ cfg.group "audio" ];
+        group = cfg.group;
+        extraGroups = [ "audio" ];
       }
       else {};
   };
diff --git a/nixos/modules/services/cluster/kubernetes/addons/dns.nix b/nixos/modules/services/cluster/kubernetes/addons/dns.nix
index 47e588de3c93..f12e866930da 100644
--- a/nixos/modules/services/cluster/kubernetes/addons/dns.nix
+++ b/nixos/modules/services/cluster/kubernetes/addons/dns.nix
@@ -3,7 +3,7 @@
 with lib;
 
 let
-  version = "1.5.0";
+  version = "1.6.4";
   cfg = config.services.kubernetes.addons.dns;
   ports = {
     dns = 10053;
@@ -55,9 +55,9 @@ in {
       type = types.attrs;
       default = {
         imageName = "coredns/coredns";
-        imageDigest = "sha256:e83beb5e43f8513fa735e77ffc5859640baea30a882a11cc75c4c3244a737d3c";
+        imageDigest = "sha256:493ee88e1a92abebac67cbd4b5658b4730e0f33512461442d8d9214ea6734a9b";
         finalImageTag = version;
-        sha256 = "15sbmhrxjxidj0j0cccn1qxpg6al175w43m6ngspl0mc132zqc9q";
+        sha256 = "0fm9zdjavpf5hni8g7fkdd3csjbhd7n7py7llxjc66sbii087028";
       };
     };
   };
@@ -68,7 +68,7 @@ in {
 
     services.kubernetes.addonManager.bootstrapAddons = {
       coredns-cr = {
-        apiVersion = "rbac.authorization.k8s.io/v1beta1";
+        apiVersion = "rbac.authorization.k8s.io/v1";
         kind = "ClusterRole";
         metadata = {
           labels = {
@@ -94,7 +94,7 @@ in {
       };
 
       coredns-crb = {
-        apiVersion = "rbac.authorization.k8s.io/v1beta1";
+        apiVersion = "rbac.authorization.k8s.io/v1";
         kind = "ClusterRoleBinding";
         metadata = {
           annotations = {
@@ -170,7 +170,7 @@ in {
       };
 
       coredns-deploy = {
-        apiVersion = "extensions/v1beta1";
+        apiVersion = "apps/v1";
         kind = "Deployment";
         metadata = {
           labels = {
diff --git a/nixos/modules/services/cluster/kubernetes/flannel.nix b/nixos/modules/services/cluster/kubernetes/flannel.nix
index d799e638fc94..548ffed1ddb5 100644
--- a/nixos/modules/services/cluster/kubernetes/flannel.nix
+++ b/nixos/modules/services/cluster/kubernetes/flannel.nix
@@ -40,6 +40,7 @@ in
       cni.config = mkDefault [{
         name = "mynet";
         type = "flannel";
+        cniVersion = "0.3.1";
         delegate = {
           isDefaultGateway = true;
           bridge = "docker0";
diff --git a/nixos/modules/services/cluster/kubernetes/kubelet.nix b/nixos/modules/services/cluster/kubernetes/kubelet.nix
index 250da4c807ec..62d893dfefc6 100644
--- a/nixos/modules/services/cluster/kubernetes/kubelet.nix
+++ b/nixos/modules/services/cluster/kubernetes/kubelet.nix
@@ -92,7 +92,7 @@ in
         default = [];
         example = literalExample ''
           [{
-            "cniVersion": "0.2.0",
+            "cniVersion": "0.3.1",
             "name": "mynet",
             "type": "bridge",
             "bridge": "cni0",
@@ -106,7 +106,7 @@ in
                 ]
             }
           } {
-            "cniVersion": "0.2.0",
+            "cniVersion": "0.3.1",
             "type": "loopback"
           }]
         '';
diff --git a/nixos/modules/services/cluster/kubernetes/proxy.nix b/nixos/modules/services/cluster/kubernetes/proxy.nix
index bd4bf04ea833..3943c908840c 100644
--- a/nixos/modules/services/cluster/kubernetes/proxy.nix
+++ b/nixos/modules/services/cluster/kubernetes/proxy.nix
@@ -31,6 +31,12 @@ in
       type = listOf str;
     };
 
+    hostname = mkOption {
+      description = "Kubernetes proxy hostname override.";
+      default = config.networking.hostName;
+      type = str;
+    };
+
     kubeconfig = top.lib.mkKubeConfigOptions "Kubernetes proxy";
 
     verbosity = mkOption {
@@ -59,6 +65,7 @@ in
             "--cluster-cidr=${top.clusterCidr}"} \
           ${optionalString (cfg.featureGates != [])
             "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.featureGates}"} \
+          --hostname-override=${cfg.hostname} \
           --kubeconfig=${top.lib.mkKubeConfig "kube-proxy" cfg.kubeconfig} \
           ${optionalString (cfg.verbosity != null) "--v=${toString cfg.verbosity}"} \
           ${cfg.extraOpts}
@@ -69,6 +76,8 @@ in
       };
     };
 
+    services.kubernetes.proxy.hostname = with config.networking; mkDefault hostName;
+
     services.kubernetes.pki.certs = {
       kubeProxyClient = top.lib.mkCert {
         name = "kube-proxy-client";
diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix
index 39192d059485..5549cfa5cf4d 100644
--- a/nixos/modules/services/databases/mysql.nix
+++ b/nixos/modules/services/databases/mysql.nix
@@ -8,15 +8,11 @@ let
 
   mysql = cfg.package;
 
-  isMariaDB =
-    let
-      pName = _p: (builtins.parseDrvName (_p.name)).name;
-    in pName mysql == pName pkgs.mariadb;
+  isMariaDB = lib.getName mysql == lib.getName pkgs.mariadb;
+
   isMysqlAtLeast57 =
-    let
-      pName = _p: (builtins.parseDrvName (_p.name)).name;
-    in (pName mysql == pName pkgs.mysql57)
-       && ((builtins.compareVersions mysql.version "5.7") >= 0);
+    (lib.getName mysql == lib.getName pkgs.mysql57)
+     && (builtins.compareVersions mysql.version "5.7" >= 0);
 
   mysqldOptions =
     "--user=${cfg.user} --datadir=${cfg.dataDir} --basedir=${mysql}";
diff --git a/nixos/modules/services/desktops/neard.nix b/nixos/modules/services/desktops/neard.nix
new file mode 100644
index 000000000000..9b0f8d1b3a77
--- /dev/null
+++ b/nixos/modules/services/desktops/neard.nix
@@ -0,0 +1,23 @@
+# neard service.
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+{
+  ###### interface
+  options = {
+    services.neard = {
+      enable = mkEnableOption "neard, NFC daemon";
+    };
+  };
+
+
+  ###### implementation
+  config = mkIf config.services.neard.enable {
+    environment.systemPackages = [ pkgs.neard ];
+
+    services.dbus.packages = [ pkgs.neard ];
+
+    systemd.packages = [ pkgs.neard ];
+  };
+}
diff --git a/nixos/modules/services/desktops/tumbler.nix b/nixos/modules/services/desktops/tumbler.nix
index d18088d4634b..a833e99ff8c6 100644
--- a/nixos/modules/services/desktops/tumbler.nix
+++ b/nixos/modules/services/desktops/tumbler.nix
@@ -7,12 +7,17 @@ with lib;
 let
 
   cfg = config.services.tumbler;
-  tumbler = cfg.package;
 
 in
 
 {
 
+  imports = [
+    (mkRemovedOptionModule
+      [ "services" "tumbler" "package" ]
+      "")
+  ];
+
   ###### interface
 
   options = {
@@ -21,13 +26,6 @@ in
 
       enable = mkEnableOption "Tumbler, A D-Bus thumbnailer service";
 
-      package = mkOption {
-        type = types.package;
-        default = pkgs.xfce4-14.tumbler;
-        description = "Which tumbler package to use";
-        example = pkgs.xfce4-12.tumbler;
-      };
-
     };
 
   };
@@ -37,11 +35,11 @@ in
 
   config = mkIf cfg.enable {
 
-    environment.systemPackages = [
+    environment.systemPackages = with pkgs.xfce; [
       tumbler
     ];
 
-    services.dbus.packages = [
+    services.dbus.packages = with pkgs.xfce; [
       tumbler
     ];
 
diff --git a/nixos/modules/services/development/lorri.nix b/nixos/modules/services/development/lorri.nix
index 618785ee53ca..68264ee869d1 100644
--- a/nixos/modules/services/development/lorri.nix
+++ b/nixos/modules/services/development/lorri.nix
@@ -41,5 +41,7 @@ in {
         Restart = "on-failure";
       };
     };
+
+    environment.systemPackages = [ pkgs.lorri ];
   };
 }
diff --git a/nixos/modules/services/games/openarena.nix b/nixos/modules/services/games/openarena.nix
index b7d1aea6b8d2..8c014d78809b 100644
--- a/nixos/modules/services/games/openarena.nix
+++ b/nixos/modules/services/games/openarena.nix
@@ -43,7 +43,7 @@ in
       serviceConfig = {
         DynamicUser = true;
         StateDirectory = "openarena";
-        ExecStart = "${pkgs.openarena}/bin/openarena-server +set fs_basepath ${pkgs.openarena}/openarena-0.8.8 +set fs_homepath /var/lib/openarena ${concatStringsSep " " cfg.extraFlags}";
+        ExecStart = "${pkgs.openarena}/bin/oa_ded +set fs_basepath ${pkgs.openarena}/openarena-0.8.8 +set fs_homepath /var/lib/openarena ${concatStringsSep " " cfg.extraFlags}";
         Restart = "on-failure";
 
         # Hardening
diff --git a/nixos/modules/services/hardware/bluetooth.nix b/nixos/modules/services/hardware/bluetooth.nix
index c5f9d1f9b725..7b13beea1ca9 100644
--- a/nixos/modules/services/hardware/bluetooth.nix
+++ b/nixos/modules/services/hardware/bluetooth.nix
@@ -36,17 +36,25 @@ in {
         '';
       };
 
+      config = mkOption {
+        type = with types; attrsOf (attrsOf (oneOf [ bool int str ]));
+        example = {
+          General = {
+            ControllerMode = "bredr";
+          };
+        };
+        description = "Set configuration for system-wide bluetooth (/etc/bluetooth/main.conf).";
+      };
+
       extraConfig = mkOption {
-        type = types.lines;
-        default = "";
+        type = with types; nullOr lines;
+        default = null;
         example = ''
           [General]
           ControllerMode = bredr
         '';
         description = ''
           Set additional configuration for system-wide bluetooth (/etc/bluetooth/main.conf).
-
-          NOTE: We already include [Policy], so any configuration under the Policy group should come first.
         '';
       };
     };
@@ -56,16 +64,18 @@ in {
   ###### implementation
 
   config = mkIf cfg.enable {
+    warnings = optional (cfg.extraConfig != null) "hardware.bluetooth.`extraConfig` is deprecated, please use hardware.bluetooth.`config`.";
+
+    hardware.bluetooth.config = {
+      Policy = {
+        AutoEnable = mkDefault cfg.powerOnBoot;
+      };
+    };
 
     environment.systemPackages = [ bluez-bluetooth pkgs.openobex pkgs.obexftp ];
 
     environment.etc = singleton {
-      source = pkgs.writeText "main.conf" ''
-        [Policy]
-        AutoEnable=${lib.boolToString cfg.powerOnBoot}
-
-        ${cfg.extraConfig}
-      '';
+      source = pkgs.writeText "main.conf" (generators.toINI { } cfg.config + optionalString (cfg.extraConfig != null) cfg.extraConfig);
       target = "bluetooth/main.conf";
     };
 
diff --git a/nixos/modules/services/hardware/fwupd.nix b/nixos/modules/services/hardware/fwupd.nix
index 6c341bcbf240..51877970a8bc 100644
--- a/nixos/modules/services/hardware/fwupd.nix
+++ b/nixos/modules/services/hardware/fwupd.nix
@@ -74,7 +74,7 @@ in {
         default = false;
         description = ''
           Whether to enable test remote. This is used by
-          <link xlink:href="https://github.com/hughsie/fwupd/blob/master/data/installed-tests/README.md">installed tests</link>.
+          <link xlink:href="https://github.com/fwupd/fwupd/blob/master/data/installed-tests/README.md">installed tests</link>.
         '';
       };
 
@@ -115,10 +115,6 @@ in {
     services.udev.packages = [ cfg.package ];
 
     systemd.packages = [ cfg.package ];
-
-    systemd.tmpfiles.rules = [
-      "d /var/lib/fwupd 0755 root root -"
-    ];
   };
 
   meta = {
diff --git a/nixos/modules/services/hardware/tlp.nix b/nixos/modules/services/hardware/tlp.nix
index 4f8af7978286..adc1881a525d 100644
--- a/nixos/modules/services/hardware/tlp.nix
+++ b/nixos/modules/services/hardware/tlp.nix
@@ -37,7 +37,7 @@ in
       enable = mkOption {
         type = types.bool;
         default = false;
-        description = "Whether to enable the TLP daemon.";
+        description = "Whether to enable the TLP power management daemon.";
       };
 
       extraConfig = mkOption {
diff --git a/nixos/modules/services/mail/mailcatcher.nix b/nixos/modules/services/mail/mailcatcher.nix
index f5b4508b335c..84f06ed199dc 100644
--- a/nixos/modules/services/mail/mailcatcher.nix
+++ b/nixos/modules/services/mail/mailcatcher.nix
@@ -25,6 +25,13 @@ in
         description = "The port address of the http server.";
       };
 
+      http.path = mkOption {
+        type = with types; nullOr str;
+        default = null;
+        description = "Prefix to all HTTP paths.";
+        example = "/mailcatcher";
+      };
+
       smtp.ip = mkOption {
         type = types.str;
         default = "127.0.0.1";
@@ -53,7 +60,7 @@ in
       serviceConfig = {
         DynamicUser = true;
         Restart = "always";
-        ExecStart = "${pkgs.mailcatcher}/bin/mailcatcher --foreground --no-quit --http-ip ${cfg.http.ip} --http-port ${toString cfg.http.port} --smtp-ip ${cfg.smtp.ip} --smtp-port ${toString cfg.smtp.port}";
+        ExecStart = "${pkgs.mailcatcher}/bin/mailcatcher --foreground --no-quit --http-ip ${cfg.http.ip} --http-port ${toString cfg.http.port} --smtp-ip ${cfg.smtp.ip} --smtp-port ${toString cfg.smtp.port}" + optionalString (cfg.http.path != null) " --http-path ${cfg.http.path}";
         AmbientCapabilities = optionalString (cfg.http.port < 1024 || cfg.smtp.port < 1024) "cap_net_bind_service";
       };
     };
diff --git a/nixos/modules/services/mail/roundcube.nix b/nixos/modules/services/mail/roundcube.nix
index bdedfa1bb701..36dda619ad06 100644
--- a/nixos/modules/services/mail/roundcube.nix
+++ b/nixos/modules/services/mail/roundcube.nix
@@ -160,7 +160,7 @@ in
               ${pkgs.sudo}/bin/sudo -u ${pgSuperUser} psql postgres -c "create role ${cfg.database.username} with login password '${cfg.database.password}'";
               ${pkgs.sudo}/bin/sudo -u ${pgSuperUser} psql postgres -c "create database ${cfg.database.dbname} with owner ${cfg.database.username}";
             fi
-            PGPASSWORD=${cfg.database.password} ${pkgs.postgresql}/bin/psql -U ${cfg.database.username} \
+            PGPASSWORD="${cfg.database.password}" ${pkgs.postgresql}/bin/psql -U ${cfg.database.username} \
               -f ${cfg.package}/SQL/postgres.initial.sql \
               -h ${cfg.database.host} ${cfg.database.dbname}
             touch /var/lib/roundcube/db-created
diff --git a/nixos/modules/services/mail/rspamd.nix b/nixos/modules/services/mail/rspamd.nix
index 4db35d9e89ab..7ef23ad17262 100644
--- a/nixos/modules/services/mail/rspamd.nix
+++ b/nixos/modules/services/mail/rspamd.nix
@@ -60,7 +60,7 @@ let
       };
       type = mkOption {
         type = types.nullOr (types.enum [
-          "normal" "controller" "fuzzy_storage" "rspamd_proxy" "lua" "proxy"
+          "normal" "controller" "fuzzy" "rspamd_proxy" "lua" "proxy"
         ]);
         description = ''
           The type of this worker. The type <literal>proxy</literal> is
diff --git a/nixos/modules/services/misc/beanstalkd.nix b/nixos/modules/services/misc/beanstalkd.nix
index 06e881406b52..bcd133c97411 100644
--- a/nixos/modules/services/misc/beanstalkd.nix
+++ b/nixos/modules/services/misc/beanstalkd.nix
@@ -44,7 +44,8 @@ in
       serviceConfig = {
         DynamicUser = true;
         Restart = "always";
-        ExecStart = "${pkg}/bin/beanstalkd -l ${cfg.listen.address} -p ${toString cfg.listen.port}";
+        ExecStart = "${pkg}/bin/beanstalkd -l ${cfg.listen.address} -p ${toString cfg.listen.port} -b $STATE_DIRECTORY";
+        StateDirectory = "beanstalkd";
       };
     };
 
diff --git a/nixos/modules/services/misc/gitea.nix b/nixos/modules/services/misc/gitea.nix
index c8c59fb256e8..b6f4d88adbef 100644
--- a/nixos/modules/services/misc/gitea.nix
+++ b/nixos/modules/services/misc/gitea.nix
@@ -394,6 +394,28 @@ in
         WorkingDirectory = cfg.stateDir;
         ExecStart = "${gitea.bin}/bin/gitea web";
         Restart = "always";
+
+        # Filesystem
+        ProtectSystem = "strict";
+        ProtectHome = true;
+        PrivateTmp = true;
+        PrivateDevices = true;
+        ProtectKernelTunables = true;
+        ProtectKernelModules = true;
+        ProtectControlGroups = true;
+        ReadWritePaths = cfg.stateDir;
+        # Caps
+        CapabilityBoundingSet = "";
+        NoNewPrivileges = true;
+        # Misc.
+        LockPersonality = true;
+        RestrictRealtime = true;
+        PrivateMounts = true;
+        PrivateUsers = true;
+        MemoryDenyWriteExecute = true;
+        SystemCallFilter = "~@chown @clock @cpu-emulation @debug @keyring @memlock @module @mount @obsolete @privileged @raw-io @reboot @resources @setuid @swap";
+        SystemCallArchitectures = "native";
+        RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6";
       };
 
       environment = {
diff --git a/nixos/modules/services/monitoring/osquery.nix b/nixos/modules/services/monitoring/osquery.nix
deleted file mode 100644
index c8c625577d39..000000000000
--- a/nixos/modules/services/monitoring/osquery.nix
+++ /dev/null
@@ -1,91 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with builtins;
-with lib;
-
-let
-  cfg = config.services.osquery;
-
-in
-
-{
-
-  options = {
-
-    services.osquery = {
-
-      enable = mkEnableOption "osquery";
-
-      loggerPath = mkOption {
-        type = types.path;
-        description = "Base directory used for logging.";
-        default = "/var/log/osquery";
-      };
-
-      pidfile = mkOption {
-        type = types.path;
-        description = "Path used for pid file.";
-        default = "/var/osquery/osqueryd.pidfile";
-      };
-
-      utc = mkOption {
-        type = types.bool;
-        description = "Attempt to convert all UNIX calendar times to UTC.";
-        default = true;
-      };
-
-      databasePath = mkOption {
-        type = types.path;
-        description = "Path used for database file.";
-        default = "/var/osquery/osquery.db";
-      };
-
-      extraConfig = mkOption {
-        type = types.attrs // {
-          merge = loc: foldl' (res: def: recursiveUpdate res def.value) {};
-        };
-        description = "Extra config to be recursively merged into the JSON config file.";
-        default = { };
-      };
-    };
-
-  };
-
-  config = mkIf cfg.enable {
-
-    environment.systemPackages = [ pkgs.osquery ];
-
-    environment.etc."osquery/osquery.conf".text = toJSON (
-      recursiveUpdate {
-        options = {
-          config_plugin = "filesystem";
-          logger_plugin = "filesystem";
-          logger_path = cfg.loggerPath;
-          database_path = cfg.databasePath;
-          utc = cfg.utc;
-        };
-      } cfg.extraConfig
-    );
-
-    systemd.services.osqueryd = {
-      description = "The osquery Daemon";
-      after = [ "network.target" "syslog.service" ];
-      wantedBy = [ "multi-user.target" ];
-      path = [ pkgs.osquery ];
-      preStart = ''
-        mkdir -p ${escapeShellArg cfg.loggerPath}
-        mkdir -p "$(dirname ${escapeShellArg cfg.pidfile})"
-        mkdir -p "$(dirname ${escapeShellArg cfg.databasePath})"
-      '';
-      serviceConfig = {
-        TimeoutStartSec = "infinity";
-        ExecStart = "${pkgs.osquery}/bin/osqueryd --logger_path ${escapeShellArg cfg.loggerPath} --pidfile ${escapeShellArg cfg.pidfile} --database_path ${escapeShellArg cfg.databasePath}";
-        KillMode = "process";
-        KillSignal = "SIGTERM";
-        Restart = "on-failure";
-      };
-    };
-
-  };
-
-}
diff --git a/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixos/modules/services/monitoring/prometheus/exporters.nix
index 35b513bac571..53f32b8fadc7 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters.nix
@@ -197,6 +197,9 @@ in
     services.prometheus.exporters.minio.minioAccessSecret = mkDefault config.services.minio.secretKey;
   })] ++ [(mkIf config.services.rspamd.enable {
     services.prometheus.exporters.rspamd.url = mkDefault "http://localhost:11334/stat";
+  })] ++ [(mkIf config.services.nginx.enable {
+    systemd.services.prometheus-nginx-exporter.after = [ "nginx.service" ];
+    systemd.services.prometheus-nginx-exporter.requires = [ "nginx.service" ];
   })] ++ (mapAttrsToList (name: conf:
     mkExporterConf {
       inherit name;
diff --git a/nixos/modules/services/network-filesystems/beegfs.nix b/nixos/modules/services/network-filesystems/beegfs.nix
deleted file mode 100644
index 2e03a422665a..000000000000
--- a/nixos/modules/services/network-filesystems/beegfs.nix
+++ /dev/null
@@ -1,357 +0,0 @@
-{ config, lib, pkgs, ...} :
-
-with lib;
-
-let
-  cfg = config.services.beegfs;
-
-  # functions for the generations of config files
-
-  configMgmtd = name: cfg: pkgs.writeText "mgmt-${name}.conf" ''
-    storeMgmtdDirectory = ${cfg.mgmtd.storeDir}
-    storeAllowFirstRunInit = false
-    connAuthFile = ${cfg.connAuthFile}
-    connPortShift = ${toString cfg.connPortShift}
-
-    ${cfg.mgmtd.extraConfig}
-  '';
-
-  configAdmon = name: cfg: pkgs.writeText "admon-${name}.conf" ''
-    sysMgmtdHost = ${cfg.mgmtdHost}
-    connAuthFile = ${cfg.connAuthFile}
-    connPortShift = ${toString cfg.connPortShift}
-
-    ${cfg.admon.extraConfig}
-  '';
-
-  configMeta = name: cfg: pkgs.writeText "meta-${name}.conf" ''
-    storeMetaDirectory = ${cfg.meta.storeDir}
-    sysMgmtdHost = ${cfg.mgmtdHost}
-    connAuthFile = ${cfg.connAuthFile}
-    connPortShift = ${toString cfg.connPortShift}
-    storeAllowFirstRunInit = false
-
-    ${cfg.meta.extraConfig}
-  '';
-
-  configStorage = name: cfg: pkgs.writeText "storage-${name}.conf" ''
-    storeStorageDirectory = ${cfg.storage.storeDir}
-    sysMgmtdHost = ${cfg.mgmtdHost}
-    connAuthFile = ${cfg.connAuthFile}
-    connPortShift = ${toString cfg.connPortShift}
-    storeAllowFirstRunInit = false
-
-    ${cfg.storage.extraConfig}
-  '';
-
-  configHelperd = name: cfg: pkgs.writeText "helperd-${name}.conf" ''
-    connAuthFile = ${cfg.connAuthFile}
-    ${cfg.helperd.extraConfig}
-  '';
-
-  configClientFilename = name : "/etc/beegfs/client-${name}.conf";
-
-  configClient = name: cfg: ''
-    sysMgmtdHost = ${cfg.mgmtdHost}
-    connAuthFile = ${cfg.connAuthFile}
-    connPortShift = ${toString cfg.connPortShift}
-
-    ${cfg.client.extraConfig}
-  '';
-
-  serviceList = [
-    { service = "admon"; cfgFile = configAdmon; }
-    { service = "meta"; cfgFile = configMeta; }
-    { service = "mgmtd"; cfgFile = configMgmtd; }
-    { service = "storage"; cfgFile = configStorage; }
-  ];
-
-  # functions to generate systemd.service entries
-
-  systemdEntry = service: cfgFile: (mapAttrs' ( name: cfg:
-    (nameValuePair "beegfs-${service}-${name}" (mkIf cfg.${service}.enable {
-    wantedBy = [ "multi-user.target" ];
-    requires = [ "network-online.target" ];
-    after = [ "network-online.target" ];
-    serviceConfig = rec {
-      ExecStart = ''
-        ${pkgs.beegfs}/bin/beegfs-${service} \
-          cfgFile=${cfgFile name cfg} \
-          pidFile=${PIDFile}
-      '';
-      PIDFile = "/run/beegfs-${service}-${name}.pid";
-      TimeoutStopSec = "300";
-    };
-  }))) cfg);
-
-  systemdHelperd =  mapAttrs' ( name: cfg:
-    (nameValuePair "beegfs-helperd-${name}" (mkIf cfg.client.enable {
-    wantedBy = [ "multi-user.target" ];
-    requires = [ "network-online.target" ];
-    after = [ "network-online.target" ];
-    serviceConfig = rec {
-      ExecStart = ''
-        ${pkgs.beegfs}/bin/beegfs-helperd \
-          cfgFile=${configHelperd name cfg} \
-          pidFile=${PIDFile}
-      '';
-      PIDFile = "/run/beegfs-helperd-${name}.pid";
-      TimeoutStopSec = "300";
-    };
-   }))) cfg;
-
-  # wrappers to beegfs tools. Avoid typing path of config files
-  utilWrappers = mapAttrsToList ( name: cfg:
-    ( pkgs.runCommand "beegfs-utils-${name}" {
-        nativeBuildInputs = [ pkgs.makeWrapper ];
-        preferLocalBuild = true;
-        } ''
-        mkdir -p $out/bin
-
-        makeWrapper ${pkgs.beegfs}/bin/beegfs-check-servers \
-                    $out/bin/beegfs-check-servers-${name} \
-                    --add-flags "-c ${configClientFilename name}" \
-                    --prefix PATH : ${lib.makeBinPath [ pkgs.beegfs ]}
-
-        makeWrapper ${pkgs.beegfs}/bin/beegfs-ctl \
-                    $out/bin/beegfs-ctl-${name} \
-                    --add-flags "--cfgFile=${configClientFilename name}"
-
-        makeWrapper ${pkgs.beegfs}/bin/beegfs-ctl \
-                    $out/bin/beegfs-df-${name} \
-                    --add-flags "--cfgFile=${configClientFilename name}" \
-                    --add-flags --listtargets  \
-                    --add-flags --hidenodeid \
-                    --add-flags --pools \
-                    --add-flags --spaceinfo
-
-        makeWrapper ${pkgs.beegfs}/bin/beegfs-fsck \
-                    $out/bin/beegfs-fsck-${name} \
-                    --add-flags "--cfgFile=${configClientFilename name}"
-      ''
-     )) cfg;
-in
-{
-  ###### interface
-
-  options = {
-    services.beegfsEnable = mkEnableOption "BeeGFS";
-
-    services.beegfs = mkOption {
-      default = {};
-      description = ''
-        BeeGFS configurations. Every mount point requires a separate configuration.
-      '';
-      type = with types; attrsOf (submodule ({ ... } : {
-        options = {
-          mgmtdHost = mkOption {
-            type = types.str;
-            default = null;
-            example = "master";
-            description = ''Hostname of managament host.'';
-          };
-
-          connAuthFile = mkOption {
-            type = types.str;
-            default = "";
-            example = "/etc/my.key";
-            description = "File containing shared secret authentication.";
-          };
-
-          connPortShift = mkOption {
-            type = types.int;
-            default = 0;
-            example = 5;
-            description = ''
-              For each additional beegfs configuration shift all
-              service TCP/UDP ports by at least 5.
-            '';
-          };
-
-          client = {
-            enable = mkEnableOption "BeeGFS client";
-
-            mount = mkOption {
-              type = types.bool;
-              default = true;
-              description = "Create fstab entry automatically";
-            };
-
-            mountPoint = mkOption {
-              type = types.str;
-              default = "/run/beegfs";
-              description = ''
-                Mount point under which the beegfs filesytem should be mounted.
-                If mounted manually the mount option specifing the config file is needed:
-                cfgFile=/etc/beegfs/beegfs-client-&lt;name&gt;.conf
-              '';
-            };
-
-            extraConfig = mkOption {
-              type = types.lines;
-              default = "";
-              description = ''
-                Additional lines for beegfs-client.conf.
-                See documentation for further details.
-             '';
-            };
-          };
-
-          helperd = {
-            enable = mkOption {
-              type = types.bool;
-              default = true;
-              description = ''
-                Enable the BeeGFS helperd.
-                The helpered is need for logging purposes on the client.
-                Disabling <literal>helperd</literal> allows for runing the client
-                with <literal>allowUnfree = false</literal>.
-              '';
-            };
-
-            extraConfig = mkOption {
-              type = types.lines;
-              default = "";
-              description = ''
-                Additional lines for beegfs-helperd.conf. See documentation
-                for further details.
-              '';
-            };
-          };
-
-          mgmtd = {
-            enable = mkEnableOption "BeeGFS mgmtd daemon";
-
-            storeDir = mkOption {
-              type = types.path;
-              default = null;
-              example = "/data/beegfs-mgmtd";
-              description = ''
-                Data directory for mgmtd.
-                Must not be shared with other beegfs daemons.
-                This directory must exist and it must be initialized
-                with beegfs-setup-mgmtd, e.g. "beegfs-setup-mgmtd -C -p &lt;storeDir&gt;"
-              '';
-            };
-
-            extraConfig = mkOption {
-              type = types.lines;
-              default = "";
-              description = ''
-                Additional lines for beegfs-mgmtd.conf. See documentation
-                for further details.
-              '';
-            };
-          };
-
-          admon = {
-            enable = mkEnableOption "BeeGFS admon daemon";
-
-            extraConfig = mkOption {
-              type = types.lines;
-              default = "";
-              description = ''
-                Additional lines for beegfs-admon.conf. See documentation
-                for further details.
-              '';
-            };
-          };
-
-          meta = {
-            enable = mkEnableOption "BeeGFS meta data daemon";
-
-            storeDir = mkOption {
-              type = types.path;
-              default = null;
-              example = "/data/beegfs-meta";
-              description = ''
-                Data directory for meta data service.
-                Must not be shared with other beegfs daemons.
-                The underlying filesystem must be mounted with xattr turned on.
-                This directory must exist and it must be initialized
-                with beegfs-setup-meta, e.g.
-                "beegfs-setup-meta -C -s &lt;serviceID&gt; -p &lt;storeDir&gt;"
-              '';
-            };
-
-            extraConfig = mkOption {
-              type = types.str;
-              default = "";
-              description = ''
-                Additional lines for beegfs-meta.conf. See documentation
-                for further details.
-              '';
-            };
-          };
-
-          storage = {
-            enable = mkEnableOption "BeeGFS storage daemon";
-
-            storeDir = mkOption {
-              type = types.path;
-              default = null;
-              example = "/data/beegfs-storage";
-              description = ''
-                Data directories for storage service.
-                Must not be shared with other beegfs daemons.
-                The underlying filesystem must be mounted with xattr turned on.
-                This directory must exist and it must be initialized
-                with beegfs-setup-storage, e.g.
-                "beegfs-setup-storage -C -s &lt;serviceID&gt; -i &lt;storageTargetID&gt; -p &lt;storeDir&gt;"
-              '';
-            };
-
-            extraConfig = mkOption {
-              type = types.str;
-              default = "";
-              description = ''
-                Addional lines for beegfs-storage.conf. See documentation
-                for further details.
-              '';
-            };
-          };
-        };
-      }));
-    };
-  };
-
-  ###### implementation
-
-  config =
-    mkIf config.services.beegfsEnable {
-
-    environment.systemPackages = utilWrappers;
-
-    # Put the client.conf files in /etc since they are needed
-    # by the commandline tools
-    environment.etc = mapAttrs' ( name: cfg:
-      (nameValuePair "beegfs/client-${name}.conf" (mkIf (cfg.client.enable)
-    {
-      enable = true;
-      text = configClient name cfg;
-    }))) cfg;
-
-    # Kernel module, we need it only once per host.
-    boot = mkIf (
-      foldr (a: b: a || b) false
-        (map (x: x.client.enable) (collect (x: x ? client) cfg)))
-    {
-      kernelModules = [ "beegfs" ];
-      extraModulePackages = [ pkgs.linuxPackages.beegfs-module ];
-    };
-
-    # generate fstab entries
-    fileSystems = mapAttrs' (name: cfg:
-      (nameValuePair cfg.client.mountPoint (optionalAttrs cfg.client.mount (mkIf cfg.client.enable {
-      device = "beegfs_nodev";
-      fsType = "beegfs";
-      mountPoint = cfg.client.mountPoint;
-      options = [ "cfgFile=${configClientFilename name}" "_netdev" ];
-    })))) cfg;
-
-    # generate systemd services
-    systemd.services = systemdHelperd //
-      foldr (a: b: a // b) {}
-        (map (x: systemdEntry x.service x.cfgFile) serviceList);
-  };
-}
diff --git a/nixos/modules/services/network-filesystems/samba.nix b/nixos/modules/services/network-filesystems/samba.nix
index 0315c1c71ee3..875ab70bfc73 100644
--- a/nixos/modules/services/network-filesystems/samba.nix
+++ b/nixos/modules/services/network-filesystems/samba.nix
@@ -40,6 +40,7 @@ let
   daemonService = appName: args:
     { description = "Samba Service Daemon ${appName}";
 
+      after = [ (mkIf (cfg.enableNmbd && "${appName}" == "smbd") "samba-nmbd.service") ];
       requiredBy = [ "samba.target" ];
       partOf = [ "samba.target" ];
 
@@ -114,7 +115,7 @@ in
         type = types.package;
         default = pkgs.samba;
         defaultText = "pkgs.samba";
-        example = literalExample "pkgs.samba3";
+        example = literalExample "pkgs.samba4Full";
         description = ''
           Defines which package should be used for the samba server.
         '';
diff --git a/nixos/modules/services/networking/bind.nix b/nixos/modules/services/networking/bind.nix
index 06af4dbcca4e..d09c6735e123 100644
--- a/nixos/modules/services/networking/bind.nix
+++ b/nixos/modules/services/networking/bind.nix
@@ -78,7 +78,11 @@ in
       cacheNetworks = mkOption {
         default = ["127.0.0.0/24"];
         description = "
-          What networks are allowed to use us as a resolver.
+          What networks are allowed to use us as a resolver.  Note
+          that this is for recursive queries -- all networks are
+          allowed to query zones configured with the `zones` option.
+          It is recommended that you limit cacheNetworks to avoid your
+          server being used for DNS amplification attacks.
         ";
       };
 
diff --git a/nixos/modules/services/networking/bitcoind.nix b/nixos/modules/services/networking/bitcoind.nix
index 90f1291c0198..4e00a8865474 100644
--- a/nixos/modules/services/networking/bitcoind.nix
+++ b/nixos/modules/services/networking/bitcoind.nix
@@ -177,9 +177,6 @@ in {
         NoNewPrivileges = "true";
         PrivateDevices = "true";
         MemoryDenyWriteExecute = "true";
-
-        # Permission for preStart
-        PermissionsStartOnly = "true";
       };
     };
     users.users.${cfg.user} = {
diff --git a/nixos/modules/services/networking/connman.nix b/nixos/modules/services/networking/connman.nix
index 31127f790499..cac517f410e5 100644
--- a/nixos/modules/services/networking/connman.nix
+++ b/nixos/modules/services/networking/connman.nix
@@ -4,7 +4,7 @@ with pkgs;
 with lib;
 
 let
-  cfg = config.networking.connman;
+  cfg = config.services.connman;
   configFile = pkgs.writeText "connman.conf" ''
     [General]
     NetworkInterfaceBlacklist=${concatStringsSep "," cfg.networkInterfaceBlacklist}
@@ -17,7 +17,7 @@ in {
 
   options = {
 
-    networking.connman = {
+    services.connman = {
 
       enable = mkOption {
         type = types.bool;
@@ -71,13 +71,13 @@ in {
 
     assertions = [{
       assertion = !config.networking.useDHCP;
-      message = "You can not use services.networking.connman with services.networking.useDHCP";
+      message = "You can not use services.connman with networking.useDHCP";
     }{
       assertion = config.networking.wireless.enable;
-      message = "You must use services.networking.connman with services.networking.wireless";
+      message = "You must use services.connman with networking.wireless";
     }{
       assertion = !config.networking.networkmanager.enable;
-      message = "You can not use services.networking.connman with services.networking.networkmanager";
+      message = "You can not use services.connman with networking.networkmanager";
     }];
 
     environment.systemPackages = [ connman ];
diff --git a/nixos/modules/services/networking/dnschain.nix b/nixos/modules/services/networking/dnschain.nix
index 5b58ea9b0c91..b837bf816a15 100644
--- a/nixos/modules/services/networking/dnschain.nix
+++ b/nixos/modules/services/networking/dnschain.nix
@@ -137,7 +137,7 @@ in
       ];
 
     services.pdns-recursor = mkIf cfgs.pdns-recursor.resolveDNSChainQueries {
-      forwardZones =
+      forwardZonesRecurse =
         { bit = "127.0.0.1:${toString cfg.dns.port}";
           dns = "127.0.0.1:${toString cfg.dns.port}";
         };
diff --git a/nixos/modules/services/networking/eternal-terminal.nix b/nixos/modules/services/networking/eternal-terminal.nix
index be7337ece7e4..a2e5b30dc0f0 100644
--- a/nixos/modules/services/networking/eternal-terminal.nix
+++ b/nixos/modules/services/networking/eternal-terminal.nix
@@ -23,6 +23,8 @@ in
         type = types.int;
         description = ''
           The port the server should listen on. Will use the server's default (2022) if not specified.
+
+          Make sure to open this port in the firewall if necessary.
         '';
       };
 
@@ -86,4 +88,8 @@ in
       };
     };
   };
+
+  meta = {
+    maintainers = with lib.maintainers; [ pingiun ];
+  };
 }
diff --git a/nixos/modules/services/networking/pdns-recursor.nix b/nixos/modules/services/networking/pdns-recursor.nix
index ebfdd9f35b72..e55ea3633781 100644
--- a/nixos/modules/services/networking/pdns-recursor.nix
+++ b/nixos/modules/services/networking/pdns-recursor.nix
@@ -91,10 +91,18 @@ in {
 
     forwardZones = mkOption {
       type = types.attrs;
+      default = {};
+      description = ''
+        DNS zones to be forwarded to other authoritative servers.
+      '';
+    };
+
+    forwardZonesRecurse = mkOption {
+      type = types.attrs;
       example = { eth = "127.0.0.1:5353"; };
       default = {};
       description = ''
-        DNS zones to be forwarded to other servers.
+        DNS zones to be forwarded to other recursive servers.
       '';
     };
 
@@ -158,7 +166,8 @@ in {
       webserver-port       = cfg.api.port;
       webserver-allow-from = cfg.api.allowFrom;
 
-      forward-zones    = mapAttrsToList (zone: uri: "${zone}.=${uri}") cfg.forwardZones;
+      forward-zones         = mapAttrsToList (zone: uri: "${zone}.=${uri}") cfg.forwardZones;
+      forward-zones-recurse = mapAttrsToList (zone: uri: "${zone}.=${uri}") cfg.forwardZonesRecurse;
       export-etc-hosts = cfg.exportHosts;
       dnssec           = cfg.dnssecValidation;
       serve-rfc1918    = cfg.serveRFC1918;
diff --git a/nixos/modules/services/networking/syncthing.nix b/nixos/modules/services/networking/syncthing.nix
index 165fd5970cf8..b3f2af5b1794 100644
--- a/nixos/modules/services/networking/syncthing.nix
+++ b/nixos/modules/services/networking/syncthing.nix
@@ -18,6 +18,7 @@ let
     fsWatcherEnabled = folder.watch;
     fsWatcherDelayS = folder.watchDelay;
     ignorePerms = folder.ignorePerms;
+    versioning = folder.versioning;
   }) (filterAttrs (
     _: folder:
     folder.enable
@@ -220,6 +221,69 @@ in {
                 '';
               };
 
+              versioning = mkOption {
+                default = null;
+                description = ''
+                  How to keep changed/deleted files with syncthing.
+                  There are 4 different types of versioning with different parameters.
+                  See https://docs.syncthing.net/users/versioning.html
+                '';
+                example = [
+                  {
+                    versioning = {
+                      type = "simple";
+                      params.keep = "10";
+                    };
+                  }
+                  {
+                    versioning = {
+                      type = "trashcan";
+                      params.cleanoutDays = "1000";
+                    };
+                  }
+                  {
+                    versioning = {
+                      type = "staggered";
+                      params = {
+                        cleanInterval = "3600";
+                        maxAge = "31536000";
+                        versionsPath = "/syncthing/backup";
+                      };
+                    };
+                  }
+                  {
+                    versioning = {
+                      type = "external";
+                      params.versionsPath = pkgs.writers.writeBash "backup" ''
+                        folderpath="$1"
+                        filepath="$2"
+                        rm -rf "$folderpath/$filepath"
+                      '';
+                    };
+                  }
+                ];
+                type = with types; nullOr (submodule {
+                  options = {
+                    type = mkOption {
+                      type = enum [ "external" "simple" "staggered" "trashcan" ];
+                      description = ''
+                        Type of versioning.
+                        See https://docs.syncthing.net/users/versioning.html
+                      '';
+                    };
+                    params = mkOption {
+                      type = attrsOf (either str path);
+                      description = ''
+                        Parameters for versioning. Structure depends on versioning.type.
+                        See https://docs.syncthing.net/users/versioning.html
+                      '';
+                    };
+                  };
+                });
+              };
+
+
+
               rescanInterval = mkOption {
                 type = types.int;
                 default = 3600;
diff --git a/nixos/modules/services/networking/wpa_supplicant.nix b/nixos/modules/services/networking/wpa_supplicant.nix
index 294c0d70edea..8f05c3949fba 100644
--- a/nixos/modules/services/networking/wpa_supplicant.nix
+++ b/nixos/modules/services/networking/wpa_supplicant.nix
@@ -236,9 +236,12 @@ in {
         ${if ifaces == [] then ''
           for i in $(cd /sys/class/net && echo *); do
             DEVTYPE=
-            source /sys/class/net/$i/uevent
-            if [ "$DEVTYPE" = "wlan" -o -e /sys/class/net/$i/wireless ]; then
-              ifaces="$ifaces''${ifaces:+ -N} -i$i"
+            UEVENT_PATH=/sys/class/net/$i/uevent
+            if [ -e "$UEVENT_PATH" ]; then
+              source "$UEVENT_PATH"
+              if [ "$DEVTYPE" = "wlan" -o -e /sys/class/net/$i/wireless ]; then
+                ifaces="$ifaces''${ifaces:+ -N} -i$i"
+              fi
             fi
           done
         '' else ''
diff --git a/nixos/modules/services/networking/yggdrasil.nix b/nixos/modules/services/networking/yggdrasil.nix
index 0da50ccc344b..5d65f8e34136 100644
--- a/nixos/modules/services/networking/yggdrasil.nix
+++ b/nixos/modules/services/networking/yggdrasil.nix
@@ -128,12 +128,6 @@ in {
       }
     ];
 
-    environment.etc."yggdrasil.conf" = {
-      enable = true;
-      mode = "symlink";
-      source = "/run/yggdrasil/yggdrasil.conf";
-    };
-
     systemd.services.yggdrasil = {
       description = "Yggdrasil Network Service";
       path = [ cfg.package ] ++ optional (configProvided && configFileProvided) pkgs.jq;
@@ -146,7 +140,7 @@ in {
       '';
 
       serviceConfig = {
-        ExecStart = "${cfg.package}/bin/yggdrasil -useconffile /etc/yggdrasil.conf";
+        ExecStart = "${cfg.package}/bin/yggdrasil -useconffile /run/yggdrasil/yggdrasil.conf";
         ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
         Restart = "always";
 
diff --git a/nixos/modules/services/networking/znc/default.nix b/nixos/modules/services/networking/znc/default.nix
index 05f97bfa539f..0a9848a49349 100644
--- a/nixos/modules/services/networking/znc/default.nix
+++ b/nixos/modules/services/networking/znc/default.nix
@@ -239,7 +239,7 @@ in
     services.znc = {
       configFile = mkDefault (pkgs.writeText "znc-generated.conf" semanticString);
       config = {
-        Version = (builtins.parseDrvName pkgs.znc.name).version;
+        Version = lib.getVersion pkgs.znc;
         Listener.l.Port = mkDefault 5000;
         Listener.l.SSL = mkDefault true;
       };
diff --git a/nixos/modules/services/torrent/magnetico.nix b/nixos/modules/services/torrent/magnetico.nix
index a7acdb78b316..719827713ff9 100644
--- a/nixos/modules/services/torrent/magnetico.nix
+++ b/nixos/modules/services/torrent/magnetico.nix
@@ -35,6 +35,7 @@ let
        (if (cfg.web.credentialsFile != null || cfg.web.credentials != { })
          then "--credentials=${toString credFile}"
          else "--no-auth")
+       "--addr=${address}:${toString port}"
      ] ++ extraOptions);
 
 in {
@@ -177,7 +178,7 @@ in {
     systemd.services.magneticod = {
       description = "Magnetico DHT crawler";
       wantedBy = [ "multi-user.target" ];
-      after    = [ "network-online.target" ];
+      after    = [ "network.target" ];
 
       serviceConfig = {
         User      = "magnetico";
@@ -189,7 +190,7 @@ in {
     systemd.services.magneticow = {
       description = "Magnetico web interface";
       wantedBy = [ "multi-user.target" ];
-      after    = [ "network-online.target" "magneticod.service"];
+      after    = [ "network.target" "magneticod.service"];
 
       serviceConfig = {
         User           = "magnetico";
@@ -202,7 +203,7 @@ in {
     assertions =
     [
       {
-        assertion = cfg.web.credentialsFile != null || cfg.web.credentials != { };
+        assertion = cfg.web.credentialsFile == null || cfg.web.credentials == { };
         message = ''
           The options services.magnetico.web.credentialsFile and
           services.magnetico.web.credentials are mutually exclusives.
diff --git a/nixos/modules/services/web-apps/matomo-doc.xml b/nixos/modules/services/web-apps/matomo-doc.xml
index 79cece551d34..69d1170e4523 100644
--- a/nixos/modules/services/web-apps/matomo-doc.xml
+++ b/nixos/modules/services/web-apps/matomo-doc.xml
@@ -86,12 +86,6 @@ GRANT ALL PRIVILEGES ON matomo.* TO 'matomo'@'localhost';
   <itemizedlist>
    <listitem>
     <para>
-     Matomo's file integrity check will warn you. This is due to the patches
-     necessary for NixOS, you can safely ignore this.
-    </para>
-   </listitem>
-   <listitem>
-    <para>
      Matomo will warn you that the JavaScript tracker is not writable. This is
      because it's located in the read-only nix store. You can safely ignore
      this, unless you need a plugin that needs JavaScript tracker access.
diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix
index b9186a1dc07f..b67f08808786 100644
--- a/nixos/modules/services/web-apps/nextcloud.nix
+++ b/nixos/modules/services/web-apps/nextcloud.nix
@@ -390,6 +390,7 @@ in {
         in {
           wantedBy = [ "multi-user.target" ];
           before = [ "phpfpm-nextcloud.service" ];
+          path = [ occ ];
           script = ''
             chmod og+x ${cfg.home}
             ln -sf ${pkgs.nextcloud}/apps ${cfg.home}/
diff --git a/nixos/modules/services/web-servers/nginx/location-options.nix b/nixos/modules/services/web-servers/nginx/location-options.nix
index aeb9b1dd79ef..2b3749d8a744 100644
--- a/nixos/modules/services/web-servers/nginx/location-options.nix
+++ b/nixos/modules/services/web-servers/nginx/location-options.nix
@@ -1,4 +1,4 @@
-# This file defines the options that can be used both for the Apache
+# This file defines the options that can be used both for the Nginx
 # main server configuration, and for the virtual hosts.  (The latter
 # has additional options that affect the web server as a whole, like
 # the user/group to run under.)
@@ -92,4 +92,3 @@ with lib;
     };
   };
 }
-
diff --git a/nixos/modules/services/web-servers/nginx/vhost-options.nix b/nixos/modules/services/web-servers/nginx/vhost-options.nix
index 15b933c984a6..7e488f33a419 100644
--- a/nixos/modules/services/web-servers/nginx/vhost-options.nix
+++ b/nixos/modules/services/web-servers/nginx/vhost-options.nix
@@ -1,4 +1,4 @@
-# This file defines the options that can be used both for the Apache
+# This file defines the options that can be used both for the Nginx
 # main server configuration, and for the virtual hosts.  (The latter
 # has additional options that affect the web server as a whole, like
 # the user/group to run under.)
diff --git a/nixos/modules/services/web-servers/phpfpm/default.nix b/nixos/modules/services/web-servers/phpfpm/default.nix
index 095de64dfb14..7698f8c3a263 100644
--- a/nixos/modules/services/web-servers/phpfpm/default.nix
+++ b/nixos/modules/services/web-servers/phpfpm/default.nix
@@ -262,6 +262,7 @@ in {
         in {
           Slice = "phpfpm.slice";
           PrivateDevices = true;
+          PrivateTmp = true;
           ProtectSystem = "full";
           ProtectHome = true;
           # XXX: We need AF_NETLINK to make the sendmail SUID binary from postfix work
diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix
index dfb84113e130..671a959cdde1 100644
--- a/nixos/modules/services/x11/desktop-managers/default.nix
+++ b/nixos/modules/services/x11/desktop-managers/default.nix
@@ -18,7 +18,7 @@ in
   # determines the default: later modules (if enabled) are preferred.
   # E.g., if Plasma 5 is enabled, it supersedes xterm.
   imports = [
-    ./none.nix ./xterm.nix ./xfce.nix ./xfce4-14.nix ./plasma5.nix ./lumina.nix
+    ./none.nix ./xterm.nix ./xfce.nix ./plasma5.nix ./lumina.nix
     ./lxqt.nix ./enlightenment.nix ./gnome3.nix ./kodi.nix ./maxx.nix
     ./mate.nix ./pantheon.nix ./surf-display.nix
   ];
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index 0135ac19cbf7..6725595e1cfd 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -309,7 +309,7 @@ in
         gnome-shell
         gnome-shell-extensions
         gnome-themes-extra
-        gnome-user-docs
+        pkgs.gnome-user-docs
         pkgs.orca
         pkgs.glib # for gsettings
         pkgs.gnome-menus
diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix
index b6fb7218da6f..da8bdcb78c43 100644
--- a/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -27,20 +27,13 @@ in
         example = "vlc";
         description = "Phonon audio backend to install.";
       };
-
-      enableQt4Support = mkOption {
-        type = types.bool;
-        default = true;
-        description = ''
-          Enable support for Qt 4-based applications. Particularly, install a
-          default backend for Phonon.
-        '';
-      };
-
     };
 
   };
 
+  imports = [
+    (mkRemovedOptionModule [ "services" "xserver" "desktopManager" "plasma5" "enableQt4Support" ] "Phonon no longer supports Qt 4.")
+  ];
 
   config = mkMerge [
     (mkIf cfg.enable {
@@ -173,9 +166,7 @@ in
 
         # Phonon audio backend
         ++ lib.optional (cfg.phononBackend == "gstreamer") libsForQt5.phonon-backend-gstreamer
-        ++ lib.optional (cfg.phononBackend == "gstreamer" && cfg.enableQt4Support) pkgs.phonon-backend-gstreamer
         ++ lib.optional (cfg.phononBackend == "vlc") libsForQt5.phonon-backend-vlc
-        ++ lib.optional (cfg.phononBackend == "vlc" && cfg.enableQt4Support) pkgs.phonon-backend-vlc
 
         # Optional hardware support features
         ++ lib.optionals config.hardware.bluetooth.enable [ bluedevil bluez-qt ]
@@ -232,7 +223,6 @@ in
       security.pam.services.kdm.enableKwallet = true;
       security.pam.services.lightdm.enableKwallet = true;
       security.pam.services.sddm.enableKwallet = true;
-      security.pam.services.slim.enableKwallet = true;
 
       xdg.portal.enable = true;
       xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-kde ];
diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix
index 6965c6d26467..0b70ad5f29c8 100644
--- a/nixos/modules/services/x11/desktop-managers/xfce.nix
+++ b/nixos/modules/services/x11/desktop-managers/xfce.nix
@@ -7,6 +7,32 @@ let
 in
 
 {
+
+  imports = [
+    # added 2019-08-18
+    # needed to preserve some semblance of UI familarity
+    # with original XFCE module
+    (mkRenamedOptionModule
+      [ "services" "xserver" "desktopManager" "xfce4-14" "extraSessionCommands" ]
+      [ "services" "xserver" "displayManager" "sessionCommands" ])
+
+    # added 2019-11-04
+    # xfce4-14 module removed and promoted to xfce.
+    # Needed for configs that used xfce4-14 module to migrate to this one.
+    (mkRenamedOptionModule
+      [ "services" "xserver" "desktopManager" "xfce4-14" "enable" ]
+      [ "services" "xserver" "desktopManager" "xfce" "enable" ])
+    (mkRenamedOptionModule
+      [ "services" "xserver" "desktopManager" "xfce4-14" "noDesktop" ]
+      [ "services" "xserver" "desktopManager" "xfce" "noDesktop" ])
+    (mkRenamedOptionModule
+      [ "services" "xserver" "desktopManager" "xfce4-14" "enableXfwm" ]
+      [ "services" "xserver" "desktopManager" "xfce" "enableXfwm" ])
+    (mkRenamedOptionModule
+      [ "services" "xserver" "desktopManager" "xfce" "extraSessionCommands" ]
+      [ "services" "xserver" "displayManager" "sessionCommands" ])
+  ];
+
   options = {
     services.xserver.desktopManager.xfce = {
       enable = mkOption {
@@ -30,14 +56,6 @@ in
         description = "Don't install XFCE desktop components (xfdesktop, panel and notification daemon).";
       };
 
-      extraSessionCommands = mkOption {
-        default = "";
-        type = types.lines;
-        description = ''
-          Shell commands executed just before XFCE is started.
-        '';
-      };
-
       enableXfwm = mkOption {
         type = types.bool;
         default = true;
@@ -48,76 +66,101 @@ in
 
   config = mkIf cfg.enable {
     environment.systemPackages = with pkgs.xfce // pkgs; [
-      # Get GTK themes and gtk-update-icon-cache
-      gtk2.out
+      glib # for gsettings
+      gtk3.out # gtk-update-icon-cache
 
-      # Supplies some abstract icons such as:
-      # utilities-terminal, accessories-text-editor
+      gnome3.gnome-themes-extra
       gnome3.adwaita-icon-theme
-
       hicolor-icon-theme
       tango-icon-theme
       xfce4-icon-theme
 
+      desktop-file-utils
+      shared-mime-info # for update-mime-database
+
+      # For a polkit authentication agent
+      polkit_gnome
+
       # Needed by Xfce's xinitrc script
-      # TODO: replace with command -v
-      which
+      xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
 
       exo
       garcon
-      gtk-xfce-engine
       libxfce4ui
-      tumbler
       xfconf
 
       mousepad
+      parole
       ristretto
       xfce4-appfinder
       xfce4-screenshooter
       xfce4-session
       xfce4-settings
+      xfce4-taskmanager
       xfce4-terminal
 
       (thunar.override { thunarPlugins = cfg.thunarPlugins; })
-      thunar-volman # TODO: drop
-    ] ++ (if config.hardware.pulseaudio.enable
-          then [ xfce4-mixer-pulse xfce4-volumed-pulse ]
-          else [ xfce4-mixer xfce4-volumed ])
-      # TODO: NetworkManager doesn't belong here
-      ++ optionals config.networking.networkmanager.enable [ networkmanagerapplet ]
-      ++ optionals config.powerManagement.enable [ xfce4-power-manager ]
-      ++ optionals cfg.enableXfwm [ xfwm4 ]
-      ++ optionals (!cfg.noDesktop) [
-        xfce4-panel
+    ] # TODO: NetworkManager doesn't belong here
+      ++ optional config.networking.networkmanager.enable networkmanagerapplet
+      ++ optional config.powerManagement.enable xfce4-power-manager
+      ++ optionals config.hardware.pulseaudio.enable [
+        pavucontrol
+        # volume up/down keys support:
+        # xfce4-pulseaudio-plugin includes all the functionalities of xfce4-volumed-pulse
+        # but can only be used with xfce4-panel, so for no-desktop usage we still include
+        # xfce4-volumed-pulse
+        (if cfg.noDesktop then xfce4-volumed-pulse else xfce4-pulseaudio-plugin)
+      ] ++ optionals cfg.enableXfwm [
+        xfwm4
+        xfwm4-themes
+      ] ++ optionals (!cfg.noDesktop) [
         xfce4-notifyd
+        xfce4-panel
         xfdesktop
       ];
 
     environment.pathsToLink = [
       "/share/xfce4"
-      "/share/themes"
-      "/share/gtksourceview-2.0"
+      "/lib/xfce4"
+      "/share/gtksourceview-3.0"
+      "/share/gtksourceview-4.0"
     ];
 
-    services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
-
     services.xserver.desktopManager.session = [{
       name = "xfce";
       bgSupport = true;
       start = ''
-        ${cfg.extraSessionCommands}
-
-        ${pkgs.runtimeShell} ${pkgs.xfce.xinitrc} &
+        ${pkgs.runtimeShell} ${pkgs.xfce.xfce4-session.xinitrc} &
         waitPID=$!
       '';
     }];
 
     services.xserver.updateDbusEnvironment = true;
+    services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
 
     # Enable helpful DBus services.
     services.udisks2.enable = true;
+    security.polkit.enable = true;
+    services.accounts-daemon.enable = true;
     services.upower.enable = config.powerManagement.enable;
+    services.gnome3.glib-networking.enable = true;
     services.gvfs.enable = true;
     services.gvfs.package = pkgs.xfce.gvfs;
+    services.tumbler.enable = true;
+    services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
+    services.xserver.libinput.enable = mkDefault true; # used in xfce4-settings-manager
+
+    # Enable default programs
+    programs.dconf.enable = true;
+
+    # Shell integration for VTE terminals
+    programs.bash.vteIntegration = mkDefault true;
+    programs.zsh.vteIntegration = mkDefault true;
+
+    # Systemd services
+    systemd.packages = with pkgs.xfce; [
+      (thunar.override { thunarPlugins = cfg.thunarPlugins; })
+    ] ++ optional (!cfg.noDesktop) xfce4-notifyd;
+
   };
 }
diff --git a/nixos/modules/services/x11/desktop-managers/xfce4-14.nix b/nixos/modules/services/x11/desktop-managers/xfce4-14.nix
deleted file mode 100644
index ffc99172e795..000000000000
--- a/nixos/modules/services/x11/desktop-managers/xfce4-14.nix
+++ /dev/null
@@ -1,152 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-  cfg = config.services.xserver.desktopManager.xfce4-14;
-in
-
-{
-  # added 2019-08-18
-  # needed to preserve some semblance of UI familarity
-  # with original XFCE module
-  imports = [
-    (mkRenamedOptionModule
-      [ "services" "xserver" "desktopManager" "xfce4-14" "extraSessionCommands" ]
-      [ "services" "xserver" "displayManager" "sessionCommands" ])
-  ];
-
-  options = {
-    services.xserver.desktopManager.xfce4-14 = {
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = "Enable the Xfce desktop environment.";
-      };
-
-    # TODO: support thunar plugins
-    #   thunarPlugins = mkOption {
-    #     default = [];
-    #     type = types.listOf types.package;
-    #     example = literalExample "[ pkgs.xfce4-14.thunar-archive-plugin ]";
-    #     description = ''
-    #       A list of plugin that should be installed with Thunar.
-    #     '';
-    #  };
-
-      noDesktop = mkOption {
-        type = types.bool;
-        default = false;
-        description = "Don't install XFCE desktop components (xfdesktop, panel and notification daemon).";
-      };
-
-      enableXfwm = mkOption {
-        type = types.bool;
-        default = true;
-        description = "Enable the XFWM (default) window manager.";
-      };
-    };
-  };
-
-  config = mkIf cfg.enable {
-    environment.systemPackages = with pkgs.xfce4-14 // pkgs; [
-      glib # for gsettings
-      gtk3.out # gtk-update-icon-cache
-
-      gnome3.gnome-themes-extra
-      gnome3.adwaita-icon-theme
-      hicolor-icon-theme
-      tango-icon-theme
-      xfce4-icon-theme
-
-      desktop-file-utils
-      shared-mime-info # for update-mime-database
-
-      # For a polkit authentication agent
-      polkit_gnome
-
-      # Needed by Xfce's xinitrc script
-      xdg-user-dirs # Update user dirs as described in https://freedesktop.org/wiki/Software/xdg-user-dirs/
-
-      exo
-      garcon
-      libxfce4ui
-      xfconf
-
-      mousepad
-      parole
-      ristretto
-      xfce4-appfinder
-      xfce4-screenshooter
-      xfce4-session
-      xfce4-settings
-      xfce4-taskmanager
-      xfce4-terminal
-
-      # TODO: resync patch for plugins
-      #(thunar.override { thunarPlugins = cfg.thunarPlugins; })
-      thunar
-    ] # TODO: NetworkManager doesn't belong here
-      ++ optional config.networking.networkmanager.enable networkmanagerapplet
-      ++ optional config.powerManagement.enable xfce4-power-manager
-      ++ optionals config.hardware.pulseaudio.enable [
-        pavucontrol
-        # volume up/down keys support:
-        # xfce4-pulseaudio-plugin includes all the functionalities of xfce4-volumed-pulse
-        # but can only be used with xfce4-panel, so for no-desktop usage we still include
-        # xfce4-volumed-pulse
-        (if cfg.noDesktop then xfce4-volumed-pulse else xfce4-pulseaudio-plugin)
-      ] ++ optionals cfg.enableXfwm [
-        xfwm4
-        xfwm4-themes
-      ] ++ optionals (!cfg.noDesktop) [
-        xfce4-notifyd
-        xfce4-panel
-        xfdesktop
-      ];
-
-    environment.pathsToLink = [
-      "/share/xfce4"
-      "/lib/xfce4"
-      "/share/gtksourceview-3.0"
-      "/share/gtksourceview-4.0"
-    ];
-
-    services.xserver.desktopManager.session = [{
-      name = "xfce4-14";
-      bgSupport = true;
-      start = ''
-        ${pkgs.runtimeShell} ${pkgs.xfce4-14.xinitrc} &
-        waitPID=$!
-      '';
-    }];
-
-    services.xserver.updateDbusEnvironment = true;
-    services.xserver.gdk-pixbuf.modulePackages = [ pkgs.librsvg ];
-
-    # Enable helpful DBus services.
-    services.udisks2.enable = true;
-    security.polkit.enable = true;
-    services.accounts-daemon.enable = true;
-    services.upower.enable = config.powerManagement.enable;
-    services.gnome3.glib-networking.enable = true;
-    services.gvfs.enable = true;
-    services.gvfs.package = pkgs.xfce.gvfs;
-    services.tumbler.enable = true;
-    services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
-    services.xserver.libinput.enable = mkDefault true; # used in xfce4-settings-manager
-
-    # Enable default programs
-    programs.dconf.enable = true;
-
-    # Shell integration for VTE terminals
-    programs.bash.vteIntegration = mkDefault true;
-    programs.zsh.vteIntegration = mkDefault true;
-
-    # Systemd services
-    systemd.packages = with pkgs.xfce4-14; [
-      thunar
-    ] ++ optional (!cfg.noDesktop) xfce4-notifyd;
-
-  };
-}
diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix
index bf6b048654b3..b66856fd4d44 100644
--- a/nixos/modules/services/x11/display-managers/default.nix
+++ b/nixos/modules/services/x11/display-managers/default.nix
@@ -1,9 +1,9 @@
 # This module declares the options to define a *display manager*, the
-# program responsible for handling X logins (such as xdm, gdb, or
-# SLiM).  The display manager allows the user to select a *session
-# type*.  When the user logs in, the display manager starts the
+# program responsible for handling X logins (such as LightDM, GDM, or SDDM).
+# The display manager allows the user to select a *session
+# type*. When the user logs in, the display manager starts the
 # *session script* ("xsession" below) to launch the selected session
-# type.  The session type defines two things: the *desktop manager*
+# type. The session type defines two things: the *desktop manager*
 # (e.g., KDE, Gnome or a plain xterm), and optionally the *window
 # manager* (e.g. kwin or twm).
 
@@ -196,7 +196,6 @@ let
         fi
       '') cfg.displayManager.extraSessionFilePackages}
 
-      
       ${concatMapStrings (pkg: ''
         if test -d ${pkg}/share/wayland-sessions; then
           mkdir -p "$out/share/wayland-sessions"
@@ -322,7 +321,7 @@ in
         execCmd = mkOption {
           type = types.str;
           example = literalExample ''
-            "''${pkgs.slim}/bin/slim"
+            "''${pkgs.lightdm}/bin/lightdm"
           '';
           description = "Command to start the display manager.";
         };
@@ -330,7 +329,6 @@ in
         environment = mkOption {
           type = types.attrsOf types.unspecified;
           default = {};
-          example = { SLIM_CFGFILE = "/etc/slim.conf"; };
           description = "Additional environment variables needed by the display manager.";
         };
 
diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix
index e5990aec4b9c..29a80aac6e68 100644
--- a/nixos/modules/services/x11/display-managers/gdm.nix
+++ b/nixos/modules/services/x11/display-managers/gdm.nix
@@ -31,6 +31,44 @@ let
     load-module module-position-event-sounds
   '';
 
+  dmDefault = config.services.xserver.desktopManager.default;
+  wmDefault = config.services.xserver.windowManager.default;
+  hasDefaultUserSession = dmDefault != "none" || wmDefault != "none";
+  defaultSessionName = dmDefault + optionalString (wmDefault != "none") ("+" + wmDefault);
+
+  setSessionScript = pkgs.python3.pkgs.buildPythonApplication {
+    name = "set-session";
+
+    format = "other";
+
+    src = ./set-session.py;
+
+    dontUnpack = true;
+
+    strictDeps = false;
+
+    nativeBuildInputs = with pkgs; [
+      wrapGAppsHook
+      gobject-introspection
+    ];
+
+    buildInputs = with pkgs; [
+      accountsservice
+      glib
+    ];
+
+    propagatedBuildInputs = with pkgs.python3.pkgs; [
+      pygobject3
+      ordered-set
+    ];
+
+    installPhase = ''
+      mkdir -p $out/bin
+      cp $src $out/bin/set-session
+      chmod +x $out/bin/set-session
+    '';
+  };
+
 in
 
 {
@@ -88,11 +126,21 @@ in
       wayland = mkOption {
         default = true;
         description = ''
-          Allow GDM run on Wayland instead of Xserver
+          Allow GDM to run on Wayland instead of Xserver.
+          Note to enable Wayland with Nvidia you need to
+          enable the <option>nvidiaWayland</option>.
         '';
         type = types.bool;
       };
 
+      nvidiaWayland = mkOption {
+        default = false;
+        description = ''
+          Whether to allow wayland to be used with the proprietary
+          NVidia graphics driver.
+        '';
+      };
+
       autoSuspend = mkOption {
         default = true;
         description = ''
@@ -156,6 +204,8 @@ in
           cat - > /run/gdm/.config/gnome-initial-setup-done <<- EOF
           yes
           EOF
+        '' + optionalString hasDefaultUserSession ''
+          ${setSessionScript}/bin/set-session ${defaultSessionName}
         '';
       };
 
@@ -197,6 +247,19 @@ in
 
     services.dbus.packages = [ gdm ];
 
+    # We duplicate upstream's udev rules manually to make wayland with nvidia configurable
+    services.udev.extraRules = ''
+      # disable Wayland on Cirrus chipsets
+      ATTR{vendor}=="0x1013", ATTR{device}=="0x00b8", ATTR{subsystem_vendor}=="0x1af4", ATTR{subsystem_device}=="0x1100", RUN+="${gdm}/libexec/gdm-disable-wayland"
+      # disable Wayland on Hi1710 chipsets
+      ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", RUN+="${gdm}/libexec/gdm-disable-wayland"
+      ${optionalString (!cfg.gdm.nvidiaWayland) ''
+        DRIVER=="nvidia", RUN+="${gdm}/libexec/gdm-disable-wayland"
+      ''}
+      # disable Wayland when modesetting is disabled
+      IMPORT{cmdline}="nomodeset", RUN+="${gdm}/libexec/gdm-disable-wayland"
+    '';
+
     systemd.user.services.dbus.wantedBy = [ "default.target" ];
 
     programs.dconf.profiles.gdm =
@@ -218,7 +281,7 @@ in
       customDconfDb = pkgs.stdenv.mkDerivation {
         name = "gdm-dconf-db";
         buildCommand = ''
-          ${pkgs.gnome3.dconf}/bin/dconf compile $out ${customDconf}/dconf
+          ${pkgs.dconf}/bin/dconf compile $out ${customDconf}/dconf
         '';
       };
     in pkgs.stdenv.mkDerivation {
diff --git a/nixos/modules/services/x11/display-managers/set-session.py b/nixos/modules/services/x11/display-managers/set-session.py
new file mode 100755
index 000000000000..0cca80af44e8
--- /dev/null
+++ b/nixos/modules/services/x11/display-managers/set-session.py
@@ -0,0 +1,86 @@
+#!/usr/bin/env python
+
+import gi, argparse, os, logging, sys
+
+gi.require_version("AccountsService", "1.0")
+from gi.repository import AccountsService, GLib
+from ordered_set import OrderedSet
+
+
+def get_session_file(session):
+    system_data_dirs = GLib.get_system_data_dirs()
+
+    session_dirs = OrderedSet(
+        os.path.join(data_dir, session)
+        for data_dir in system_data_dirs
+        for session in {"wayland-sessions", "xsessions"}
+    )
+
+    session_files = OrderedSet(
+        os.path.join(dir, session + ".desktop")
+        for dir in session_dirs
+        if os.path.exists(os.path.join(dir, session + ".desktop"))
+    )
+
+    # Deal with duplicate wayland-sessions and xsessions.
+    # Needed for the situation in gnome-session, where there's
+    # a xsession named the same as a wayland session.
+    if any(map(is_session_wayland, session_files)):
+        session_files = OrderedSet(
+            session for session in session_files if is_session_wayland(session)
+        )
+    else:
+        session_files = OrderedSet(
+            session for session in session_files if is_session_xsession(session)
+        )
+
+    if len(session_files) == 0:
+        logging.warning("No session files are found.")
+        sys.exit(0)
+    else:
+        return session_files[0]
+
+
+def is_session_xsession(session_file):
+    return "/xsessions/" in session_file
+
+
+def is_session_wayland(session_file):
+    return "/wayland-sessions/" in session_file
+
+
+def main():
+    parser = argparse.ArgumentParser(
+        description="Set session type for all normal users."
+    )
+    parser.add_argument("session", help="Name of session to set.")
+
+    args = parser.parse_args()
+
+    session = getattr(args, "session")
+    session_file = get_session_file(session)
+
+    user_manager = AccountsService.UserManager.get_default()
+    users = user_manager.list_users()
+
+    for user in users:
+        if user.is_system_account():
+            continue
+        else:
+            if is_session_wayland(session_file):
+                logging.debug(
+                    f"Setting session name: {session}, as we found the existing wayland-session: {session_file}"
+                )
+                user.set_session(session)
+            elif is_session_xsession(session_file):
+                logging.debug(
+                    f"Setting session name: {session}, as we found the existing xsession: {session_file}"
+                )
+                user.set_x_session(session)
+            else:
+                logging.error(f"Couldn't figure out session type for {session_file}")
+                sys.exit(1)
+
+
+if __name__ == "__main__":
+    main()
diff --git a/nixos/modules/services/x11/display-managers/slim.nix b/nixos/modules/services/x11/display-managers/slim.nix
index 124660a43f07..4b0948a5b7a5 100644
--- a/nixos/modules/services/x11/display-managers/slim.nix
+++ b/nixos/modules/services/x11/display-managers/slim.nix
@@ -2,155 +2,15 @@
 
 with lib;
 
-let
-
-  dmcfg = config.services.xserver.displayManager;
-
-  cfg = dmcfg.slim;
-
-  slimConfig = pkgs.writeText "slim.cfg"
-    ''
-      xauth_path ${dmcfg.xauthBin}
-      default_xserver ${dmcfg.xserverBin}
-      xserver_arguments ${toString dmcfg.xserverArgs}
-      sessiondir ${dmcfg.session.desktops}/share/xsessions
-      login_cmd exec ${pkgs.runtimeShell} ${dmcfg.session.wrapper} "%session"
-      halt_cmd ${config.systemd.package}/sbin/shutdown -h now
-      reboot_cmd ${config.systemd.package}/sbin/shutdown -r now
-      logfile /dev/stderr
-      ${optionalString (cfg.defaultUser != null) ("default_user " + cfg.defaultUser)}
-      ${optionalString (cfg.defaultUser != null) ("focus_password yes")}
-      ${optionalString cfg.autoLogin "auto_login yes"}
-      ${optionalString (cfg.consoleCmd != null) "console_cmd ${cfg.consoleCmd}"}
-      ${cfg.extraConfig}
-    '';
-
-  # Unpack the SLiM theme, or use the default.
-  slimThemesDir =
-    let
-      unpackedTheme = pkgs.runCommand "slim-theme" { preferLocalBuild = true; }
-        ''
-          mkdir -p $out
-          cd $out
-          unpackFile ${cfg.theme}
-          ln -s * default
-        '';
-    in if cfg.theme == null then "${pkgs.slim}/share/slim/themes" else unpackedTheme;
-
-in
-
 {
-
-  ###### interface
-
-  options = {
-
-    services.xserver.displayManager.slim = {
-
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Whether to enable SLiM as the display manager.
-        '';
-      };
-
-      theme = mkOption {
-        type = types.nullOr types.path;
-        default = pkgs.fetchurl {
-          url = "https://github.com/jagajaga/nixos-slim-theme/archive/2.0.tar.gz";
-          sha256 = "0lldizhigx7bjhxkipii87y432hlf5wdvamnfxrryf9z7zkfypc8";
-        };
-        defaultText = ''pkgs.fetchurl {
-          url = "https://github.com/jagajaga/nixos-slim-theme/archive/2.0.tar.gz";
-          sha256 = "0lldizhigx7bjhxkipii87y432hlf5wdvamnfxrryf9z7zkfypc8";
-        }'';
-        example = literalExample ''
-          pkgs.fetchurl {
-            url = "mirror://sourceforge/slim.berlios/slim-wave.tar.gz";
-            sha256 = "0ndr419i5myzcylvxb89m9grl2xyq6fbnyc3lkd711mzlmnnfxdy";
-          }
-        '';
-        description = ''
-          The theme for the SLiM login manager.  If not specified, SLiM's
-          default theme is used.  See <link
-          xlink:href='http://slim.berlios.de/themes01.php'/> for a
-          collection of themes. TODO: berlios shut down.
-        '';
-      };
-
-      defaultUser = mkOption {
-        type = types.nullOr types.str;
-        default = null;
-        example = "login";
-        description = ''
-          The default user to load. If you put a username here you
-          get it automatically loaded into the username field, and
-          the focus is placed on the password.
-        '';
-      };
-
-      autoLogin = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Automatically log in as the default user.
-        '';
-      };
-
-      extraConfig = mkOption {
-        type = types.lines;
-        default = "";
-        description = ''
-          Extra configuration options for SLiM login manager. Do not
-          add options that can be configured directly.
-        '';
-      };
-
-      consoleCmd = mkOption {
-        type = types.nullOr types.str;
-        default = ''
-          ${pkgs.xterm}/bin/xterm -C -fg white -bg black +sb -T "Console login" -e ${pkgs.shadow}/bin/login
-        '';
-        defaultText = ''
-          ''${pkgs.xterm}/bin/xterm -C -fg white -bg black +sb -T "Console login" -e ''${pkgs.shadow}/bin/login
-        '';
-        description = ''
-          The command to run when "console" is given as the username.
-        '';
-      };
-    };
-
-  };
-
-
-  ###### implementation
-
-  config = mkIf cfg.enable {
-
-    services.xserver.displayManager.job =
-      { environment =
-          { SLIM_CFGFILE = slimConfig;
-            SLIM_THEMESDIR = slimThemesDir;
-          };
-        execCmd = "exec ${pkgs.slim}/bin/slim";
-      };
-
-    services.xserver.displayManager.sessionCommands =
-      ''
-        # Export the config/themes for slimlock.
-        export SLIM_THEMESDIR=${slimThemesDir}
-      '';
-
-    # Allow null passwords so that the user can login as root on the
-    # installation CD.
-    security.pam.services.slim = { allowNullPassword = true; startSession = true; };
-
-    # Allow slimlock to work.
-    security.pam.services.slimlock = {};
-
-    environment.systemPackages = [ pkgs.slim ];
-
-  };
-
+  # added 2019-11-11
+  imports = [
+    (mkRemovedOptionModule [ "services" "xserver" "displayManager" "slim" ] ''
+      The SLIM project is abandoned and their last release was in 2013.
+      Because of this it poses a security risk to your system.
+      Other issues include it not fully supporting systemd and logind sessions.
+      Please use a different display manager such as LightDM, SDDM, or GDM.
+      You can also use the startx module which uses Xinitrc.
+    '')
+  ];
 }
diff --git a/nixos/modules/services/x11/hardware/libinput.nix b/nixos/modules/services/x11/hardware/libinput.nix
index 4a25232383d3..71065dfc26bb 100644
--- a/nixos/modules/services/x11/hardware/libinput.nix
+++ b/nixos/modules/services/x11/hardware/libinput.nix
@@ -209,12 +209,12 @@ in {
 
     services.xserver.config =
       ''
-        # Automatically enable the libinput driver for all touchpads.
+        # General libinput configuration.
+        # See CONFIGURATION DETAILS section of man:libinput(4).
         Section "InputClass"
           Identifier "libinputConfiguration"
-          MatchIsTouchpad "on"
+          MatchDriver "libinput"
           ${optionalString (cfg.dev != null) ''MatchDevicePath "${cfg.dev}"''}
-          Driver "libinput"
           Option "AccelProfile" "${cfg.accelProfile}"
           ${optionalString (cfg.accelSpeed != null) ''Option "AccelSpeed" "${cfg.accelSpeed}"''}
           ${optionalString (cfg.buttonMapping != null) ''Option "ButtonMapping" "${cfg.buttonMapping}"''}
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index a8406544a72f..70f01dbdbf59 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -557,7 +557,6 @@ in
           default = !( dmconf.auto.enable
                     || dmconf.gdm.enable
                     || dmconf.sddm.enable
-                    || dmconf.slim.enable
                     || dmconf.xpra.enable );
       in mkIf (default) true;
 
diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix
index e13f0421d38f..9a4db84f7b73 100644
--- a/nixos/modules/system/boot/loader/grub/grub.nix
+++ b/nixos/modules/system/boot/loader/grub/grub.nix
@@ -47,8 +47,8 @@ let
       grub = f grub;
       grubTarget = f (grub.grubTarget or "");
       shell = "${pkgs.runtimeShell}";
-      fullName = (builtins.parseDrvName realGrub.name).name;
-      fullVersion = (builtins.parseDrvName realGrub.name).version;
+      fullName = lib.getName realGrub;
+      fullVersion = lib.getVersion realGrub;
       grubEfi = f grubEfi;
       grubTargetEfi = if cfg.efiSupport && (cfg.version == 2) then f (grubEfi.grubTarget or "") else "";
       bootPath = args.path;
diff --git a/nixos/modules/system/boot/networkd.nix b/nixos/modules/system/boot/networkd.nix
index 85a106527fe0..226769f10597 100644
--- a/nixos/modules/system/boot/networkd.nix
+++ b/nixos/modules/system/boot/networkd.nix
@@ -10,7 +10,7 @@ let
 
   checkLink = checkUnitConfig "Link" [
     (assertOnlyFields [
-      "Description" "Alias" "MACAddressPolicy" "MACAddress" "NamePolicy" "OriginalName"
+      "Description" "Alias" "MACAddressPolicy" "MACAddress" "NamePolicy" "Name" "OriginalName"
       "MTUBytes" "BitsPerSecond" "Duplex" "AutoNegotiation" "WakeOnLan" "Port"
       "TCPSegmentationOffload" "TCP6SegmentationOffload" "GenericSegmentationOffload"
       "GenericReceiveOffload" "LargeReceiveOffload" "RxChannels" "TxChannels"
@@ -201,7 +201,7 @@ let
     (assertValueOneOf "IPv6AcceptRA" boolValues)
     (assertValueOneOf "IPv4ProxyARP" boolValues)
     (assertValueOneOf "IPv6ProxyNDP" boolValues)
-    (assertValueOneOf "IPv6PrefixDelegation" boolValues)
+    (assertValueOneOf "IPv6PrefixDelegation" (boolValues ++ [ "dhcpv6" "static" ]))
     (assertValueOneOf "ActiveSlave" boolValues)
     (assertValueOneOf "PrimarySlave" boolValues)
     (assertValueOneOf "ConfigureWithoutCarrier" boolValues)
@@ -924,6 +924,8 @@ in
 
   config = mkIf config.systemd.network.enable {
 
+    users.users.systemd-network.group = "systemd-network";
+
     systemd.additionalUpstreamSystemUnits = [
       "systemd-networkd.service" "systemd-networkd-wait-online.service"
     ];
diff --git a/nixos/modules/system/boot/resolved.nix b/nixos/modules/system/boot/resolved.nix
index 3ea96f8e4645..da61c64faf8b 100644
--- a/nixos/modules/system/boot/resolved.nix
+++ b/nixos/modules/system/boot/resolved.nix
@@ -136,6 +136,8 @@ in
       }
     ];
 
+    users.users.resolved.group = "systemd-resolve";
+
     systemd.additionalUpstreamSystemUnits = [
       "systemd-resolved.service"
     ];
diff --git a/nixos/modules/system/boot/timesyncd.nix b/nixos/modules/system/boot/timesyncd.nix
index 8282cdd6f3aa..9e2f36ca01f8 100644
--- a/nixos/modules/system/boot/timesyncd.nix
+++ b/nixos/modules/system/boot/timesyncd.nix
@@ -20,6 +20,18 @@ with lib;
           The set of NTP servers from which to synchronise.
         '';
       };
+      extraConfig = mkOption {
+        default = "";
+        type = types.lines;
+        example = ''
+          PollIntervalMaxSec=180
+        '';
+        description = ''
+          Extra config options for systemd-timesyncd. See
+          <link xlink:href="https://www.freedesktop.org/software/systemd/man/timesyncd.conf.html">
+          timesyncd.conf(5)</link> for available options.
+        '';
+      };
     };
   };
 
@@ -35,9 +47,13 @@ with lib;
     environment.etc."systemd/timesyncd.conf".text = ''
       [Time]
       NTP=${concatStringsSep " " config.services.timesyncd.servers}
+      ${config.services.timesyncd.extraConfig}
     '';
 
-    users.users.systemd-timesync.uid = config.ids.uids.systemd-timesync;
+    users.users.systemd-timesync = {
+      uid = config.ids.uids.systemd-timesync;
+      group = "systemd-timesync";
+    };
     users.groups.systemd-timesync.gid = config.ids.gids.systemd-timesync;
 
     system.activationScripts.systemd-timesyncd-migration = mkIf (versionOlder config.system.stateVersion "19.09") ''
diff --git a/nixos/modules/testing/test-instrumentation.nix b/nixos/modules/testing/test-instrumentation.nix
index 1a11d9ce7c26..1baeab53b0c2 100644
--- a/nixos/modules/testing/test-instrumentation.nix
+++ b/nixos/modules/testing/test-instrumentation.nix
@@ -15,7 +15,7 @@ with import ../../lib/qemu-flags.nix { inherit pkgs; };
   #
   # One particular example are the boot tests where we want instrumentation
   # within the images but not other stuff like setting up 9p filesystems.
-  options.virtualisation.qemu.program = mkOption { type = types.path; };
+  options.virtualisation.qemu = { };
 
   config = {
 
diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix
index 691ee2c136ec..09678ce9ea71 100644
--- a/nixos/modules/virtualisation/containers.nix
+++ b/nixos/modules/virtualisation/containers.nix
@@ -149,7 +149,7 @@ let
         --setenv PATH="$PATH" \
         ${optionalString cfg.ephemeral "--ephemeral"} \
         ${if cfg.additionalCapabilities != null && cfg.additionalCapabilities != [] then
-          ''--capability="${concatStringsSep " " cfg.additionalCapabilities}"'' else ""
+          ''--capability="${concatStringsSep "," cfg.additionalCapabilities}"'' else ""
         } \
         ${if cfg.tmpfs != null && cfg.tmpfs != [] then
           ''--tmpfs=${concatStringsSep " --tmpfs=" cfg.tmpfs}'' else ""
diff --git a/nixos/modules/virtualisation/digital-ocean-config.nix b/nixos/modules/virtualisation/digital-ocean-config.nix
new file mode 100644
index 000000000000..88cb0cd450e8
--- /dev/null
+++ b/nixos/modules/virtualisation/digital-ocean-config.nix
@@ -0,0 +1,197 @@
+{ config, pkgs, lib, modulesPath, ... }:
+with lib;
+{
+  imports = [
+    (modulesPath + "/profiles/qemu-guest.nix")
+    (modulesPath + "/virtualisation/digital-ocean-init.nix")
+  ];
+  options.virtualisation.digitalOcean = with types; {
+    setRootPassword = mkOption {
+      type = bool;
+      default = false;
+      example = true;
+      description = "Whether to set the root password from the Digital Ocean metadata";
+    };
+    setSshKeys = mkOption {
+      type = bool;
+      default = true;
+      example = true;
+      description = "Whether to fetch ssh keys from Digital Ocean";
+    };
+    seedEntropy = mkOption {
+      type = bool;
+      default = true;
+      example = true;
+      description = "Whether to run the kernel RNG entropy seeding script from the Digital Ocean vendor data";
+    };
+  };
+  config =
+    let
+      cfg = config.virtualisation.digitalOcean;
+      hostName = config.networking.hostName;
+      doMetadataFile = "/run/do-metadata/v1.json";
+    in mkMerge [{
+      fileSystems."/" = {
+        device = "/dev/disk/by-label/nixos";
+        autoResize = true;
+        fsType = "ext4";
+      };
+      boot = {
+        growPartition = true;
+        kernelParams = [ "console=ttyS0" "panic=1" "boot.panic_on_fail" ];
+        initrd.kernelModules = [ "virtio_scsi" ];
+        kernelModules = [ "virtio_pci" "virtio_net" ];
+        loader = {
+          grub.device = "/dev/vda";
+          timeout = 0;
+          grub.configurationLimit = 0;
+        };
+      };
+      services.openssh = {
+        enable = mkDefault true;
+        passwordAuthentication = mkDefault false;
+      };
+      services.do-agent.enable = mkDefault true;
+      networking = {
+        hostName = mkDefault ""; # use Digital Ocean metadata server
+      };
+
+      /* Check for and wait for the metadata server to become reachable.
+       * This serves as a dependency for all the other metadata services. */
+      systemd.services.digitalocean-metadata = {
+        path = [ pkgs.curl ];
+        description = "Get host metadata provided by Digitalocean";
+        script = ''
+          set -eu
+          DO_DELAY_ATTEMPTS=0
+          while ! curl -fsSL -o $RUNTIME_DIRECTORY/v1.json http://169.254.169.254/metadata/v1.json; do
+            DO_DELAY_ATTEMPTS=$((DO_DELAY_ATTEMPTS + 1))
+            if (( $DO_DELAY_ATTEMPTS >= $DO_DELAY_ATTEMPTS_MAX )); then
+              echo "giving up"
+              exit 1
+            fi
+
+            echo "metadata unavailable, trying again in 1s..."
+            sleep 1
+          done
+          chmod 600 $RUNTIME_DIRECTORY/v1.json
+          '';
+        environment = {
+          DO_DELAY_ATTEMPTS_MAX = "10";
+        };
+        serviceConfig = {
+          Type = "oneshot";
+          RemainAfterExit = true;
+          RuntimeDirectory = "do-metadata";
+          RuntimeDirectoryPreserve = "yes";
+        };
+        unitConfig = {
+          ConditionPathExists = "!${doMetadataFile}";
+          After = [ "network-pre.target" ] ++
+            optional config.networking.dhcpcd.enable "dhcpcd.service" ++
+            optional config.systemd.network.enable "systemd-networkd.service";
+        };
+      };
+
+      /* Fetch the root password from the digital ocean metadata.
+       * There is no specific route for this, so we use jq to get
+       * it from the One Big JSON metadata blob */
+      systemd.services.digitalocean-set-root-password = mkIf cfg.setRootPassword {
+        path = [ pkgs.shadow pkgs.jq ];
+        description = "Set root password provided by Digitalocean";
+        wantedBy = [ "multi-user.target" ];
+        script = ''
+          set -eo pipefail
+          ROOT_PASSWORD=$(jq -er '.auth_key' ${doMetadataFile})
+          echo "root:$ROOT_PASSWORD" | chpasswd
+          mkdir -p /etc/do-metadata/set-root-password
+          '';
+        unitConfig = {
+          ConditionPathExists = "!/etc/do-metadata/set-root-password";
+          Before = optional config.services.openssh.enable "sshd.service";
+          After = [ "digitalocean-metadata.service" ];
+          Requires = [ "digitalocean-metadata.service" ];
+        };
+        serviceConfig = {
+          Type = "oneshot";
+        };
+      };
+
+      /* Set the hostname from Digital Ocean, unless the user configured it in
+       * the NixOS configuration. The cached metadata file isn't used here
+       * because the hostname is a mutable part of the droplet. */
+      systemd.services.digitalocean-set-hostname = mkIf (hostName == "") {
+        path = [ pkgs.curl pkgs.nettools ];
+        description = "Set hostname provided by Digitalocean";
+        wantedBy = [ "network.target" ];
+        script = ''
+          set -e
+          DIGITALOCEAN_HOSTNAME=$(curl -fsSL http://169.254.169.254/metadata/v1/hostname)
+          hostname "$DIGITALOCEAN_HOSTNAME"
+          if [[ ! -e /etc/hostname || -w /etc/hostname ]]; then
+            printf "%s\n" "$DIGITALOCEAN_HOSTNAME" > /etc/hostname
+          fi
+        '';
+        unitConfig = {
+          Before = [ "network.target" ];
+          After = [ "digitalocean-metadata.service" ];
+          Wants = [ "digitalocean-metadata.service" ];
+        };
+        serviceConfig = {
+          Type = "oneshot";
+        };
+      };
+
+      /* Fetch the ssh keys for root from Digital Ocean */
+      systemd.services.digitalocean-ssh-keys = mkIf cfg.setSshKeys {
+        description = "Set root ssh keys provided by Digital Ocean";
+        wantedBy = [ "multi-user.target" ];
+        path = [ pkgs.jq ];
+        script = ''
+          set -e
+          mkdir -m 0700 -p /root/.ssh
+          jq -er '.public_keys[]' ${doMetadataFile} > /root/.ssh/authorized_keys
+          chmod 600 /root/.ssh/authorized_keys
+        '';
+        serviceConfig = {
+          Type = "oneshot";
+          RemainAfterExit = true;
+        };
+        unitConfig = {
+          ConditionPathExists = "!/root/.ssh/authorized_keys";
+          Before = optional config.services.openssh.enable "sshd.service";
+          After = [ "digitalocean-metadata.service" ];
+          Requires = [ "digitalocean-metadata.service" ];
+        };
+      };
+
+      /* Initialize the RNG by running the entropy-seed script from the
+       * Digital Ocean metadata
+       */
+      systemd.services.digitalocean-entropy-seed = mkIf cfg.seedEntropy {
+        description = "Run the kernel RNG entropy seeding script from the Digital Ocean vendor data";
+        wantedBy = [ "network.target" ];
+        path = [ pkgs.jq pkgs.mpack ];
+        script = ''
+          set -eo pipefail
+          TEMPDIR=$(mktemp -d)
+          jq -er '.vendor_data' ${doMetadataFile} | munpack -tC $TEMPDIR
+          ENTROPY_SEED=$(grep -rl "DigitalOcean Entropy Seed script" $TEMPDIR)
+          ${pkgs.runtimeShell} $ENTROPY_SEED
+          rm -rf $TEMPDIR
+          '';
+        unitConfig = {
+          Before = [ "network.target" ];
+          After = [ "digitalocean-metadata.service" ];
+          Requires = [ "digitalocean-metadata.service" ];
+        };
+        serviceConfig = {
+          Type = "oneshot";
+        };
+      };
+
+    }
+  ];
+  meta.maintainers = with maintainers; [ arianvp eamsden ];
+}
+
diff --git a/nixos/modules/virtualisation/digital-ocean-image.nix b/nixos/modules/virtualisation/digital-ocean-image.nix
new file mode 100644
index 000000000000..b582e235d435
--- /dev/null
+++ b/nixos/modules/virtualisation/digital-ocean-image.nix
@@ -0,0 +1,69 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+let
+  cfg = config.virtualisation.digitalOceanImage;
+in
+{
+
+  imports = [ ./digital-ocean-config.nix ];
+
+  options = {
+    virtualisation.digitalOceanImage.diskSize = mkOption {
+      type = with types; int;
+      default = 4096;
+      description = ''
+        Size of disk image. Unit is MB.
+      '';
+    };
+
+    virtualisation.digitalOceanImage.configFile = mkOption {
+      type = with types; nullOr path;
+      default = null;
+      description = ''
+        A path to a configuration file which will be placed at
+        <literal>/etc/nixos/configuration.nix</literal> and be used when switching
+        to a new configuration. If set to <literal>null</literal>, a default
+        configuration is used that imports
+        <literal>(modulesPath + "/virtualisation/digital-ocean-config.nix")</literal>.
+      '';
+    };
+
+    virtualisation.digitalOceanImage.compressionMethod = mkOption {
+      type = types.enum [ "gzip" "bzip2" ];
+      default = "gzip";
+      example = "bzip2";
+      description = ''
+        Disk image compression method. Choose bzip2 to generate smaller images that
+        take longer to generate but will consume less metered storage space on your
+        Digital Ocean account.
+      '';
+    };
+  };
+
+  #### implementation
+  config = {
+
+    system.build.digitalOceanImage = import ../../lib/make-disk-image.nix {
+      name = "digital-ocean-image";
+      format = "qcow2";
+      postVM = let
+        compress = {
+          "gzip" = "${pkgs.gzip}/bin/gzip";
+          "bzip2" = "${pkgs.bzip2}/bin/bzip2";
+        }.${cfg.compressionMethod};
+      in ''
+        ${compress} $diskImage
+      '';
+      configFile = if cfg.configFile == null
+        then config.virtualisation.digitalOcean.defaultConfigFile
+        else cfg.configFile;
+      inherit (cfg) diskSize;
+      inherit config lib pkgs;
+    };
+
+  };
+
+  meta.maintainers = with maintainers; [ arianvp eamsden ];
+
+}
diff --git a/nixos/modules/virtualisation/digital-ocean-init.nix b/nixos/modules/virtualisation/digital-ocean-init.nix
new file mode 100644
index 000000000000..02f4de009fa8
--- /dev/null
+++ b/nixos/modules/virtualisation/digital-ocean-init.nix
@@ -0,0 +1,95 @@
+{ config, pkgs, lib, ... }:
+with lib;
+let
+  cfg = config.virtualisation.digitalOcean;
+  defaultConfigFile = pkgs.writeText "digitalocean-configuration.nix" ''
+    { modulesPath, lib, ... }:
+    {
+      imports = lib.optional (builtins.pathExists ./do-userdata.nix) ./do-userdata.nix ++ [
+        (modulesPath + "/virtualisation/digital-ocean-config.nix")
+      ];
+    }
+  '';
+in {
+  options.virtualisation.digitalOcean.rebuildFromUserData = mkOption {
+    type = types.bool;
+    default = true;
+    example = true;
+    description = "Whether to reconfigure the system from Digital Ocean user data";
+  };
+  options.virtualisation.digitalOcean.defaultConfigFile = mkOption {
+    type = types.path;
+    default = defaultConfigFile;
+    defaultText = ''
+      The default configuration imports user-data if applicable and
+      <literal>(modulesPath + "/virtualisation/digital-ocean-config.nix")</literal>.
+    '';
+    description = ''
+      A path to a configuration file which will be placed at
+      <literal>/etc/nixos/configuration.nix</literal> and be used when switching to
+      a new configuration.
+    '';
+  };
+
+  config = {
+    systemd.services.digitalocean-init = mkIf cfg.rebuildFromUserData {
+      description = "Reconfigure the system from Digital Ocean userdata on startup";
+      wantedBy = [ "network-online.target" ];
+      unitConfig = {
+        ConditionPathExists = "!/etc/nixos/do-userdata.nix";
+        After = [ "digitalocean-metadata.service" "network-online.target" ];
+        Requires = [ "digitalocean-metadata.service" ];
+        X-StopOnRemoval = false;
+      };
+      serviceConfig = {
+        Type = "oneshot";
+        RemainAfterExit = true;
+      };
+      restartIfChanged = false;
+      path = [ pkgs.jq pkgs.gnused pkgs.gnugrep pkgs.systemd config.nix.package config.system.build.nixos-rebuild ];
+      environment = {
+        HOME = "/root";
+        NIX_PATH = concatStringsSep ":" [
+          "/nix/var/nix/profiles/per-user/root/channels/nixos"
+          "nixos-config=/etc/nixos/configuration.nix"
+          "/nix/var/nix/profiles/per-user/root/channels"
+        ];
+      };
+      script = ''
+        set -e
+        echo "attempting to fetch configuration from Digital Ocean user data..."
+        userData=$(mktemp)
+        if jq -er '.user_data' /run/do-metadata/v1.json > $userData; then
+          # If the user-data looks like it could be a nix expression,
+          # copy it over. Also, look for a magic three-hash comment and set
+          # that as the channel.
+          if nix-instantiate --parse $userData > /dev/null; then
+            channels="$(grep '^###' "$userData" | sed 's|###\s*||')"
+            printf "%s" "$channels" | while read channel; do
+              echo "writing channel: $channel"
+            done
+
+            if [[ -n "$channels" ]]; then
+              printf "%s" "$channels" > /root/.nix-channels
+              nix-channel --update
+            fi
+
+            echo "setting configuration from Digital Ocean user data"
+            cp "$userData" /etc/nixos/do-userdata.nix
+            if [[ ! -e /etc/nixos/configuration.nix ]]; then
+              install -m0644 ${cfg.defaultConfigFile} /etc/nixos/configuration.nix
+            fi
+          else
+            echo "user data does not appear to be a Nix expression; ignoring"
+            exit
+          fi
+
+          nixos-rebuild switch
+        else
+          echo "no user data is available"
+        fi
+        '';
+    };
+  };
+  meta.maintainers = with maintainers; [ arianvp eamsden ];
+}
diff --git a/nixos/modules/virtualisation/openvswitch.nix b/nixos/modules/virtualisation/openvswitch.nix
index edec37402308..6b8ad83661fe 100644
--- a/nixos/modules/virtualisation/openvswitch.nix
+++ b/nixos/modules/virtualisation/openvswitch.nix
@@ -42,6 +42,9 @@ in {
       default = false;
       description = ''
         Whether to start racoon service for openvswitch.
+        Supported only if openvswitch version is less than 2.6.0.
+        Use <literal>virtualisation.vswitch.package = pkgs.openvswitch-lts</literal>
+        for a version that supports ipsec over GRE.
       '';
     };
   };
@@ -89,6 +92,13 @@ in {
             "${cfg.package}/share/openvswitch/vswitch.ovsschema"
         fi
         chmod -R +w /var/db/openvswitch
+        if ${cfg.package}/bin/ovsdb-tool needs-conversion /var/db/openvswitch/conf.db | grep -q "yes"
+        then
+          echo "Performing database upgrade"
+          ${cfg.package}/bin/ovsdb-tool convert /var/db/openvswitch/conf.db
+        else
+          echo "Database already up to date"
+        fi
         '';
       serviceConfig = {
         ExecStart =
@@ -133,7 +143,7 @@ in {
     };
 
   }
-  (mkIf cfg.ipsec {
+  (mkIf (cfg.ipsec && (versionOlder cfg.package.version "2.6.0")) {
     services.racoon.enable = true;
     services.racoon.configPath = "${runDir}/ipsec/etc/racoon/racoon.conf";
 
@@ -172,5 +182,4 @@ in {
       '';
     };
   })]));
-
 }
diff --git a/nixos/modules/virtualisation/qemu-vm.nix b/nixos/modules/virtualisation/qemu-vm.nix
index e313d2b411bb..31d332e9f07a 100644
--- a/nixos/modules/virtualisation/qemu-vm.nix
+++ b/nixos/modules/virtualisation/qemu-vm.nix
@@ -620,7 +620,7 @@ in
 
     # Wireless won't work in the VM.
     networking.wireless.enable = mkVMOverride false;
-    networking.connman.enable = mkVMOverride false;
+    services.connman.enable = mkVMOverride false;
 
     # Speed up booting by not waiting for ARP.
     networking.dhcpcd.extraConfig = "noarp";
diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix
index 9e2109d88b5f..678ce3c28800 100644
--- a/nixos/release-combined.nix
+++ b/nixos/release-combined.nix
@@ -63,8 +63,7 @@ in rec {
 
         #(all nixos.tests.containers)
         (all nixos.tests.containers-imperative)
-        (all nixos.tests.containers-ipv4)
-        (all nixos.tests.containers-ipv6)
+        (all nixos.tests.containers-ip)
         nixos.tests.chromium.x86_64-linux or []
         (all nixos.tests.firefox)
         (all nixos.tests.firewall)
@@ -133,11 +132,9 @@ in rec {
         (all nixos.tests.proxy)
         (all nixos.tests.sddm.default)
         (all nixos.tests.simple)
-        (all nixos.tests.slim)
         (all nixos.tests.switchTest)
         (all nixos.tests.udisks2)
         (all nixos.tests.xfce)
-        (all nixos.tests.xfce4-14)
 
         nixpkgs.tarball
         (all allSupportedNixpkgs.emacs)
diff --git a/nixos/release-small.nix b/nixos/release-small.nix
index 84af457801a1..74c16e990f35 100644
--- a/nixos/release-small.nix
+++ b/nixos/release-small.nix
@@ -32,8 +32,7 @@ in rec {
     tests = {
       inherit (nixos'.tests)
         containers-imperative
-        containers-ipv4
-        containers-ipv6
+        containers-ip
         firewall
         ipv6
         login
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 64aac8c8a1f2..df65ef249e8a 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -28,7 +28,7 @@ in
   babeld = handleTest ./babeld.nix {};
   bcachefs = handleTestOn ["x86_64-linux"] ./bcachefs.nix {}; # linux-4.18.2018.10.12 is unsupported on aarch64
   beanstalkd = handleTest ./beanstalkd.nix {};
-  beegfs = handleTestOn ["x86_64-linux"] ./beegfs.nix {}; # beegfs is unsupported on aarch64
+  bees = handleTest ./bees.nix {};
   bind = handleTest ./bind.nix {};
   bittorrent = handleTest ./bittorrent.nix {};
   #blivet = handleTest ./blivet.nix {};   # broken since 2017-07024
@@ -53,8 +53,7 @@ in
   containers-extra_veth = handleTest ./containers-extra_veth.nix {};
   containers-hosts = handleTest ./containers-hosts.nix {};
   containers-imperative = handleTest ./containers-imperative.nix {};
-  containers-ipv4 = handleTest ./containers-ipv4.nix {};
-  containers-ipv6 = handleTest ./containers-ipv6.nix {};
+  containers-ip = handleTest ./containers-ip.nix {};
   containers-macvlans = handleTest ./containers-macvlans.nix {};
   containers-physical_interfaces = handleTest ./containers-physical_interfaces.nix {};
   containers-restart_networking = handleTest ./containers-restart_networking.nix {};
@@ -148,6 +147,7 @@ in
   loki = handleTest ./loki.nix {};
   #logstash = handleTest ./logstash.nix {};
   lorri = handleTest ./lorri/default.nix {};
+  magnetico = handleTest ./magnetico.nix {};
   mailcatcher = handleTest ./mailcatcher.nix {};
   mathics = handleTest ./mathics.nix {};
   matomo = handleTest ./matomo.nix {};
@@ -205,7 +205,6 @@ in
   openstack-image-metadata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).metadata or {};
   orangefs = handleTest ./orangefs.nix {};
   os-prober = handleTestOn ["x86_64-linux"] ./os-prober.nix {};
-  osquery = handleTest ./osquery.nix {};
   osrm-backend = handleTest ./osrm-backend.nix {};
   overlayfs = handleTest ./overlayfs.nix {};
   packagekit = handleTest ./packagekit.nix {};
@@ -248,7 +247,6 @@ in
   shiori = handleTest ./shiori.nix {};
   signal-desktop = handleTest ./signal-desktop.nix {};
   simple = handleTest ./simple.nix {};
-  slim = handleTest ./slim.nix {};
   slurm = handleTest ./slurm.nix {};
   smokeping = handleTest ./smokeping.nix {};
   snapper = handleTest ./snapper.nix {};
@@ -285,7 +283,6 @@ in
   wordpress = handleTest ./wordpress.nix {};
   xautolock = handleTest ./xautolock.nix {};
   xfce = handleTest ./xfce.nix {};
-  xfce4-14 = handleTest ./xfce4-14.nix {};
   xmonad = handleTest ./xmonad.nix {};
   xrdp = handleTest ./xrdp.nix {};
   xss-lock = handleTest ./xss-lock.nix {};
diff --git a/nixos/tests/beegfs.nix b/nixos/tests/beegfs.nix
deleted file mode 100644
index 3465272f5599..000000000000
--- a/nixos/tests/beegfs.nix
+++ /dev/null
@@ -1,115 +0,0 @@
-import ./make-test.nix ({ ... } :
-
-let
-  connAuthFile="beegfs/auth-def.key";
-
-  client = { pkgs, ... } : {
-    networking.firewall.enable = false;
-    services.beegfsEnable = true;
-    services.beegfs.default = {
-      mgmtdHost = "mgmt";
-      connAuthFile = "/etc/${connAuthFile}";
-      client = {
-        mount = false;
-        enable = true;
-      };
-    };
-
-    fileSystems = pkgs.lib.mkVMOverride # FIXME: this should be creatd by the module
-      [ { mountPoint = "/beegfs";
-          device = "default";
-          fsType = "beegfs";
-          options = [ "cfgFile=/etc/beegfs/client-default.conf" "_netdev" ];
-        }
-      ];
-
-    environment.etc.${connAuthFile} = {
-      enable = true;
-      text = "ThisIsALousySecret";
-      mode = "0600";
-    };
-  };
-
-
-  server = service : { pkgs, ... } : {
-    networking.firewall.enable = false;
-    boot.initrd.postDeviceCommands = ''
-      ${pkgs.e2fsprogs}/bin/mkfs.ext4 -L data /dev/vdb
-    '';
-
-    virtualisation.emptyDiskImages = [ 4096 ];
-
-    fileSystems = pkgs.lib.mkVMOverride
-      [ { mountPoint = "/data";
-          device = "/dev/disk/by-label/data";
-          fsType = "ext4";
-        }
-      ];
-
-    environment.systemPackages = with pkgs; [ beegfs ];
-    environment.etc.${connAuthFile} = {
-      enable = true;
-      text = "ThisIsALousySecret";
-      mode = "0600";
-    };
-
-    services.beegfsEnable = true;
-    services.beegfs.default = {
-      mgmtdHost = "mgmt";
-      connAuthFile = "/etc/${connAuthFile}";
-      ${service} = {
-        enable = true;
-        storeDir = "/data";
-      };
-    };
-  };
-
-in
-{
-  name = "beegfs";
-
-  nodes = {
-    meta = server "meta";
-    mgmt = server "mgmtd";
-    storage1 = server "storage";
-    storage2 = server "storage";
-    client1 = client;
-    client2 = client;
-  };
-
-  testScript = ''
-    # Initalize the data directories
-    $mgmt->waitForUnit("default.target");
-    $mgmt->succeed("beegfs-setup-mgmtd -C -f -p /data");
-    $mgmt->succeed("systemctl start beegfs-mgmtd-default");
-
-    $meta->waitForUnit("default.target");
-    $meta->succeed("beegfs-setup-meta -C -f -s 1 -p /data");
-    $meta->succeed("systemctl start beegfs-meta-default");
-
-    $storage1->waitForUnit("default.target");
-    $storage1->succeed("beegfs-setup-storage -C -f -s 1 -i 1 -p /data");
-    $storage1->succeed("systemctl start beegfs-storage-default");
-
-    $storage2->waitForUnit("default.target");
-    $storage2->succeed("beegfs-setup-storage -C -f -s 2 -i 2 -p /data");
-    $storage2->succeed("systemctl start beegfs-storage-default");
-
-    #
-
-    # Basic test
-    $client1->waitForUnit("beegfs.mount");
-    $client1->succeed("beegfs-check-servers-default");
-    $client1->succeed("echo test > /beegfs/test");
-    $client2->waitForUnit("beegfs.mount");
-    $client2->succeed("test -e /beegfs/test");
-    $client2->succeed("cat /beegfs/test | grep test");
-
-    # test raid0/stripping
-    $client1->succeed("dd if=/dev/urandom bs=1M count=10 of=/beegfs/striped");
-    $client2->succeed("cat /beegfs/striped > /dev/null");
-
-    # check if fs is still healthy
-    $client1->succeed("beegfs-fsck-default --checkfs");
-  '';
-})
diff --git a/nixos/tests/bees.nix b/nixos/tests/bees.nix
index 6f68c2f834f1..6e6a9c3446b0 100644
--- a/nixos/tests/bees.nix
+++ b/nixos/tests/bees.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, ... }:
+import ./make-test-python.nix ({ lib, pkgs, ... }:
 {
   name = "bees";
 
@@ -29,27 +29,34 @@ import ./make-test.nix ({ lib, ... }:
 
   testScript =
   let
-    withRetry = content: maxTests: sleepTime: ''
-      max_tests=${lib.escapeShellArg maxTests}; sleep_time=${lib.escapeShellArg sleepTime}; for ((i=0; i<max_tests; i++)); do ${content} && exit 0; sleep "$sleep_time"; done; exit 1;
+    someContentIsShared = loc: pkgs.writeShellScript "some-content-is-shared" ''
+      [[ $(btrfs fi du -s --raw ${lib.escapeShellArg loc}/dedup-me-{1,2} | awk 'BEGIN { count=0; } NR>1 && $3 == 0 { count++ } END { print count }') -eq 0 ]]
     '';
-    someContentIsShared = loc: ''[[ $(btrfs fi du -s --raw ${lib.escapeShellArg loc}/dedup-me-{1,2} | awk 'BEGIN { count=0; } NR>1 && $3 == 0 { count++ } END { print count }') -eq 0 ]]'';
   in ''
     # shut down the instance started by systemd at boot, so we can test our test procedure
-    $machine->succeed("systemctl stop beesd\@aux1.service");
+    machine.succeed("systemctl stop beesd@aux1.service")
 
-    $machine->succeed("dd if=/dev/urandom of=/aux1/dedup-me-1 bs=1M count=8");
-    $machine->succeed("cp --reflink=never /aux1/dedup-me-1 /aux1/dedup-me-2");
-    $machine->succeed("cp --reflink=never /aux1/* /aux2/");
-    $machine->succeed("sync");
-    $machine->fail(q(${someContentIsShared "/aux1"}));
-    $machine->fail(q(${someContentIsShared "/aux2"}));
-    $machine->succeed("systemctl start beesd\@aux1.service");
+    machine.succeed(
+        "dd if=/dev/urandom of=/aux1/dedup-me-1 bs=1M count=8",
+        "cp --reflink=never /aux1/dedup-me-1 /aux1/dedup-me-2",
+        "cp --reflink=never /aux1/* /aux2/",
+        "sync",
+    )
+    machine.fail(
+        "${someContentIsShared "/aux1"}",
+        "${someContentIsShared "/aux2"}",
+    )
+    machine.succeed("systemctl start beesd@aux1.service")
 
     # assert that "Set Shared" column is nonzero
-    $machine->succeed(q(${withRetry (someContentIsShared "/aux1") 20 2}));
-    $machine->fail(q(${someContentIsShared "/aux2"}));
+    machine.wait_until_succeeds(
+        "${someContentIsShared "/aux1"}",
+    )
+    machine.fail("${someContentIsShared "/aux2"}")
 
     # assert that 16MB hash table size requested was honored
-    $machine->succeed(q([[ $(stat -c %s /aux1/.beeshome/beeshash.dat) = $(( 16 * 1024 * 1024)) ]]))
+    machine.succeed(
+        "[[ $(stat -c %s /aux1/.beeshome/beeshash.dat) = $(( 16 * 1024 * 1024)) ]]"
+    )
   '';
 })
diff --git a/nixos/tests/ceph-multi-node.nix b/nixos/tests/ceph-multi-node.nix
index ed493d6a1b34..52a0b5caf235 100644
--- a/nixos/tests/ceph-multi-node.nix
+++ b/nixos/tests/ceph-multi-node.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({pkgs, lib, ...}:
+import ./make-test-python.nix ({pkgs, lib, ...}:
 
 let
   cfg = {
@@ -109,105 +109,105 @@ let
   # For other ways to deploy a ceph cluster, look at the documentation at
   # https://docs.ceph.com/docs/master/
   testscript = { ... }: ''
-    startAll;
+    start_all()
 
-    $monA->waitForUnit("network.target");
-    $osd0->waitForUnit("network.target");
-    $osd1->waitForUnit("network.target");
+    monA.wait_for_unit("network.target")
+    osd0.wait_for_unit("network.target")
+    osd1.wait_for_unit("network.target")
 
     # Bootstrap ceph-mon daemon
-    $monA->mustSucceed(
-      "sudo -u ceph ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'",
-      "sudo -u ceph ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'",
-      "sudo -u ceph ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring",
-      "monmaptool --create --add ${cfg.monA.name} ${cfg.monA.ip} --fsid ${cfg.clusterId} /tmp/monmap",
-      "sudo -u ceph ceph-mon --mkfs -i ${cfg.monA.name} --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring",
-      "sudo -u ceph mkdir -p /var/lib/ceph/mgr/ceph-${cfg.monA.name}/",
-      "sudo -u ceph touch /var/lib/ceph/mon/ceph-${cfg.monA.name}/done",
-      "systemctl start ceph-mon-${cfg.monA.name}"
-    );
-    $monA->waitForUnit("ceph-mon-${cfg.monA.name}");
-    $monA->mustSucceed("ceph mon enable-msgr2");
+    monA.succeed(
+        "sudo -u ceph ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'",
+        "sudo -u ceph ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'",
+        "sudo -u ceph ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring",
+        "monmaptool --create --add ${cfg.monA.name} ${cfg.monA.ip} --fsid ${cfg.clusterId} /tmp/monmap",
+        "sudo -u ceph ceph-mon --mkfs -i ${cfg.monA.name} --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring",
+        "sudo -u ceph mkdir -p /var/lib/ceph/mgr/ceph-${cfg.monA.name}/",
+        "sudo -u ceph touch /var/lib/ceph/mon/ceph-${cfg.monA.name}/done",
+        "systemctl start ceph-mon-${cfg.monA.name}",
+    )
+    monA.wait_for_unit("ceph-mon-${cfg.monA.name}")
+    monA.succeed("ceph mon enable-msgr2")
 
     # Can't check ceph status until a mon is up
-    $monA->succeed("ceph -s | grep 'mon: 1 daemons'");
+    monA.succeed("ceph -s | grep 'mon: 1 daemons'")
 
     # Start the ceph-mgr daemon, it has no deps and hardly any setup
-    $monA->mustSucceed(
-      "ceph auth get-or-create mgr.${cfg.monA.name} mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /var/lib/ceph/mgr/ceph-${cfg.monA.name}/keyring",
-      "systemctl start ceph-mgr-${cfg.monA.name}"
-    );
-    $monA->waitForUnit("ceph-mgr-a");
-    $monA->waitUntilSucceeds("ceph -s | grep 'quorum ${cfg.monA.name}'");
-    $monA->waitUntilSucceeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'");
+    monA.succeed(
+        "ceph auth get-or-create mgr.${cfg.monA.name} mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /var/lib/ceph/mgr/ceph-${cfg.monA.name}/keyring",
+        "systemctl start ceph-mgr-${cfg.monA.name}",
+    )
+    monA.wait_for_unit("ceph-mgr-a")
+    monA.wait_until_succeeds("ceph -s | grep 'quorum ${cfg.monA.name}'")
+    monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'")
 
     # Send the admin keyring to the OSD machines
-    $monA->mustSucceed("cp /etc/ceph/ceph.client.admin.keyring /tmp/shared");
-    $osd0->mustSucceed("cp /tmp/shared/ceph.client.admin.keyring /etc/ceph");
-    $osd1->mustSucceed("cp /tmp/shared/ceph.client.admin.keyring /etc/ceph");
+    monA.succeed("cp /etc/ceph/ceph.client.admin.keyring /tmp/shared")
+    osd0.succeed("cp /tmp/shared/ceph.client.admin.keyring /etc/ceph")
+    osd1.succeed("cp /tmp/shared/ceph.client.admin.keyring /etc/ceph")
 
     # Bootstrap both OSDs
-    $osd0->mustSucceed(
-      "mkfs.xfs /dev/vdb",
-      "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd0.name}",
-      "mount /dev/vdb /var/lib/ceph/osd/ceph-${cfg.osd0.name}",
-      "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd0.name}/keyring --name osd.${cfg.osd0.name} --add-key ${cfg.osd0.key}",
-      "echo '{\"cephx_secret\": \"${cfg.osd0.key}\"}' | ceph osd new ${cfg.osd0.uuid} -i -",
-    );
-    $osd1->mustSucceed(
-      "mkfs.xfs /dev/vdb",
-      "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd1.name}",
-      "mount /dev/vdb /var/lib/ceph/osd/ceph-${cfg.osd1.name}",
-      "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd1.name}/keyring --name osd.${cfg.osd1.name} --add-key ${cfg.osd1.key}",
-      "echo '{\"cephx_secret\": \"${cfg.osd1.key}\"}' | ceph osd new ${cfg.osd1.uuid} -i -"
-    );
+    osd0.succeed(
+        "mkfs.xfs /dev/vdb",
+        "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd0.name}",
+        "mount /dev/vdb /var/lib/ceph/osd/ceph-${cfg.osd0.name}",
+        "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd0.name}/keyring --name osd.${cfg.osd0.name} --add-key ${cfg.osd0.key}",
+        'echo \'{"cephx_secret": "${cfg.osd0.key}"}\' | ceph osd new ${cfg.osd0.uuid} -i -',
+    )
+    osd1.succeed(
+        "mkfs.xfs /dev/vdb",
+        "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd1.name}",
+        "mount /dev/vdb /var/lib/ceph/osd/ceph-${cfg.osd1.name}",
+        "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd1.name}/keyring --name osd.${cfg.osd1.name} --add-key ${cfg.osd1.key}",
+        'echo \'{"cephx_secret": "${cfg.osd1.key}"}\' | ceph osd new ${cfg.osd1.uuid} -i -',
+    )
 
     # Initialize the OSDs with regular filestore
-    $osd0->mustSucceed(
-      "ceph-osd -i ${cfg.osd0.name} --mkfs --osd-uuid ${cfg.osd0.uuid}",
-      "chown -R ceph:ceph /var/lib/ceph/osd",
-      "systemctl start ceph-osd-${cfg.osd0.name}",
-    );
-    $osd1->mustSucceed(
-      "ceph-osd -i ${cfg.osd1.name} --mkfs --osd-uuid ${cfg.osd1.uuid}",
-      "chown -R ceph:ceph /var/lib/ceph/osd",
-      "systemctl start ceph-osd-${cfg.osd1.name}"
-    );
-    $monA->waitUntilSucceeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'");
-    $monA->waitUntilSucceeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'");
-    $monA->waitUntilSucceeds("ceph -s | grep 'HEALTH_OK'");
-
-    $monA->mustSucceed(
-      "ceph osd pool create multi-node-test 100 100",
-      "ceph osd pool ls | grep 'multi-node-test'",
-      "ceph osd pool rename multi-node-test multi-node-other-test",
-      "ceph osd pool ls | grep 'multi-node-other-test'"
-    );
-    $monA->waitUntilSucceeds("ceph -s | grep '1 pools, 100 pgs'");
-    $monA->mustSucceed("ceph osd pool set multi-node-other-test size 2");
-    $monA->waitUntilSucceeds("ceph -s | grep 'HEALTH_OK'");
-    $monA->waitUntilSucceeds("ceph -s | grep '100 active+clean'");
-    $monA->mustFail(
-      "ceph osd pool ls | grep 'multi-node-test'",
-      "ceph osd pool delete multi-node-other-test multi-node-other-test --yes-i-really-really-mean-it"
-    );
+    osd0.succeed(
+        "ceph-osd -i ${cfg.osd0.name} --mkfs --osd-uuid ${cfg.osd0.uuid}",
+        "chown -R ceph:ceph /var/lib/ceph/osd",
+        "systemctl start ceph-osd-${cfg.osd0.name}",
+    )
+    osd1.succeed(
+        "ceph-osd -i ${cfg.osd1.name} --mkfs --osd-uuid ${cfg.osd1.uuid}",
+        "chown -R ceph:ceph /var/lib/ceph/osd",
+        "systemctl start ceph-osd-${cfg.osd1.name}",
+    )
+    monA.wait_until_succeeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'")
+    monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'")
+    monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
+
+    monA.succeed(
+        "ceph osd pool create multi-node-test 100 100",
+        "ceph osd pool ls | grep 'multi-node-test'",
+        "ceph osd pool rename multi-node-test multi-node-other-test",
+        "ceph osd pool ls | grep 'multi-node-other-test'",
+    )
+    monA.wait_until_succeeds("ceph -s | grep '1 pools, 100 pgs'")
+    monA.succeed("ceph osd pool set multi-node-other-test size 2")
+    monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
+    monA.wait_until_succeeds("ceph -s | grep '100 active+clean'")
+    monA.fail(
+        "ceph osd pool ls | grep 'multi-node-test'",
+        "ceph osd pool delete multi-node-other-test multi-node-other-test --yes-i-really-really-mean-it",
+    )
 
     # Shut down ceph on all machines in a very unpolite way
-    $monA->crash;
-    $osd0->crash;
-    $osd1->crash;
+    monA.crash()
+    osd0.crash()
+    osd1.crash()
 
     # Start it up
-    $osd0->start;
-    $osd1->start;
-    $monA->start;
+    osd0.start()
+    osd1.start()
+    monA.start()
 
     # Ensure the cluster comes back up again
-    $monA->succeed("ceph -s | grep 'mon: 1 daemons'");
-    $monA->waitUntilSucceeds("ceph -s | grep 'quorum ${cfg.monA.name}'");
-    $monA->waitUntilSucceeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'");
-    $monA->waitUntilSucceeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'");
-    $monA->waitUntilSucceeds("ceph -s | grep 'HEALTH_OK'");
+    monA.succeed("ceph -s | grep 'mon: 1 daemons'")
+    monA.wait_until_succeeds("ceph -s | grep 'quorum ${cfg.monA.name}'")
+    monA.wait_until_succeeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'")
+    monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'")
+    monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
   '';
 in {
   name = "basic-multi-node-ceph-cluster";
diff --git a/nixos/tests/ceph-single-node.nix b/nixos/tests/ceph-single-node.nix
index 041fbd7e8e64..da92a73e14d9 100644
--- a/nixos/tests/ceph-single-node.nix
+++ b/nixos/tests/ceph-single-node.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({pkgs, lib, ...}:
+import ./make-test-python.nix ({pkgs, lib, ...}:
 
 let
   cfg = {
@@ -74,100 +74,100 @@ let
   # For other ways to deploy a ceph cluster, look at the documentation at
   # https://docs.ceph.com/docs/master/
   testscript = { ... }: ''
-    startAll;
+    start_all()
 
-    $monA->waitForUnit("network.target");
+    monA.wait_for_unit("network.target")
 
     # Bootstrap ceph-mon daemon
-    $monA->mustSucceed(
-      "sudo -u ceph ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'",
-      "sudo -u ceph ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'",
-      "sudo -u ceph ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring",
-      "monmaptool --create --add ${cfg.monA.name} ${cfg.monA.ip} --fsid ${cfg.clusterId} /tmp/monmap",
-      "sudo -u ceph ceph-mon --mkfs -i ${cfg.monA.name} --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring",
-      "sudo -u ceph touch /var/lib/ceph/mon/ceph-${cfg.monA.name}/done",
-      "systemctl start ceph-mon-${cfg.monA.name}"
-    );
-    $monA->waitForUnit("ceph-mon-${cfg.monA.name}");
-    $monA->mustSucceed("ceph mon enable-msgr2");
+    monA.succeed(
+        "sudo -u ceph ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *'",
+        "sudo -u ceph ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *'",
+        "sudo -u ceph ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring",
+        "monmaptool --create --add ${cfg.monA.name} ${cfg.monA.ip} --fsid ${cfg.clusterId} /tmp/monmap",
+        "sudo -u ceph ceph-mon --mkfs -i ${cfg.monA.name} --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring",
+        "sudo -u ceph touch /var/lib/ceph/mon/ceph-${cfg.monA.name}/done",
+        "systemctl start ceph-mon-${cfg.monA.name}",
+    )
+    monA.wait_for_unit("ceph-mon-${cfg.monA.name}")
+    monA.succeed("ceph mon enable-msgr2")
 
     # Can't check ceph status until a mon is up
-    $monA->succeed("ceph -s | grep 'mon: 1 daemons'");
+    monA.succeed("ceph -s | grep 'mon: 1 daemons'")
 
     # Start the ceph-mgr daemon, after copying in the keyring
-    $monA->mustSucceed(
-      "sudo -u ceph mkdir -p /var/lib/ceph/mgr/ceph-${cfg.monA.name}/",
-      "ceph auth get-or-create mgr.${cfg.monA.name} mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /var/lib/ceph/mgr/ceph-${cfg.monA.name}/keyring",
-      "systemctl start ceph-mgr-${cfg.monA.name}"
-    );
-    $monA->waitForUnit("ceph-mgr-a");
-    $monA->waitUntilSucceeds("ceph -s | grep 'quorum ${cfg.monA.name}'");
-    $monA->waitUntilSucceeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'");
+    monA.succeed(
+        "sudo -u ceph mkdir -p /var/lib/ceph/mgr/ceph-${cfg.monA.name}/",
+        "ceph auth get-or-create mgr.${cfg.monA.name} mon 'allow profile mgr' osd 'allow *' mds 'allow *' > /var/lib/ceph/mgr/ceph-${cfg.monA.name}/keyring",
+        "systemctl start ceph-mgr-${cfg.monA.name}",
+    )
+    monA.wait_for_unit("ceph-mgr-a")
+    monA.wait_until_succeeds("ceph -s | grep 'quorum ${cfg.monA.name}'")
+    monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'")
 
     # Bootstrap both OSDs
-    $monA->mustSucceed(
-      "mkfs.xfs /dev/vdb",
-      "mkfs.xfs /dev/vdc",
-      "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd0.name}",
-      "mount /dev/vdb /var/lib/ceph/osd/ceph-${cfg.osd0.name}",
-      "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd1.name}",
-      "mount /dev/vdc /var/lib/ceph/osd/ceph-${cfg.osd1.name}",
-      "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd0.name}/keyring --name osd.${cfg.osd0.name} --add-key ${cfg.osd0.key}",
-      "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd1.name}/keyring --name osd.${cfg.osd1.name} --add-key ${cfg.osd1.key}",
-      "echo '{\"cephx_secret\": \"${cfg.osd0.key}\"}' | ceph osd new ${cfg.osd0.uuid} -i -",
-      "echo '{\"cephx_secret\": \"${cfg.osd1.key}\"}' | ceph osd new ${cfg.osd1.uuid} -i -"
-    );
+    monA.succeed(
+        "mkfs.xfs /dev/vdb",
+        "mkfs.xfs /dev/vdc",
+        "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd0.name}",
+        "mount /dev/vdb /var/lib/ceph/osd/ceph-${cfg.osd0.name}",
+        "mkdir -p /var/lib/ceph/osd/ceph-${cfg.osd1.name}",
+        "mount /dev/vdc /var/lib/ceph/osd/ceph-${cfg.osd1.name}",
+        "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd0.name}/keyring --name osd.${cfg.osd0.name} --add-key ${cfg.osd0.key}",
+        "ceph-authtool --create-keyring /var/lib/ceph/osd/ceph-${cfg.osd1.name}/keyring --name osd.${cfg.osd1.name} --add-key ${cfg.osd1.key}",
+        'echo \'{"cephx_secret": "${cfg.osd0.key}"}\' | ceph osd new ${cfg.osd0.uuid} -i -',
+        'echo \'{"cephx_secret": "${cfg.osd1.key}"}\' | ceph osd new ${cfg.osd1.uuid} -i -',
+    )
 
     # Initialize the OSDs with regular filestore
-    $monA->mustSucceed(
-      "ceph-osd -i ${cfg.osd0.name} --mkfs --osd-uuid ${cfg.osd0.uuid}",
-      "ceph-osd -i ${cfg.osd1.name} --mkfs --osd-uuid ${cfg.osd1.uuid}",
-      "chown -R ceph:ceph /var/lib/ceph/osd",
-      "systemctl start ceph-osd-${cfg.osd0.name}",
-      "systemctl start ceph-osd-${cfg.osd1.name}"
-    );
-    $monA->waitUntilSucceeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'");
-    $monA->waitUntilSucceeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'");
-    $monA->waitUntilSucceeds("ceph -s | grep 'HEALTH_OK'");
-
-    $monA->mustSucceed(
-      "ceph osd pool create single-node-test 100 100",
-      "ceph osd pool ls | grep 'single-node-test'",
-      "ceph osd pool rename single-node-test single-node-other-test",
-      "ceph osd pool ls | grep 'single-node-other-test'"
-    );
-    $monA->waitUntilSucceeds("ceph -s | grep '1 pools, 100 pgs'");
-    $monA->mustSucceed(
-      "ceph osd getcrushmap -o crush",
-      "crushtool -d crush -o decrushed",
-      "sed 's/step chooseleaf firstn 0 type host/step chooseleaf firstn 0 type osd/' decrushed > modcrush",
-      "crushtool -c modcrush -o recrushed",
-      "ceph osd setcrushmap -i recrushed",
-      "ceph osd pool set single-node-other-test size 2"
-    );
-    $monA->waitUntilSucceeds("ceph -s | grep 'HEALTH_OK'");
-    $monA->waitUntilSucceeds("ceph -s | grep '100 active+clean'");
-    $monA->mustFail(
-      "ceph osd pool ls | grep 'multi-node-test'",
-      "ceph osd pool delete single-node-other-test single-node-other-test --yes-i-really-really-mean-it"
-    );
+    monA.succeed(
+        "ceph-osd -i ${cfg.osd0.name} --mkfs --osd-uuid ${cfg.osd0.uuid}",
+        "ceph-osd -i ${cfg.osd1.name} --mkfs --osd-uuid ${cfg.osd1.uuid}",
+        "chown -R ceph:ceph /var/lib/ceph/osd",
+        "systemctl start ceph-osd-${cfg.osd0.name}",
+        "systemctl start ceph-osd-${cfg.osd1.name}",
+    )
+    monA.wait_until_succeeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'")
+    monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'")
+    monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
+
+    monA.succeed(
+        "ceph osd pool create single-node-test 100 100",
+        "ceph osd pool ls | grep 'single-node-test'",
+        "ceph osd pool rename single-node-test single-node-other-test",
+        "ceph osd pool ls | grep 'single-node-other-test'",
+    )
+    monA.wait_until_succeeds("ceph -s | grep '1 pools, 100 pgs'")
+    monA.succeed(
+        "ceph osd getcrushmap -o crush",
+        "crushtool -d crush -o decrushed",
+        "sed 's/step chooseleaf firstn 0 type host/step chooseleaf firstn 0 type osd/' decrushed > modcrush",
+        "crushtool -c modcrush -o recrushed",
+        "ceph osd setcrushmap -i recrushed",
+        "ceph osd pool set single-node-other-test size 2",
+    )
+    monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
+    monA.wait_until_succeeds("ceph -s | grep '100 active+clean'")
+    monA.fail(
+        "ceph osd pool ls | grep 'multi-node-test'",
+        "ceph osd pool delete single-node-other-test single-node-other-test --yes-i-really-really-mean-it",
+    )
 
     # Shut down ceph by stopping ceph.target.
-    $monA->mustSucceed("systemctl stop ceph.target");
+    monA.succeed("systemctl stop ceph.target")
 
     # Start it up
-    $monA->succeed("systemctl start ceph.target");
-    $monA->waitForUnit("ceph-mon-${cfg.monA.name}");
-    $monA->waitForUnit("ceph-mgr-${cfg.monA.name}");
-    $monA->waitForUnit("ceph-osd-${cfg.osd0.name}");
-    $monA->waitForUnit("ceph-osd-${cfg.osd1.name}");
+    monA.succeed("systemctl start ceph.target")
+    monA.wait_for_unit("ceph-mon-${cfg.monA.name}")
+    monA.wait_for_unit("ceph-mgr-${cfg.monA.name}")
+    monA.wait_for_unit("ceph-osd-${cfg.osd0.name}")
+    monA.wait_for_unit("ceph-osd-${cfg.osd1.name}")
 
     # Ensure the cluster comes back up again
-    $monA->succeed("ceph -s | grep 'mon: 1 daemons'");
-    $monA->waitUntilSucceeds("ceph -s | grep 'quorum ${cfg.monA.name}'");
-    $monA->waitUntilSucceeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'");
-    $monA->waitUntilSucceeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'");
-    $monA->waitUntilSucceeds("ceph -s | grep 'HEALTH_OK'");
+    monA.succeed("ceph -s | grep 'mon: 1 daemons'")
+    monA.wait_until_succeeds("ceph -s | grep 'quorum ${cfg.monA.name}'")
+    monA.wait_until_succeeds("ceph osd stat | grep -e '2 osds: 2 up[^,]*, 2 in'")
+    monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'")
+    monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
   '';
 in {
   name = "basic-single-node-ceph-cluster";
diff --git a/nixos/tests/clickhouse.nix b/nixos/tests/clickhouse.nix
index 7d835069ec4d..2d8a7cf7aa9f 100644
--- a/nixos/tests/clickhouse.nix
+++ b/nixos/tests/clickhouse.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "clickhouse";
   meta.maintainers = with pkgs.stdenv.lib.maintainers; [ ma27 ];
 
@@ -14,12 +14,18 @@ import ./make-test.nix ({ pkgs, ... }: {
       selectQuery = pkgs.writeText "select.sql" "SELECT * from `demo`";
     in
       ''
-        $machine->start();
-        $machine->waitForUnit("clickhouse.service");
-        $machine->waitForOpenPort(9000);
+        machine.start()
+        machine.wait_for_unit("clickhouse.service")
+        machine.wait_for_open_port(9000)
 
-        $machine->succeed("cat ${tableDDL} | clickhouse-client");
-        $machine->succeed("cat ${insertQuery} | clickhouse-client");
-        $machine->succeed("cat ${selectQuery} | clickhouse-client | grep foo");
+        machine.succeed(
+            "cat ${tableDDL} | clickhouse-client"
+        )
+        machine.succeed(
+            "cat ${insertQuery} | clickhouse-client"
+        )
+        machine.succeed(
+            "cat ${selectQuery} | clickhouse-client | grep foo"
+        )
       '';
 })
diff --git a/nixos/tests/codimd.nix b/nixos/tests/codimd.nix
index 562f6f24f999..b1acbf4a8322 100644
--- a/nixos/tests/codimd.nix
+++ b/nixos/tests/codimd.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 {
   name = "codimd";
 
@@ -35,20 +35,18 @@ import ./make-test.nix ({ pkgs, lib, ... }:
   };
 
   testScript = ''
-    startAll();
+    start_all()
 
-    subtest "CodiMD sqlite", sub {
-      $codimdSqlite->waitForUnit("codimd.service");
-      $codimdSqlite->waitForOpenPort(3000);
-      $codimdSqlite->waitUntilSucceeds("curl -sSf http://localhost:3000/new");
-    };
+    with subtest("CodiMD sqlite"):
+        codimdSqlite.wait_for_unit("codimd.service")
+        codimdSqlite.wait_for_open_port(3000)
+        codimdSqlite.wait_until_succeeds("curl -sSf http://localhost:3000/new")
 
-    subtest "CodiMD postgres", sub {
-      $codimdPostgres->waitForUnit("postgresql.service");
-      $codimdPostgres->waitForUnit("codimd.service");
-      $codimdPostgres->waitForOpenPort(5432);
-      $codimdPostgres->waitForOpenPort(3000);
-      $codimdPostgres->waitUntilSucceeds("curl -sSf http://localhost:3000/new");
-    };
+    with subtest("CodiMD postgres"):
+        codimdPostgres.wait_for_unit("postgresql.service")
+        codimdPostgres.wait_for_unit("codimd.service")
+        codimdPostgres.wait_for_open_port(5432)
+        codimdPostgres.wait_for_open_port(3000)
+        codimdPostgres.wait_until_succeeds("curl -sSf http://localhost:3000/new")
   '';
 })
diff --git a/nixos/tests/containers-bridge.nix b/nixos/tests/containers-bridge.nix
index 38db64eb7931..2c8e8fa5370f 100644
--- a/nixos/tests/containers-bridge.nix
+++ b/nixos/tests/containers-bridge.nix
@@ -7,7 +7,7 @@ let
   containerIp6 = "fc00::2/7";
 in
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "containers-bridge";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ aristid aszlig eelco kampfschlaefer ];
@@ -61,43 +61,42 @@ import ./make-test.nix ({ pkgs, ...} : {
       virtualisation.pathsInNixDB = [ pkgs.stdenv ];
     };
 
-  testScript =
-    ''
-      $machine->waitForUnit("default.target");
-      $machine->succeed("nixos-container list") =~ /webserver/ or die;
-
-      # Start the webserver container.
-      $machine->succeed("nixos-container status webserver") =~ /up/ or die;
-
-      # Check if bridges exist inside containers
-      $machine->succeed("nixos-container run webserver -- ip link show eth0");
-      $machine->succeed("nixos-container run web-noip -- ip link show eth0");
-
-      "${containerIp}" =~ /([^\/]+)\/([0-9+])/;
-      my $ip = $1;
-      chomp $ip;
-      $machine->succeed("ping -n -c 1 $ip");
-      $machine->succeed("curl --fail http://$ip/ > /dev/null");
-
-      "${containerIp6}" =~ /([^\/]+)\/([0-9+])/;
-      my $ip6 = $1;
-      chomp $ip6;
-      $machine->succeed("ping -n -c 1 $ip6");
-      $machine->succeed("curl --fail http://[$ip6]/ > /dev/null");
-
-      # Check that nixos-container show-ip works in case of an ipv4 address with
-      # subnetmask in CIDR notation.
-      my $result = $machine->succeed("nixos-container show-ip webserver");
-      chomp $result;
-      $result eq $ip or die;
-
-      # Stop the container.
-      $machine->succeed("nixos-container stop webserver");
-      $machine->fail("curl --fail --connect-timeout 2 http://$ip/ > /dev/null");
-      $machine->fail("curl --fail --connect-timeout 2 http://[$ip6]/ > /dev/null");
-
-      # Destroying a declarative container should fail.
-      $machine->fail("nixos-container destroy webserver");
-    '';
-
+  testScript = ''
+    machine.wait_for_unit("default.target")
+    assert "webserver" in machine.succeed("nixos-container list")
+
+    with subtest("Start the webserver container"):
+        assert "up" in machine.succeed("nixos-container status webserver")
+
+    with subtest("Bridges exist inside containers"):
+        machine.succeed(
+            "nixos-container run webserver -- ip link show eth0",
+            "nixos-container run web-noip -- ip link show eth0",
+        )
+
+    ip = "${containerIp}".split("/")[0]
+    machine.succeed(f"ping -n -c 1 {ip}")
+    machine.succeed(f"curl --fail http://{ip}/ > /dev/null")
+
+    ip6 = "${containerIp6}".split("/")[0]
+    machine.succeed(f"ping -n -c 1 {ip6}")
+    machine.succeed(f"curl --fail http://[{ip6}]/ > /dev/null")
+
+    with subtest(
+        "nixos-container show-ip works in case of an ipv4 address "
+        + "with subnetmask in CIDR notation."
+    ):
+        result = machine.succeed("nixos-container show-ip webserver").rstrip()
+        assert result == ip
+
+    with subtest("Stop the container"):
+        machine.succeed("nixos-container stop webserver")
+        machine.fail(
+            f"curl --fail --connect-timeout 2 http://{ip}/ > /dev/null",
+            f"curl --fail --connect-timeout 2 http://[{ip6}]/ > /dev/null",
+        )
+
+    # Destroying a declarative container should fail.
+    machine.fail("nixos-container destroy webserver")
+  '';
 })
diff --git a/nixos/tests/containers-ephemeral.nix b/nixos/tests/containers-ephemeral.nix
index 1ef8717d9a0e..692554ac0ba2 100644
--- a/nixos/tests/containers-ephemeral.nix
+++ b/nixos/tests/containers-ephemeral.nix
@@ -1,6 +1,6 @@
 # Test for NixOS' container support.
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "containers-ephemeral";
 
   machine = { pkgs, ... }: {
@@ -16,10 +16,10 @@ import ./make-test.nix ({ pkgs, ...} : {
         services.nginx = {
           enable = true;
           virtualHosts.localhost = {
-            root = (pkgs.runCommand "localhost" {} ''
+            root = pkgs.runCommand "localhost" {} ''
               mkdir "$out"
               echo hello world > "$out/index.html"
-            '');
+            '';
           };
         };
         networking.firewall.allowedTCPPorts = [ 80 ];
@@ -28,29 +28,27 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    $machine->succeed("nixos-container list") =~ /webserver/ or die;
+    assert "webserver" in machine.succeed("nixos-container list")
 
-    # Start the webserver container.
-    $machine->succeed("nixos-container start webserver");
+    machine.succeed("nixos-container start webserver")
 
-    # Check that container got its own root folder
-    $machine->succeed("ls /run/containers/webserver");
+    with subtest("Container got its own root folder"):
+        machine.succeed("ls /run/containers/webserver")
 
-    # Check that container persistent directory is not created
-    $machine->fail("ls /var/lib/containers/webserver");
+    with subtest("Container persistent directory is not created"):
+        machine.fail("ls /var/lib/containers/webserver")
 
     # Since "start" returns after the container has reached
     # multi-user.target, we should now be able to access it.
-    my $ip = $machine->succeed("nixos-container show-ip webserver");
-    chomp $ip;
-    $machine->succeed("ping -n -c1 $ip");
-    $machine->succeed("curl --fail http://$ip/ > /dev/null");
+    ip = machine.succeed("nixos-container show-ip webserver").rstrip()
+    machine.succeed(f"ping -n -c1 {ip}")
+    machine.succeed(f"curl --fail http://{ip}/ > /dev/null")
 
-    # Stop the container.
-    $machine->succeed("nixos-container stop webserver");
-    $machine->fail("curl --fail --connect-timeout 2 http://$ip/ > /dev/null");
+    with subtest("Stop the container"):
+        machine.succeed("nixos-container stop webserver")
+        machine.fail(f"curl --fail --connect-timeout 2 http://{ip}/ > /dev/null")
 
-    # Check that container's root folder was removed
-    $machine->fail("ls /run/containers/webserver");
+    with subtest("Container's root folder was removed"):
+        machine.fail("ls /run/containers/webserver")
   '';
 })
diff --git a/nixos/tests/containers-hosts.nix b/nixos/tests/containers-hosts.nix
index 8cf298c62258..d6fb4a761eef 100644
--- a/nixos/tests/containers-hosts.nix
+++ b/nixos/tests/containers-hosts.nix
@@ -1,6 +1,6 @@
 # Test for NixOS' container support.
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "containers-hosts";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ montag451 ];
@@ -42,11 +42,11 @@ import ./make-test.nix ({ pkgs, ...} : {
     };
 
   testScript = ''
-    startAll;
-    $machine->waitForUnit("default.target");
+    start_all()
+    machine.wait_for_unit("default.target")
 
-    # Ping the containers using the entries added in /etc/hosts
-    $machine->succeed("ping -n -c 1 simple.containers");
-    $machine->succeed("ping -n -c 1 netmask.containers");
+    with subtest("Ping the containers using the entries added in /etc/hosts"):
+        for host in "simple.containers", "netmask.containers":
+            machine.succeed(f"ping -n -c 1 {host}")
   '';
 })
diff --git a/nixos/tests/containers-imperative.nix b/nixos/tests/containers-imperative.nix
index 2e7e4b2f1d69..61df74042cb3 100644
--- a/nixos/tests/containers-imperative.nix
+++ b/nixos/tests/containers-imperative.nix
@@ -1,6 +1,6 @@
 # Test for NixOS' container support.
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "containers-imperative";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ aristid aszlig eelco kampfschlaefer ];
@@ -36,95 +36,99 @@ import ./make-test.nix ({ pkgs, ...} : {
     };
 
   testScript = let
-    tmpfilesContainerConfig = pkgs.writeText "container-config-tmpfiles" ''
-      {
-        systemd.tmpfiles.rules = [ "d /foo - - - - -" ];
-        systemd.services.foo = {
-          serviceConfig.Type = "oneshot";
-          script = "ls -al /foo";
-          wantedBy = [ "multi-user.target" ];
-        };
-      }
-    ''; in
-    ''
-      # Make sure we have a NixOS tree (required by ‘nixos-container create’).
-      $machine->succeed("PAGER=cat nix-env -qa -A nixos.hello >&2");
-
-      # Create some containers imperatively.
-      my $id1 = $machine->succeed("nixos-container create foo --ensure-unique-name");
-      chomp $id1;
-      $machine->log("created container $id1");
-
-      my $id2 = $machine->succeed("nixos-container create foo --ensure-unique-name");
-      chomp $id2;
-      $machine->log("created container $id2");
-
-      die if $id1 eq $id2;
-
-      # Put the root of $id2 into a bind mount.
-      $machine->succeed(
-        "mv /var/lib/containers/$id2 /id2-bindmount",
-        "mount --bind /id2-bindmount /var/lib/containers/$id1"
-      );
-
-      my $ip1 = $machine->succeed("nixos-container show-ip $id1");
-      chomp $ip1;
-      my $ip2 = $machine->succeed("nixos-container show-ip $id2");
-      chomp $ip2;
-      die if $ip1 eq $ip2;
-
-      # Create a directory and a file we can later check if it still exists
-      # after destruction of the container.
-      $machine->succeed(
-        "mkdir /nested-bindmount",
-        "echo important data > /nested-bindmount/dummy",
-      );
-
-      # Create a directory with a dummy file and bind-mount it into both
-      # containers.
-      foreach ($id1, $id2) {
-        my $importantPath = "/var/lib/containers/$_/very/important/data";
-        $machine->succeed(
-          "mkdir -p $importantPath",
-          "mount --bind /nested-bindmount $importantPath"
-        );
-      }
-
-      # Start one of them.
-      $machine->succeed("nixos-container start $id1");
-
-      # Execute commands via the root shell.
-      $machine->succeed("nixos-container run $id1 -- uname") =~ /Linux/ or die;
-
-      # Execute a nix command via the root shell. (regression test for #40355)
-      $machine->succeed("nixos-container run $id1 -- nix-instantiate -E 'derivation { name = \"empty\"; builder = \"false\"; system = \"false\"; }'");
-
-      # Stop and start (regression test for #4989)
-      $machine->succeed("nixos-container stop $id1");
-      $machine->succeed("nixos-container start $id1");
-
-      # Ensure tmpfiles are present
-      $machine->log("creating container tmpfiles");
-      $machine->succeed("nixos-container create tmpfiles --config-file ${tmpfilesContainerConfig}");
-      $machine->log("created, starting…");
-      $machine->succeed("nixos-container start tmpfiles");
-      $machine->log("done starting, investigating…");
-      $machine->succeed("echo \$(nixos-container run tmpfiles -- systemctl is-active foo.service) | grep -q active;");
-      $machine->succeed("nixos-container destroy tmpfiles");
-
-      # Execute commands via the root shell.
-      $machine->succeed("nixos-container run $id1 -- uname") =~ /Linux/ or die;
-
-      # Destroy the containers.
-      $machine->succeed("nixos-container destroy $id1");
-      $machine->succeed("nixos-container destroy $id2");
-
-      $machine->succeed(
-        # Check whether destruction of any container has killed important data
-        "grep -qF 'important data' /nested-bindmount/dummy",
-        # Ensure that the container path is gone
-        "test ! -e /var/lib/containers/$id1"
-      );
+      tmpfilesContainerConfig = pkgs.writeText "container-config-tmpfiles" ''
+        {
+          systemd.tmpfiles.rules = [ "d /foo - - - - -" ];
+          systemd.services.foo = {
+            serviceConfig.Type = "oneshot";
+            script = "ls -al /foo";
+            wantedBy = [ "multi-user.target" ];
+          };
+        }
+      '';
+    in ''
+      with subtest("Make sure we have a NixOS tree (required by ‘nixos-container create’)"):
+          machine.succeed("PAGER=cat nix-env -qa -A nixos.hello >&2")
+
+      id1, id2 = None, None
+
+      with subtest("Create some containers imperatively"):
+          id1 = machine.succeed("nixos-container create foo --ensure-unique-name").rstrip()
+          machine.log(f"created container {id1}")
+
+          id2 = machine.succeed("nixos-container create foo --ensure-unique-name").rstrip()
+          machine.log(f"created container {id2}")
+
+          assert id1 != id2
+
+      with subtest(f"Put the root of {id2} into a bind mount"):
+          machine.succeed(
+              f"mv /var/lib/containers/{id2} /id2-bindmount",
+              f"mount --bind /id2-bindmount /var/lib/containers/{id1}",
+          )
+
+          ip1 = machine.succeed(f"nixos-container show-ip {id1}").rstrip()
+          ip2 = machine.succeed(f"nixos-container show-ip {id2}").rstrip()
+          assert ip1 != ip2
+
+      with subtest(
+          "Create a directory and a file we can later check if it still exists "
+          + "after destruction of the container"
+      ):
+          machine.succeed("mkdir /nested-bindmount")
+          machine.succeed("echo important data > /nested-bindmount/dummy")
+
+      with subtest(
+          "Create a directory with a dummy file and bind-mount it into both containers."
+      ):
+          for id in id1, id2:
+              important_path = f"/var/lib/containers/{id}/very/important/data"
+              machine.succeed(
+                  f"mkdir -p {important_path}",
+                  f"mount --bind /nested-bindmount {important_path}",
+              )
+
+      with subtest("Start one of them"):
+          machine.succeed(f"nixos-container start {id1}")
+
+      with subtest("Execute commands via the root shell"):
+          assert "Linux" in machine.succeed(f"nixos-container run {id1} -- uname")
+
+      with subtest("Execute a nix command via the root shell. (regression test for #40355)"):
+          machine.succeed(
+              f"nixos-container run {id1} -- nix-instantiate -E "
+              + '\'derivation { name = "empty"; builder = "false"; system = "false"; }\' '
+          )
+
+      with subtest("Stop and start (regression test for #4989)"):
+          machine.succeed(f"nixos-container stop {id1}")
+          machine.succeed(f"nixos-container start {id1}")
+
+      with subtest("tmpfiles are present"):
+          machine.log("creating container tmpfiles")
+          machine.succeed(
+              "nixos-container create tmpfiles --config-file ${tmpfilesContainerConfig}"
+          )
+          machine.log("created, starting…")
+          machine.succeed("nixos-container start tmpfiles")
+          machine.log("done starting, investigating…")
+          machine.succeed(
+              "echo $(nixos-container run tmpfiles -- systemctl is-active foo.service) | grep -q active;"
+          )
+          machine.succeed("nixos-container destroy tmpfiles")
+
+      with subtest("Execute commands via the root shell"):
+          assert "Linux" in machine.succeed(f"nixos-container run {id1} -- uname")
+
+      with subtest("Destroy the containers"):
+          for id in id1, id2:
+              machine.succeed(f"nixos-container destroy {id}")
+
+      with subtest("Check whether destruction of any container has killed important data"):
+          machine.succeed("grep -qF 'important data' /nested-bindmount/dummy")
+
+      with subtest("Ensure that the container path is gone"):
+          print(machine.succeed("ls -lsa /var/lib/containers"))
+          machine.succeed(f"test ! -e /var/lib/containers/{id1}")
     '';
-
 })
diff --git a/nixos/tests/containers-ip.nix b/nixos/tests/containers-ip.nix
new file mode 100644
index 000000000000..8583a08c6258
--- /dev/null
+++ b/nixos/tests/containers-ip.nix
@@ -0,0 +1,77 @@
+# Test for NixOS' container support.
+
+let
+  webserverFor = hostAddress: localAddress: {
+    inherit hostAddress localAddress;
+    privateNetwork = true;
+    config = {
+      services.httpd = {
+        enable = true;
+        adminAddr = "foo@example.org";
+      };
+      networking.firewall.allowedTCPPorts = [ 80 ];
+    };
+  };
+
+in import ./make-test-python.nix ({ pkgs, ...} : {
+  name = "containers-ipv4-ipv6";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ aristid aszlig eelco kampfschlaefer ];
+  };
+
+  machine =
+    { pkgs, ... }: {
+      imports = [ ../modules/installer/cd-dvd/channel.nix ];
+      virtualisation = {
+        writableStore = true;
+        memorySize = 768;
+      };
+
+      containers.webserver4 = webserverFor "10.231.136.1" "10.231.136.2";
+      containers.webserver6 = webserverFor "fc00::2" "fc00::1";
+      virtualisation.pathsInNixDB = [ pkgs.stdenv ];
+    };
+
+  testScript = { nodes, ... }: ''
+    import time
+
+
+    def curl_host(ip):
+        # put [] around ipv6 addresses for curl
+        host = ip if ":" not in ip else f"[{ip}]"
+        return f"curl --fail --connect-timeout 2 http://{host}/ > /dev/null"
+
+
+    def get_ip(container):
+        # need to distinguish because show-ip won't work for ipv6
+        if container == "webserver4":
+            ip = machine.succeed(f"nixos-container show-ip {container}").rstrip()
+            assert ip == "${nodes.machine.config.containers.webserver4.localAddress}"
+            return ip
+        return "${nodes.machine.config.containers.webserver6.localAddress}"
+
+
+    for container in "webserver4", "webserver6":
+        assert container in machine.succeed("nixos-container list")
+
+        with subtest(f"Start container {container}"):
+            machine.succeed(f"nixos-container start {container}")
+            # wait 2s for container to start and network to be up
+            time.sleep(2)
+
+        # Since "start" returns after the container has reached
+        # multi-user.target, we should now be able to access it.
+
+        ip = get_ip(container)
+        with subtest(f"{container} reacts to pings and HTTP requests"):
+            machine.succeed(f"ping -n -c1 {ip}")
+            machine.succeed(curl_host(ip))
+
+        with subtest(f"Stop container {container}"):
+            machine.succeed(f"nixos-container stop {container}")
+            machine.fail(curl_host(ip))
+
+        # Destroying a declarative container should fail.
+        machine.fail(f"nixos-container destroy {container}")
+  '';
+})
diff --git a/nixos/tests/containers-ipv4.nix b/nixos/tests/containers-ipv4.nix
deleted file mode 100644
index ace68ff2df8b..000000000000
--- a/nixos/tests/containers-ipv4.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-# Test for NixOS' container support.
-
-import ./make-test.nix ({ pkgs, ...} : {
-  name = "containers-ipv4";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ aristid aszlig eelco kampfschlaefer ];
-  };
-
-  machine =
-    { pkgs, ... }:
-    { imports = [ ../modules/installer/cd-dvd/channel.nix ];
-      virtualisation.writableStore = true;
-      virtualisation.memorySize = 768;
-
-      containers.webserver =
-        { privateNetwork = true;
-          hostAddress = "10.231.136.1";
-          localAddress = "10.231.136.2";
-          config =
-            { services.httpd.enable = true;
-              services.httpd.adminAddr = "foo@example.org";
-              networking.firewall.allowedTCPPorts = [ 80 ];
-              system.stateVersion = "18.03";
-            };
-        };
-
-      virtualisation.pathsInNixDB = [ pkgs.stdenv ];
-    };
-
-  testScript =
-    ''
-      $machine->succeed("nixos-container list") =~ /webserver/ or die;
-
-      # Start the webserver container.
-      $machine->succeed("nixos-container start webserver");
-
-      # wait two seconds for the container to start and the network to be up
-      sleep 2;
-
-      # Since "start" returns after the container has reached
-      # multi-user.target, we should now be able to access it.
-      my $ip = $machine->succeed("nixos-container show-ip webserver");
-      chomp $ip;
-      $machine->succeed("ping -n -c1 $ip");
-      $machine->succeed("curl --fail http://$ip/ > /dev/null");
-
-      # Stop the container.
-      $machine->succeed("nixos-container stop webserver");
-      $machine->fail("curl --fail --connect-timeout 2 http://$ip/ > /dev/null");
-
-      # Destroying a declarative container should fail.
-      $machine->fail("nixos-container destroy webserver");
-    '';
-
-})
diff --git a/nixos/tests/containers-ipv6.nix b/nixos/tests/containers-ipv6.nix
deleted file mode 100644
index a9499d192bd4..000000000000
--- a/nixos/tests/containers-ipv6.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-# Test for NixOS' container support.
-
-let
-  hostIp = "fc00::2";
-  localIp = "fc00::1";
-in
-
-import ./make-test.nix ({ pkgs, ...} : {
-  name = "containers-ipv6";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ aristid aszlig eelco kampfschlaefer ];
-  };
-
-  machine =
-    { pkgs, ... }:
-    { imports = [ ../modules/installer/cd-dvd/channel.nix ];
-      virtualisation.writableStore = true;
-      virtualisation.memorySize = 768;
-
-      containers.webserver =
-        { privateNetwork = true;
-          hostAddress6 = hostIp;
-          localAddress6 = localIp;
-          config =
-            { services.httpd.enable = true;
-              services.httpd.adminAddr = "foo@example.org";
-              networking.firewall.allowedTCPPorts = [ 80 ];
-            };
-        };
-
-      virtualisation.pathsInNixDB = [ pkgs.stdenv ];
-    };
-
-  testScript =
-    ''
-      $machine->waitForUnit("default.target");
-      $machine->succeed("nixos-container list") =~ /webserver/ or die;
-
-      # Start the webserver container.
-      $machine->succeed("nixos-container start webserver");
-
-      # wait two seconds for the container to start and the network to be up
-      sleep 2;
-
-      # Since "start" returns after the container has reached
-      # multi-user.target, we should now be able to access it.
-      my $ip = "${localIp}";
-      chomp $ip;
-      $machine->succeed("ping -n -c 1 $ip");
-      $machine->succeed("curl --fail http://[$ip]/ > /dev/null");
-
-      # Stop the container.
-      $machine->succeed("nixos-container stop webserver");
-      $machine->fail("curl --fail --connect-timeout 2 http://[$ip]/ > /dev/null");
-
-      # Destroying a declarative container should fail.
-      $machine->fail("nixos-container destroy webserver");
-    '';
-
-})
diff --git a/nixos/tests/containers-reloadable.nix b/nixos/tests/containers-reloadable.nix
index f41dea91b1e4..35aff91e85b5 100644
--- a/nixos/tests/containers-reloadable.nix
+++ b/nixos/tests/containers-reloadable.nix
@@ -1,7 +1,7 @@
-import ./make-test.nix ({ pkgs, lib, ...} :
+import ./make-test-python.nix ({ pkgs, lib, ...} :
 let
   client_base = {
-    
+
     containers.test1 = {
       autoStart = true;
       config = {
@@ -48,18 +48,25 @@ in {
     c1System = nodes.client_c1.config.system.build.toplevel;
     c2System = nodes.client_c2.config.system.build.toplevel;
   in ''
-    $client->start();
-    $client->waitForUnit("default.target");
-    $client->succeed("[[ \$(nixos-container run test1 cat /etc/check) == client_base ]] >&2");
+    client.start()
+    client.wait_for_unit("default.target")
+
+    assert "client_base" in client.succeed("nixos-container run test1 cat /etc/check")
 
-    $client->succeed("${c1System}/bin/switch-to-configuration test >&2");
-    $client->succeed("[[ \$(nixos-container run test1 cat /etc/check) == client_c1 ]] >&2");
-    $client->succeed("systemctl status httpd -M test1 >&2");
+    with subtest("httpd is available after activating config1"):
+        client.succeed(
+            "${c1System}/bin/switch-to-configuration test >&2",
+            "[[ $(nixos-container run test1 cat /etc/check) == client_c1 ]] >&2",
+            "systemctl status httpd -M test1 >&2",
+        )
 
-    $client->succeed("${c2System}/bin/switch-to-configuration test >&2");
-    $client->succeed("[[ \$(nixos-container run test1 cat /etc/check) == client_c2 ]] >&2");
-    $client->fail("systemctl status httpd -M test1 >&2");
-    $client->succeed("systemctl status nginx -M test1 >&2");
+    with subtest("httpd is not available any longer after switching to config2"):
+        client.succeed(
+            "${c2System}/bin/switch-to-configuration test >&2",
+            "[[ $(nixos-container run test1 cat /etc/check) == client_c2 ]] >&2",
+            "systemctl status nginx -M test1 >&2",
+        )
+        client.fail("systemctl status httpd -M test1 >&2")
   '';
 
 })
diff --git a/nixos/tests/containers-tmpfs.nix b/nixos/tests/containers-tmpfs.nix
index e29fe6bbf032..171e8f01c7b9 100644
--- a/nixos/tests/containers-tmpfs.nix
+++ b/nixos/tests/containers-tmpfs.nix
@@ -1,6 +1,6 @@
 # Test for NixOS' container support.
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "containers-tmpfs";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ kampka ];
@@ -31,49 +31,63 @@ import ./make-test.nix ({ pkgs, ...} : {
       virtualisation.pathsInNixDB = [ pkgs.stdenv ];
     };
 
-  testScript =
-    ''
-      $machine->waitForUnit("default.target");
-      $machine->succeed("nixos-container list") =~ /tmpfs/ or die;
-
-      # Start the tmpfs container.
-      #$machine->succeed("nixos-container status tmpfs") =~ /up/ or die;
-
-      # Verify that /var is mounted as a tmpfs
-      #$machine->succeed("nixos-container run tmpfs -- systemctl status var.mount --no-pager 2>/dev/null") =~ /What: tmpfs/ or die;
-      $machine->succeed("nixos-container run tmpfs -- mountpoint -q /var 2>/dev/null");
-
-      # Verify that /var/log is mounted as a tmpfs
-      $machine->succeed("nixos-container run tmpfs -- systemctl status var-log.mount --no-pager 2>/dev/null") =~ /What: tmpfs/ or die;
-      $machine->succeed("nixos-container run tmpfs -- mountpoint -q /var/log 2>/dev/null");
-
-      # Verify that /some/random/path is mounted as a tmpfs
-      $machine->succeed("nixos-container run tmpfs -- systemctl status some-random-path.mount --no-pager 2>/dev/null") =~ /What: tmpfs/ or die;
-      $machine->succeed("nixos-container run tmpfs -- mountpoint -q /some/random/path 2>/dev/null");
-
-      # Verify that files created in the container in a non-tmpfs directory are visible on the host.
-      # This establishes legitimacy for the following tests
-      $machine->succeed("nixos-container run tmpfs -- touch /root/test.file 2>/dev/null");
-      $machine->succeed("nixos-container run tmpfs -- ls -l  /root | grep -q test.file 2>/dev/null");
-      $machine->succeed("test -e /var/lib/containers/tmpfs/root/test.file");
-
-
-      # Verify that /some/random/path is writable and that files created there
-      # are not in the hosts container dir but in the tmpfs
-      $machine->succeed("nixos-container run tmpfs -- touch /some/random/path/test.file 2>/dev/null");
-      $machine->succeed("nixos-container run tmpfs -- test -e /some/random/path/test.file 2>/dev/null");
-
-      $machine->fail("test -e /var/lib/containers/tmpfs/some/random/path/test.file");
-
-      # Verify that files created in the hosts container dir in a path where a tmpfs file system has been mounted
-      # are not visible to the container as the do not exist in the tmpfs
-      $machine->succeed("touch /var/lib/containers/tmpfs/var/test.file");
-
-      $machine->succeed("test -e /var/lib/containers/tmpfs/var/test.file");
-      $machine->succeed("ls -l /var/lib/containers/tmpfs/var/ | grep -q test.file 2>/dev/null");
-
-      $machine->fail("nixos-container run tmpfs -- ls -l /var | grep -q test.file 2>/dev/null");
-
+  testScript = ''
+      machine.wait_for_unit("default.target")
+      assert "tmpfs" in machine.succeed("nixos-container list")
+
+      with subtest("tmpfs container is up"):
+          assert "up" in machine.succeed("nixos-container status tmpfs")
+
+
+      def tmpfs_cmd(command):
+          return f"nixos-container run tmpfs -- {command} 2>/dev/null"
+
+
+      with subtest("/var is mounted as a tmpfs"):
+          machine.succeed(tmpfs_cmd("mountpoint -q /var"))
+
+      with subtest("/var/log is mounted as a tmpfs"):
+          assert "What: tmpfs" in machine.succeed(
+              tmpfs_cmd("systemctl status var-log.mount --no-pager")
+          )
+          machine.succeed(tmpfs_cmd("mountpoint -q /var/log"))
+
+      with subtest("/some/random/path is mounted as a tmpfs"):
+          assert "What: tmpfs" in machine.succeed(
+              tmpfs_cmd("systemctl status some-random-path.mount --no-pager")
+          )
+          machine.succeed(tmpfs_cmd("mountpoint -q /some/random/path"))
+
+      with subtest(
+          "files created in the container in a non-tmpfs directory are visible on the host."
+      ):
+          # This establishes legitimacy for the following tests
+          machine.succeed(
+              tmpfs_cmd("touch /root/test.file"),
+              tmpfs_cmd("ls -l  /root | grep -q test.file"),
+              "test -e /var/lib/containers/tmpfs/root/test.file",
+          )
+
+      with subtest(
+          "/some/random/path is writable and that files created there are not "
+          + "in the hosts container dir but in the tmpfs"
+      ):
+          machine.succeed(
+              tmpfs_cmd("touch /some/random/path/test.file"),
+              tmpfs_cmd("test -e /some/random/path/test.file"),
+          )
+          machine.fail("test -e /var/lib/containers/tmpfs/some/random/path/test.file")
+
+      with subtest(
+          "files created in the hosts container dir in a path where a tmpfs "
+          + "file system has been mounted are not visible to the container as "
+          + "the do not exist in the tmpfs"
+      ):
+          machine.succeed(
+              "touch /var/lib/containers/tmpfs/var/test.file",
+              "test -e /var/lib/containers/tmpfs/var/test.file",
+              "ls -l /var/lib/containers/tmpfs/var/ | grep -q test.file 2>/dev/null",
+          )
+          machine.fail(tmpfs_cmd("ls -l /var | grep -q test.file"))
     '';
-
 })
diff --git a/nixos/tests/deluge.nix b/nixos/tests/deluge.nix
index b58030409b5c..37689c3d9137 100644
--- a/nixos/tests/deluge.nix
+++ b/nixos/tests/deluge.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "deluge";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ flokli ];
@@ -45,18 +45,20 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $simple->waitForUnit("deluged");
-    $simple->waitForUnit("delugeweb");
-    $simple->waitForOpenPort("8112");
-    $declarative->waitForUnit("network.target");
-    $declarative->waitUntilSucceeds("curl --fail http://simple:8112");
+    simple.wait_for_unit("deluged")
+    simple.wait_for_unit("delugeweb")
+    simple.wait_for_open_port("8112")
+    declarative.wait_for_unit("network.target")
+    declarative.wait_until_succeeds("curl --fail http://simple:8112")
 
-    $declarative->waitForUnit("deluged");
-    $declarative->waitForUnit("delugeweb");
-    $declarative->waitUntilSucceeds("curl --fail http://declarative:3142");
-    $declarative->succeed("deluge-console 'help' | grep -q 'rm - Remove a torrent'");
-    $declarative->succeed("deluge-console 'connect 127.0.0.1:58846 andrew password; help' | grep -q 'rm - Remove a torrent'");
+    declarative.wait_for_unit("deluged")
+    declarative.wait_for_unit("delugeweb")
+    declarative.wait_until_succeeds("curl --fail http://declarative:3142")
+    declarative.succeed("deluge-console 'help' | grep -q 'rm - Remove a torrent'")
+    declarative.succeed(
+        "deluge-console 'connect 127.0.0.1:58846 andrew password; help' | grep -q 'rm - Remove a torrent'"
+    )
   '';
 })
diff --git a/nixos/tests/docker-registry.nix b/nixos/tests/docker-registry.nix
index 8936421072a9..2928fd8141a4 100644
--- a/nixos/tests/docker-registry.nix
+++ b/nixos/tests/docker-registry.nix
@@ -1,6 +1,6 @@
 # This test runs docker-registry and check if it works
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "docker-registry";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ globin ma27 ironpinguin ];
@@ -28,36 +28,34 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    $client1->start();
-    $client1->waitForUnit("docker.service");
-    $client1->succeed("tar cv --files-from /dev/null | docker import - scratch");
-    $client1->succeed("docker tag scratch registry:8080/scratch");
-
-    $registry->start();
-    $registry->waitForUnit("docker-registry.service");
-    $registry->waitForOpenPort("8080");
-    $client1->succeed("docker push registry:8080/scratch");
-
-    $client2->start();
-    $client2->waitForUnit("docker.service");
-    $client2->succeed("docker pull registry:8080/scratch");
-    $client2->succeed("docker images | grep scratch");
-
-    $client2->succeed(
-      'curl -fsS -X DELETE registry:8080/v2/scratch/manifests/$(curl -fsS -I -H"Accept: application/vnd.docker.distribution.manifest.v2+json" registry:8080/v2/scratch/manifests/latest | grep Docker-Content-Digest | sed -e \'s/Docker-Content-Digest: //\' | tr -d \'\r\')'
-    );
-
-    $registry->systemctl("start docker-registry-garbage-collect.service");
-    $registry->waitUntilFails("systemctl status docker-registry-garbage-collect.service");
-    $registry->waitForUnit("docker-registry.service");
-
-    $registry->fail(
-      'ls -l /var/lib/docker-registry/docker/registry/v2/blobs/sha256/*/*/data'
-    );
-
-    $client1->succeed("docker push registry:8080/scratch");
-    $registry->succeed(
-      'ls -l /var/lib/docker-registry/docker/registry/v2/blobs/sha256/*/*/data'
-    );
+    client1.start()
+    client1.wait_for_unit("docker.service")
+    client1.succeed("tar cv --files-from /dev/null | docker import - scratch")
+    client1.succeed("docker tag scratch registry:8080/scratch")
+
+    registry.start()
+    registry.wait_for_unit("docker-registry.service")
+    registry.wait_for_open_port("8080")
+    client1.succeed("docker push registry:8080/scratch")
+
+    client2.start()
+    client2.wait_for_unit("docker.service")
+    client2.succeed("docker pull registry:8080/scratch")
+    client2.succeed("docker images | grep scratch")
+
+    client2.succeed(
+        "curl -fsS -X DELETE registry:8080/v2/scratch/manifests/$(curl -fsS -I -H\"Accept: application/vnd.docker.distribution.manifest.v2+json\" registry:8080/v2/scratch/manifests/latest | grep Docker-Content-Digest | sed -e 's/Docker-Content-Digest: //' | tr -d '\\r')"
+    )
+
+    registry.systemctl("start docker-registry-garbage-collect.service")
+    registry.wait_until_fails("systemctl status docker-registry-garbage-collect.service")
+    registry.wait_for_unit("docker-registry.service")
+
+    registry.fail("ls -l /var/lib/docker-registry/docker/registry/v2/blobs/sha256/*/*/data")
+
+    client1.succeed("docker push registry:8080/scratch")
+    registry.succeed(
+        "ls -l /var/lib/docker-registry/docker/registry/v2/blobs/sha256/*/*/data"
+    )
   '';
 })
diff --git a/nixos/tests/dovecot.nix b/nixos/tests/dovecot.nix
index 156079d1d585..c19850f418bc 100644
--- a/nixos/tests/dovecot.nix
+++ b/nixos/tests/dovecot.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix {
+import ./make-test-python.nix {
   name = "dovecot";
 
   machine = { pkgs, ... }: {
@@ -66,12 +66,12 @@ import ./make-test.nix {
   };
 
   testScript = ''
-    $machine->waitForUnit('postfix.service');
-    $machine->waitForUnit('dovecot2.service');
-    $machine->succeed('send-testmail');
-    $machine->succeed('send-lda');
-    $machine->waitUntilFails('[ "$(postqueue -p)" != "Mail queue is empty" ]');
-    $machine->succeed('test-imap');
-    $machine->succeed('test-pop');
+    machine.wait_for_unit("postfix.service")
+    machine.wait_for_unit("dovecot2.service")
+    machine.succeed("send-testmail")
+    machine.succeed("send-lda")
+    machine.wait_until_fails('[ "$(postqueue -p)" != "Mail queue is empty" ]')
+    machine.succeed("test-imap")
+    machine.succeed("test-pop")
   '';
 }
diff --git a/nixos/tests/etcd-cluster.nix b/nixos/tests/etcd-cluster.nix
index 43fde7d59205..19c5d9158236 100644
--- a/nixos/tests/etcd-cluster.nix
+++ b/nixos/tests/etcd-cluster.nix
@@ -1,6 +1,6 @@
 # This test runs simple etcd cluster
 
-import ./make-test.nix ({ pkgs, ... } : let
+import ./make-test-python.nix ({ pkgs, ... } : let
 
   runWithOpenSSL = file: cmd: pkgs.runCommand file {
     buildInputs = [ pkgs.openssl ];
@@ -129,29 +129,26 @@ in {
   };
 
   testScript = ''
-    subtest "should start etcd cluster", sub {
-      $node1->start();
-      $node2->start();
-      $node1->waitForUnit("etcd.service");
-      $node2->waitForUnit("etcd.service");
-      $node2->waitUntilSucceeds("etcdctl cluster-health");
-      $node1->succeed("etcdctl set /foo/bar 'Hello world'");
-      $node2->succeed("etcdctl get /foo/bar | grep 'Hello world'");
-    };
-
-    subtest "should add another member", sub {
-      $node1->waitUntilSucceeds("etcdctl member add node3 https://node3:2380");
-      $node3->start();
-      $node3->waitForUnit("etcd.service");
-      $node3->waitUntilSucceeds("etcdctl member list | grep 'node3'");
-      $node3->succeed("etcdctl cluster-health");
-    };
-
-    subtest "should survive member crash", sub {
-      $node3->crash;
-      $node1->succeed("etcdctl cluster-health");
-      $node1->succeed("etcdctl set /foo/bar 'Hello degraded world'");
-      $node1->succeed("etcdctl get /foo/bar | grep 'Hello degraded world'");
-    };
+    with subtest("should start etcd cluster"):
+        node1.start()
+        node2.start()
+        node1.wait_for_unit("etcd.service")
+        node2.wait_for_unit("etcd.service")
+        node2.wait_until_succeeds("etcdctl cluster-health")
+        node1.succeed("etcdctl set /foo/bar 'Hello world'")
+        node2.succeed("etcdctl get /foo/bar | grep 'Hello world'")
+
+    with subtest("should add another member"):
+        node1.wait_until_succeeds("etcdctl member add node3 https://node3:2380")
+        node3.start()
+        node3.wait_for_unit("etcd.service")
+        node3.wait_until_succeeds("etcdctl member list | grep 'node3'")
+        node3.succeed("etcdctl cluster-health")
+
+    with subtest("should survive member crash"):
+        node3.crash()
+        node1.succeed("etcdctl cluster-health")
+        node1.succeed("etcdctl set /foo/bar 'Hello degraded world'")
+        node1.succeed("etcdctl get /foo/bar | grep 'Hello degraded world'")
   '';
 })
diff --git a/nixos/tests/etcd.nix b/nixos/tests/etcd.nix
index 6c23b31779bc..842724343841 100644
--- a/nixos/tests/etcd.nix
+++ b/nixos/tests/etcd.nix
@@ -1,6 +1,6 @@
 # This test runs simple etcd node
 
-import ./make-test.nix ({ pkgs, ... } : {
+import ./make-test-python.nix ({ pkgs, ... } : {
   name = "etcd";
 
   meta = with pkgs.stdenv.lib.maintainers; {
@@ -14,14 +14,12 @@ import ./make-test.nix ({ pkgs, ... } : {
   };
 
   testScript = ''
-    subtest "should start etcd node", sub {
-      $node->start();
-      $node->waitForUnit("etcd.service");
-    };
+    with subtest("should start etcd node"):
+        node.start()
+        node.wait_for_unit("etcd.service")
 
-    subtest "should write and read some values to etcd", sub {
-      $node->succeed("etcdctl set /foo/bar 'Hello world'");
-      $node->succeed("etcdctl get /foo/bar | grep 'Hello world'");
-    }
+    with subtest("should write and read some values to etcd"):
+        node.succeed("etcdctl set /foo/bar 'Hello world'")
+        node.succeed("etcdctl get /foo/bar | grep 'Hello world'")
   '';
 })
diff --git a/nixos/tests/fancontrol.nix b/nixos/tests/fancontrol.nix
index 83ddbb54c5bb..356cd57ffa1a 100644
--- a/nixos/tests/fancontrol.nix
+++ b/nixos/tests/fancontrol.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... } : {
+import ./make-test-python.nix ({ pkgs, ... } : {
   name = "fancontrol";
 
   machine =
@@ -19,7 +19,10 @@ import ./make-test.nix ({ pkgs, ... } : {
 
   # This configuration cannot be valid for the test VM, so it's expected to get an 'outdated' error.
   testScript = ''
-    $machine->waitForUnit("fancontrol.service");
-    $machine->waitUntilSucceeds("journalctl -eu fancontrol | grep 'Configuration appears to be outdated'");
+    start_all()
+    machine.wait_for_unit("fancontrol.service")
+    machine.wait_until_succeeds(
+        "journalctl -eu fancontrol | grep 'Configuration appears to be outdated'"
+    )
   '';
 })
diff --git a/nixos/tests/ferm.nix b/nixos/tests/ferm.nix
index edf9c8036aca..a73c9ce739cf 100644
--- a/nixos/tests/ferm.nix
+++ b/nixos/tests/ferm.nix
@@ -1,5 +1,5 @@
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "ferm";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ mic92 ];
@@ -53,24 +53,22 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      startAll;
+      start_all()
 
-      $client->waitForUnit("network-online.target");
-      $server->waitForUnit("ferm.service");
-      $server->waitForUnit("nginx.service");
-      $server->waitUntilSucceeds("ss -ntl | grep -q 80");
+      client.wait_for_unit("network-online.target")
+      server.wait_for_unit("ferm.service")
+      server.wait_for_unit("nginx.service")
+      server.wait_until_succeeds("ss -ntl | grep -q 80")
 
-      subtest "port 80 is allowed", sub {
-          $client->succeed("curl --fail -g http://192.168.1.1:80/status");
-          $client->succeed("curl --fail -g http://[fd00::1]:80/status");
-      };
+      with subtest("port 80 is allowed"):
+          client.succeed("curl --fail -g http://192.168.1.1:80/status")
+          client.succeed("curl --fail -g http://[fd00::1]:80/status")
 
-      subtest "port 8080 is not allowed", sub {
-          $server->succeed("curl --fail -g http://192.168.1.1:8080/status");
-          $server->succeed("curl --fail -g http://[fd00::1]:8080/status");
+      with subtest("port 8080 is not allowed"):
+          server.succeed("curl --fail -g http://192.168.1.1:8080/status")
+          server.succeed("curl --fail -g http://[fd00::1]:8080/status")
 
-          $client->fail("curl --fail -g http://192.168.1.1:8080/status");
-          $client->fail("curl --fail -g http://[fd00::1]:8080/status");
-      };
+          client.fail("curl --fail -g http://192.168.1.1:8080/status")
+          client.fail("curl --fail -g http://[fd00::1]:8080/status")
     '';
 })
diff --git a/nixos/tests/firewall.nix b/nixos/tests/firewall.nix
index fcf758910e00..09a1fef852e6 100644
--- a/nixos/tests/firewall.nix
+++ b/nixos/tests/firewall.nix
@@ -1,6 +1,6 @@
 # Test the firewall module.
 
-import ./make-test.nix ( { pkgs, ... } : {
+import ./make-test-python.nix ( { pkgs, ... } : {
   name = "firewall";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ eelco ];
@@ -36,30 +36,30 @@ import ./make-test.nix ( { pkgs, ... } : {
   testScript = { nodes, ... }: let
     newSystem = nodes.walled2.config.system.build.toplevel;
   in ''
-    $walled->start;
-    $attacker->start;
+    start_all()
 
-    $walled->waitForUnit("firewall");
-    $walled->waitForUnit("httpd");
-    $attacker->waitForUnit("network.target");
+    walled.wait_for_unit("firewall")
+    walled.wait_for_unit("httpd")
+    attacker.wait_for_unit("network.target")
 
     # Local connections should still work.
-    $walled->succeed("curl -v http://localhost/ >&2");
+    walled.succeed("curl -v http://localhost/ >&2")
 
     # Connections to the firewalled machine should fail, but ping should succeed.
-    $attacker->fail("curl --fail --connect-timeout 2 http://walled/ >&2");
-    $attacker->succeed("ping -c 1 walled >&2");
+    attacker.fail("curl --fail --connect-timeout 2 http://walled/ >&2")
+    attacker.succeed("ping -c 1 walled >&2")
 
     # Outgoing connections/pings should still work.
-    $walled->succeed("curl -v http://attacker/ >&2");
-    $walled->succeed("ping -c 1 attacker >&2");
+    walled.succeed("curl -v http://attacker/ >&2")
+    walled.succeed("ping -c 1 attacker >&2")
 
     # If we stop the firewall, then connections should succeed.
-    $walled->stopJob("firewall");
-    $attacker->succeed("curl -v http://walled/ >&2");
+    walled.stop_job("firewall")
+    attacker.succeed("curl -v http://walled/ >&2")
 
     # Check whether activation of a new configuration reloads the firewall.
-    $walled->succeed("${newSystem}/bin/switch-to-configuration test 2>&1" .
-                     " | grep -qF firewall.service");
+    walled.succeed(
+        "${newSystem}/bin/switch-to-configuration test 2>&1 | grep -qF firewall.service"
+    )
   '';
 })
diff --git a/nixos/tests/fish.nix b/nixos/tests/fish.nix
index 97c4e8e37ac1..68fba428439b 100644
--- a/nixos/tests/fish.nix
+++ b/nixos/tests/fish.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "fish";
 
   machine =
@@ -14,8 +14,11 @@ import ./make-test.nix ({ pkgs, ... }: {
 
   testScript =
     ''
-      $machine->waitForFile("/etc/fish/generated_completions/coreutils.fish");
-      $machine->waitForFile("/etc/fish/generated_completions/kill.fish");
-      $machine->succeed("fish -ic 'echo \$fish_complete_path' | grep -q '/share/fish/completions /etc/fish/generated_completions /root/.local/share/fish/generated_completions\$'");
+      start_all()
+      machine.wait_for_file("/etc/fish/generated_completions/coreutils.fish")
+      machine.wait_for_file("/etc/fish/generated_completions/kill.fish")
+      machine.succeed(
+          "fish -ic 'echo $fish_complete_path' | grep -q '/share/fish/completions /etc/fish/generated_completions /root/.local/share/fish/generated_completions$'"
+      )
     '';
 })
diff --git a/nixos/tests/fluentd.nix b/nixos/tests/fluentd.nix
index e5c4c3d21631..918f2f87db17 100644
--- a/nixos/tests/fluentd.nix
+++ b/nixos/tests/fluentd.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }: {
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "fluentd";
 
   machine = { pkgs, ... }: {
@@ -33,14 +33,17 @@ import ./make-test.nix ({ pkgs, lib, ... }: {
       inherit testMessage;
     });
   in ''
-    $machine->start;
-    $machine->waitForUnit('fluentd.service');
-    $machine->waitForOpenPort(9880);
+    machine.start()
+    machine.wait_for_unit("fluentd.service")
+    machine.wait_for_open_port(9880)
 
-    $machine->succeed("curl -fsSL -X POST -H 'Content-type: application/json' -d @${payload} http://localhost:9880/test.tag");
+    machine.succeed(
+        "curl -fsSL -X POST -H 'Content-type: application/json' -d @${payload} http://localhost:9880/test.tag"
+    )
 
-    $machine->succeed("systemctl stop fluentd"); # blocking flush
+    # blocking flush
+    machine.succeed("systemctl stop fluentd")
 
-    $machine->succeed("grep '${testMessage}' /tmp/current-log");
+    machine.succeed("grep '${testMessage}' /tmp/current-log")
   '';
 })
diff --git a/nixos/tests/gitlab.nix b/nixos/tests/gitlab.nix
index be0b3c8746a9..7e4e8bcef92d 100644
--- a/nixos/tests/gitlab.nix
+++ b/nixos/tests/gitlab.nix
@@ -3,7 +3,7 @@
 let
   initialRootPassword = "notproduction";
 in
-import ./make-test.nix ({ pkgs, lib, ...} : with lib; {
+import ./make-test-python.nix ({ pkgs, lib, ...} : with lib; {
   name = "gitlab";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ globin ];
@@ -63,21 +63,35 @@ import ./make-test.nix ({ pkgs, lib, ...} : with lib; {
     });
   in
   ''
-    $gitlab->start();
-    $gitlab->waitForUnit("gitaly.service");
-    $gitlab->waitForUnit("gitlab-workhorse.service");
-    $gitlab->waitForUnit("gitlab.service");
-    $gitlab->waitForUnit("gitlab-sidekiq.service");
-    $gitlab->waitForFile("/var/gitlab/state/tmp/sockets/gitlab.socket");
-    $gitlab->waitUntilSucceeds("curl -sSf http://gitlab/users/sign_in");
-    $gitlab->succeed("curl -isSf http://gitlab  | grep -i location | grep -q http://gitlab/users/sign_in");
-    $gitlab->succeed("${pkgs.sudo}/bin/sudo -u gitlab -H gitlab-rake gitlab:check 1>&2");
-    $gitlab->succeed("echo \"Authorization: Bearer \$(curl -X POST -H 'Content-Type: application/json' -d @${auth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers");
-    $gitlab->succeed("curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${createProject} http://gitlab/api/v4/projects");
-    $gitlab->succeed("curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${putFile} http://gitlab/api/v4/projects/1/repository/files/some-file.txt");
-    $gitlab->succeed("curl -H @/tmp/headers http://gitlab/api/v4/projects/1/repository/archive.tar.gz > /tmp/archive.tar.gz");
-    $gitlab->succeed("curl -H @/tmp/headers http://gitlab/api/v4/projects/1/repository/archive.tar.bz2 > /tmp/archive.tar.bz2");
-    $gitlab->succeed("test -s /tmp/archive.tar.gz");
-    $gitlab->succeed("test -s /tmp/archive.tar.bz2");
+    gitlab.start()
+    gitlab.wait_for_unit("gitaly.service")
+    gitlab.wait_for_unit("gitlab-workhorse.service")
+    gitlab.wait_for_unit("gitlab.service")
+    gitlab.wait_for_unit("gitlab-sidekiq.service")
+    gitlab.wait_for_file("/var/gitlab/state/tmp/sockets/gitlab.socket")
+    gitlab.wait_until_succeeds("curl -sSf http://gitlab/users/sign_in")
+    gitlab.succeed(
+        "curl -isSf http://gitlab | grep -i location | grep -q http://gitlab/users/sign_in"
+    )
+    gitlab.succeed(
+        "${pkgs.sudo}/bin/sudo -u gitlab -H gitlab-rake gitlab:check 1>&2"
+    )
+    gitlab.succeed(
+        "echo \"Authorization: Bearer \$(curl -X POST -H 'Content-Type: application/json' -d @${auth} http://gitlab/oauth/token | ${pkgs.jq}/bin/jq -r '.access_token')\" >/tmp/headers"
+    )
+    gitlab.succeed(
+        "curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${createProject} http://gitlab/api/v4/projects"
+    )
+    gitlab.succeed(
+        "curl -X POST -H 'Content-Type: application/json' -H @/tmp/headers -d @${putFile} http://gitlab/api/v4/projects/1/repository/files/some-file.txt"
+    )
+    gitlab.succeed(
+        "curl -H @/tmp/headers http://gitlab/api/v4/projects/1/repository/archive.tar.gz > /tmp/archive.tar.gz"
+    )
+    gitlab.succeed(
+        "curl -H @/tmp/headers http://gitlab/api/v4/projects/1/repository/archive.tar.bz2 > /tmp/archive.tar.bz2"
+    )
+    gitlab.succeed("test -s /tmp/archive.tar.gz")
+    gitlab.succeed("test -s /tmp/archive.tar.bz2")
   '';
 })
diff --git a/nixos/tests/gitolite.nix b/nixos/tests/gitolite.nix
index 690e456ed7c8..a928645bd80f 100644
--- a/nixos/tests/gitolite.nix
+++ b/nixos/tests/gitolite.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...}:
+import ./make-test-python.nix ({ pkgs, ...}:
 
 let
   adminPrivateKey = pkgs.writeText "id_ed25519" ''
@@ -43,7 +43,7 @@ let
     ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJZNonUP1ePHLrvn0W9D2hdN6zWWZYFyJc+QR6pOKQEw bob@client
   '';
 
-  gitoliteAdminConfSnippet = ''
+  gitoliteAdminConfSnippet = pkgs.writeText "gitolite-admin-conf-snippet" ''
     repo alice-project
         RW+     =   alice
   '';
@@ -85,55 +85,54 @@ in
   };
 
   testScript = ''
-    startAll;
-
-    subtest "can setup ssh keys on system", sub {
-      $client->mustSucceed("mkdir -p ~root/.ssh");
-      $client->mustSucceed("cp ${adminPrivateKey} ~root/.ssh/id_ed25519");
-      $client->mustSucceed("chmod 600 ~root/.ssh/id_ed25519");
-
-      $client->mustSucceed("sudo -u alice mkdir -p ~alice/.ssh");
-      $client->mustSucceed("sudo -u alice cp ${alicePrivateKey} ~alice/.ssh/id_ed25519");
-      $client->mustSucceed("sudo -u alice chmod 600 ~alice/.ssh/id_ed25519");
-
-      $client->mustSucceed("sudo -u bob mkdir -p ~bob/.ssh");
-      $client->mustSucceed("sudo -u bob cp ${bobPrivateKey} ~bob/.ssh/id_ed25519");
-      $client->mustSucceed("sudo -u bob chmod 600 ~bob/.ssh/id_ed25519");
-    };
-
-    subtest "gitolite server starts", sub {
-      $server->waitForUnit("gitolite-init.service");
-      $server->waitForUnit("sshd.service");
-      $client->mustSucceed('ssh gitolite@server info');
-    };
-
-    subtest "admin can clone and configure gitolite-admin.git", sub {
-      $client->mustSucceed('git clone gitolite@server:gitolite-admin.git');
-      $client->mustSucceed("git config --global user.name 'System Administrator'");
-      $client->mustSucceed("git config --global user.email root\@domain.example");
-      $client->mustSucceed("cp ${alicePublicKey} gitolite-admin/keydir/alice.pub");
-      $client->mustSucceed("cp ${bobPublicKey} gitolite-admin/keydir/bob.pub");
-      $client->mustSucceed('(cd gitolite-admin && git add . && git commit -m "Add keys for alice, bob" && git push)');
-      $client->mustSucceed("printf '${gitoliteAdminConfSnippet}' >> gitolite-admin/conf/gitolite.conf");
-      $client->mustSucceed('(cd gitolite-admin && git add . && git commit -m "Add repo for alice" && git push)');
-    };
-
-    subtest "non-admins cannot clone gitolite-admin.git", sub {
-      $client->mustFail('sudo -i -u alice git clone gitolite@server:gitolite-admin.git');
-      $client->mustFail('sudo -i -u bob git clone gitolite@server:gitolite-admin.git');
-    };
-
-    subtest "non-admins can clone testing.git", sub {
-      $client->mustSucceed('sudo -i -u alice git clone gitolite@server:testing.git');
-      $client->mustSucceed('sudo -i -u bob git clone gitolite@server:testing.git');
-    };
-
-    subtest "alice can clone alice-project.git", sub {
-      $client->mustSucceed('sudo -i -u alice git clone gitolite@server:alice-project.git');
-    };
-
-    subtest "bob cannot clone alice-project.git", sub {
-      $client->mustFail('sudo -i -u bob git clone gitolite@server:alice-project.git');
-    };
+    start_all()
+
+    with subtest("can setup ssh keys on system"):
+        client.succeed(
+            "mkdir -p ~root/.ssh",
+            "cp ${adminPrivateKey} ~root/.ssh/id_ed25519",
+            "chmod 600 ~root/.ssh/id_ed25519",
+        )
+        client.succeed(
+            "sudo -u alice mkdir -p ~alice/.ssh",
+            "sudo -u alice cp ${alicePrivateKey} ~alice/.ssh/id_ed25519",
+            "sudo -u alice chmod 600 ~alice/.ssh/id_ed25519",
+        )
+        client.succeed(
+            "sudo -u bob mkdir -p ~bob/.ssh",
+            "sudo -u bob cp ${bobPrivateKey} ~bob/.ssh/id_ed25519",
+            "sudo -u bob chmod 600 ~bob/.ssh/id_ed25519",
+        )
+
+    with subtest("gitolite server starts"):
+        server.wait_for_unit("gitolite-init.service")
+        server.wait_for_unit("sshd.service")
+        client.succeed("ssh gitolite@server info")
+
+    with subtest("admin can clone and configure gitolite-admin.git"):
+        client.succeed(
+            "git clone gitolite@server:gitolite-admin.git",
+            "git config --global user.name 'System Administrator'",
+            "git config --global user.email root\@domain.example",
+            "cp ${alicePublicKey} gitolite-admin/keydir/alice.pub",
+            "cp ${bobPublicKey} gitolite-admin/keydir/bob.pub",
+            "(cd gitolite-admin && git add . && git commit -m 'Add keys for alice, bob' && git push)",
+            "cat ${gitoliteAdminConfSnippet} >> gitolite-admin/conf/gitolite.conf",
+            "(cd gitolite-admin && git add . && git commit -m 'Add repo for alice' && git push)",
+        )
+
+    with subtest("non-admins cannot clone gitolite-admin.git"):
+        client.fail("sudo -i -u alice git clone gitolite@server:gitolite-admin.git")
+        client.fail("sudo -i -u bob git clone gitolite@server:gitolite-admin.git")
+
+    with subtest("non-admins can clone testing.git"):
+        client.succeed("sudo -i -u alice git clone gitolite@server:testing.git")
+        client.succeed("sudo -i -u bob git clone gitolite@server:testing.git")
+
+    with subtest("alice can clone alice-project.git"):
+        client.succeed("sudo -i -u alice git clone gitolite@server:alice-project.git")
+
+    with subtest("bob cannot clone alice-project.git"):
+        client.fail("sudo -i -u bob git clone gitolite@server:alice-project.git")
   '';
 })
diff --git a/nixos/tests/glusterfs.nix b/nixos/tests/glusterfs.nix
index 9fd8bd2ed129..8f9cb8973d51 100644
--- a/nixos/tests/glusterfs.nix
+++ b/nixos/tests/glusterfs.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ ... } :
+import ./make-test-python.nix ({pkgs, lib, ...}:
 
 let
   client = { pkgs, ... } : {
@@ -39,27 +39,29 @@ in {
   };
 
   testScript = ''
-    $server1->waitForUnit("glusterd.service");
-    $server2->waitForUnit("glusterd.service");
+    server1.wait_for_unit("glusterd.service")
+    server2.wait_for_unit("glusterd.service")
+
+    server1.wait_until_succeeds("gluster peer status")
+    server2.wait_until_succeeds("gluster peer status")
 
     # establish initial contact
-    $server1->succeed("sleep 2");
-    $server1->succeed("gluster peer probe server2");
-    $server1->succeed("gluster peer probe server1");
+    server1.succeed("gluster peer probe server2")
+    server1.succeed("gluster peer probe server1")
 
-    $server1->succeed("gluster peer status | grep Connected");
+    server1.succeed("gluster peer status | grep Connected")
 
     # create volumes
-    $server1->succeed("mkdir -p /data/vg0");
-    $server2->succeed("mkdir -p /data/vg0");
-    $server1->succeed("gluster volume create gv0 server1:/data/vg0 server2:/data/vg0");
-    $server1->succeed("gluster volume start gv0");
+    server1.succeed("mkdir -p /data/vg0")
+    server2.succeed("mkdir -p /data/vg0")
+    server1.succeed("gluster volume create gv0 server1:/data/vg0 server2:/data/vg0")
+    server1.succeed("gluster volume start gv0")
 
     # test clients
-    $client1->waitForUnit("gluster.mount");
-    $client2->waitForUnit("gluster.mount");
+    client1.wait_for_unit("gluster.mount")
+    client2.wait_for_unit("gluster.mount")
 
-    $client1->succeed("echo test > /gluster/file1");
-    $client2->succeed("grep test /gluster/file1");
+    client1.succeed("echo test > /gluster/file1")
+    client2.succeed("grep test /gluster/file1")
   '';
 })
diff --git a/nixos/tests/google-oslogin/default.nix b/nixos/tests/google-oslogin/default.nix
index 3b84bba3f985..1977e92e9877 100644
--- a/nixos/tests/google-oslogin/default.nix
+++ b/nixos/tests/google-oslogin/default.nix
@@ -1,7 +1,14 @@
-import ../make-test.nix ({ pkgs, ... } :
+import ../make-test-python.nix ({ pkgs, ... } :
 let
   inherit (import ./../ssh-keys.nix pkgs)
     snakeOilPrivateKey snakeOilPublicKey;
+
+    # don't check host keys or known hosts, use the snakeoil ssh key
+    ssh-config = builtins.toFile "ssh.conf" ''
+      UserKnownHostsFile=/dev/null
+      StrictHostKeyChecking=no
+      IdentityFile=~/.ssh/id_snakeoil
+    '';
 in {
   name = "google-oslogin";
   meta = with pkgs.stdenv.lib.maintainers; {
@@ -15,38 +22,49 @@ in {
     client = { ... }: {};
   };
   testScript =  ''
-    startAll;
+    start_all()
 
-    $server->waitForUnit("mock-google-metadata.service");
-    $server->waitForOpenPort(80);
+    server.wait_for_unit("mock-google-metadata.service")
+    server.wait_for_open_port(80)
 
     # mockserver should return a non-expired ssh key for both mockuser and mockadmin
-    $server->succeed('${pkgs.google-compute-engine-oslogin}/bin/google_authorized_keys mockuser | grep -q "${snakeOilPublicKey}"');
-    $server->succeed('${pkgs.google-compute-engine-oslogin}/bin/google_authorized_keys mockadmin | grep -q "${snakeOilPublicKey}"');
+    server.succeed(
+        '${pkgs.google-compute-engine-oslogin}/bin/google_authorized_keys mockuser | grep -q "${snakeOilPublicKey}"'
+    )
+    server.succeed(
+        '${pkgs.google-compute-engine-oslogin}/bin/google_authorized_keys mockadmin | grep -q "${snakeOilPublicKey}"'
+    )
 
-    # install snakeoil ssh key on the client
-    $client->succeed("mkdir -p ~/.ssh");
-    $client->succeed("cat ${snakeOilPrivateKey} > ~/.ssh/id_snakeoil");
-    $client->succeed("chmod 600 ~/.ssh/id_snakeoil");
+    # install snakeoil ssh key on the client, and provision .ssh/config file
+    client.succeed("mkdir -p ~/.ssh")
+    client.succeed(
+        "cat ${snakeOilPrivateKey} > ~/.ssh/id_snakeoil"
+    )
+    client.succeed("chmod 600 ~/.ssh/id_snakeoil")
+    client.succeed("cp ${ssh-config} ~/.ssh/config")
 
-    $client->waitForUnit("network.target");
-    $server->waitForUnit("sshd.service");
+    client.wait_for_unit("network.target")
+    server.wait_for_unit("sshd.service")
 
     # we should not be able to connect as non-existing user
-    $client->fail("ssh -o User=ghost -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server -i ~/.ssh/id_snakeoil 'true'");
+    client.fail("ssh ghost@server 'true'")
 
     # we should be able to connect as mockuser
-    $client->succeed("ssh -o User=mockuser -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server -i ~/.ssh/id_snakeoil 'true'");
+    client.succeed("ssh mockuser@server 'true'")
     # but we shouldn't be able to sudo
-    $client->fail("ssh -o User=mockuser -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server -i ~/.ssh/id_snakeoil '/run/wrappers/bin/sudo /run/current-system/sw/bin/id' | grep -q 'root'");
+    client.fail(
+        "ssh mockuser@server '/run/wrappers/bin/sudo /run/current-system/sw/bin/id' | grep -q 'root'"
+    )
 
     # we should also be able to log in as mockadmin
-    $client->succeed("ssh -o User=mockadmin -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server -i ~/.ssh/id_snakeoil 'true'");
+    client.succeed("ssh mockadmin@server 'true'")
     # pam_oslogin_admin.so should now have generated a sudoers file
-    $server->succeed("find /run/google-sudoers.d | grep -q '/run/google-sudoers.d/mockadmin'");
+    server.succeed("find /run/google-sudoers.d | grep -q '/run/google-sudoers.d/mockadmin'")
 
     # and we should be able to sudo
-    $client->succeed("ssh -o User=mockadmin -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no server -i ~/.ssh/id_snakeoil '/run/wrappers/bin/sudo /run/current-system/sw/bin/id' | grep -q 'root'");
+    client.succeed(
+        "ssh mockadmin@server '/run/wrappers/bin/sudo /run/current-system/sw/bin/id' | grep -q 'root'"
+    )
   '';
   })
 
diff --git a/nixos/tests/gotify-server.nix b/nixos/tests/gotify-server.nix
index 0ffc3138d5a1..c6e00686aed9 100644
--- a/nixos/tests/gotify-server.nix
+++ b/nixos/tests/gotify-server.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ...} : {
+import ./make-test-python.nix ({ pkgs, lib, ...} : {
   name = "gotify-server";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ ma27 ];
@@ -14,32 +14,32 @@ import ./make-test.nix ({ pkgs, lib, ...} : {
   };
 
   testScript = ''
-    startAll;
+    machine.start()
 
-    $machine->waitForUnit("gotify-server");
-    $machine->waitForOpenPort(3000);
+    machine.wait_for_unit("gotify-server.service")
+    machine.wait_for_open_port(3000)
 
-    my $token = $machine->succeed(
-      "curl --fail -sS -X POST localhost:3000/application -F name=nixos " .
-      '-H "Authorization: Basic $(echo -ne "admin:admin" | base64 --wrap 0)" ' .
-      '| jq .token | xargs echo -n'
-    );
+    token = machine.succeed(
+        "curl --fail -sS -X POST localhost:3000/application -F name=nixos "
+        + '-H "Authorization: Basic $(echo -ne "admin:admin" | base64 --wrap 0)" '
+        + "| jq .token | xargs echo -n"
+    )
 
-    my $usertoken = $machine->succeed(
-      "curl --fail -sS -X POST localhost:3000/client -F name=nixos " .
-      '-H "Authorization: Basic $(echo -ne "admin:admin" | base64 --wrap 0)" ' .
-      '| jq .token | xargs echo -n'
-    );
+    usertoken = machine.succeed(
+        "curl --fail -sS -X POST localhost:3000/client -F name=nixos "
+        + '-H "Authorization: Basic $(echo -ne "admin:admin" | base64 --wrap 0)" '
+        + "| jq .token | xargs echo -n"
+    )
 
-    $machine->succeed(
-      "curl --fail -sS -X POST 'localhost:3000/message?token=$token' -H 'Accept: application/json' " .
-      '-F title=Gotify -F message=Works'
-    );
+    machine.succeed(
+        f"curl --fail -sS -X POST 'localhost:3000/message?token={token}' -H 'Accept: application/json' "
+        + "-F title=Gotify -F message=Works"
+    )
 
-    my $title = $machine->succeed(
-      "curl --fail -sS 'localhost:3000/message?since=0&token=$usertoken' | jq '.messages|.[0]|.title' | xargs echo -n"
-    );
+    title = machine.succeed(
+        f"curl --fail -sS 'localhost:3000/message?since=0&token={usertoken}' | jq '.messages|.[0]|.title' | xargs echo -n"
+    )
 
-    $title eq "Gotify" or die "Wrong title ($title), expected 'Gotify'!";
+    assert title == "Gotify"
   '';
 })
diff --git a/nixos/tests/graylog.nix b/nixos/tests/graylog.nix
index dc54afd1d26d..2d22012fa7c0 100644
--- a/nixos/tests/graylog.nix
+++ b/nixos/tests/graylog.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }: {
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
   name = "graylog";
   meta.maintainers = with lib.maintainers; [ ma27 ];
 
@@ -64,48 +64,52 @@ import ./make-test.nix ({ pkgs, lib, ... }: {
       facility = "Test";
     });
   in ''
-    $machine->start;
-    $machine->waitForUnit("graylog.service");
-    $machine->waitForOpenPort(9000);
-    $machine->succeed("curl -sSfL http://127.0.0.1:9000/");
+    machine.start()
+    machine.wait_for_unit("graylog.service")
+    machine.wait_for_open_port(9000)
+    machine.succeed("curl -sSfL http://127.0.0.1:9000/")
 
-    my $session = $machine->succeed("curl -X POST "
-                                  . "-sSfL http://127.0.0.1:9000/api/system/sessions "
-                                  . "-d \$(cat ${payloads.login}) "
-                                  . "-H 'Content-Type: application/json' "
-                                  . "-H 'Accept: application/json' "
-                                  . "-H 'x-requested-by: cli' "
-                                  . "| jq .session_id | xargs echo"
-                                  );
+    session = machine.succeed(
+        "curl -X POST "
+        + "-sSfL http://127.0.0.1:9000/api/system/sessions "
+        + "-d $(cat ${payloads.login}) "
+        + "-H 'Content-Type: application/json' "
+        + "-H 'Accept: application/json' "
+        + "-H 'x-requested-by: cli' "
+        + "| jq .session_id | xargs echo"
+    ).rstrip()
 
-    chomp($session);
+    machine.succeed(
+        "curl -X POST "
+        + f"-sSfL http://127.0.0.1:9000/api/system/inputs -u {session}:session "
+        + '-d $(cat ${payloads.input} | sed -e "s,@node@,$(cat /var/lib/graylog/server/node-id),") '
+        + "-H 'Accept: application/json' "
+        + "-H 'Content-Type: application/json' "
+        + "-H 'x-requested-by: cli' "
+    )
 
-    $machine->succeed("curl -X POST "
-                    . "-sSfL http://127.0.0.1:9000/api/system/inputs -u $session:session "
-                    . "-d \$(cat ${payloads.input} | sed -e \"s,\@node\@,\$(cat /var/lib/graylog/server/node-id),\") "
-                    . "-H 'Accept: application/json' "
-                    . "-H 'Content-Type: application/json' "
-                    . "-H 'x-requested-by: cli' "
-                    );
+    machine.wait_until_succeeds(
+        "test \"$(curl -sSfL 'http://127.0.0.1:9000/api/cluster/inputstates' "
+        + f"-u {session}:session "
+        + "-H 'Accept: application/json' "
+        + "-H 'Content-Type: application/json' "
+        + "-H 'x-requested-by: cli'"
+        + "| jq 'to_entries[]|.value|.[0]|.state' | xargs echo"
+        + ')" = "RUNNING"'
+    )
 
-    $machine->waitUntilSucceeds("test \"\$(curl -sSfL 'http://127.0.0.1:9000/api/cluster/inputstates' "
-                              . "-u $session:session "
-                              . "-H 'Accept: application/json' "
-                              . "-H 'Content-Type: application/json' "
-                              . "-H 'x-requested-by: cli'"
-                              . "| jq 'to_entries[]|.value|.[0]|.state' | xargs echo"
-                              . ")\" = \"RUNNING\""
-                              );
+    machine.succeed(
+        "echo -n $(cat ${payloads.gelf_message}) | nc -w10 -u 127.0.0.1 12201"
+    )
 
-    $machine->succeed("echo -n \$(cat ${payloads.gelf_message}) | nc -w10 -u 127.0.0.1 12201");
-
-    $machine->succeed("test \"\$(curl -X GET "
-                    . "-sSfL 'http://127.0.0.1:9000/api/search/universal/relative?query=*' "
-                    . "-u $session:session "
-                    . "-H 'Accept: application/json' "
-                    . "-H 'Content-Type: application/json' "
-                    . "-H 'x-requested-by: cli'"
-                    . " | jq '.total_results' | xargs echo)\" = \"1\""
-                    );
+    machine.succeed(
+        'test "$(curl -X GET '
+        + "-sSfL 'http://127.0.0.1:9000/api/search/universal/relative?query=*' "
+        + f"-u {session}:session "
+        + "-H 'Accept: application/json' "
+        + "-H 'Content-Type: application/json' "
+        + "-H 'x-requested-by: cli'"
+        + ' | jq \'.total_results\' | xargs echo)" = "1"'
+    )
   '';
 })
diff --git a/nixos/tests/handbrake.nix b/nixos/tests/handbrake.nix
index ae87e1f69a7d..e5fb6b269b19 100644
--- a/nixos/tests/handbrake.nix
+++ b/nixos/tests/handbrake.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 let
   # Download Big Buck Bunny example, licensed under CC Attribution 3.0.
   testMkv = pkgs.fetchurl {
@@ -19,7 +19,13 @@ in {
   testScript = ''
     # Test MP4 and MKV transcoding. Since this is a short clip, transcoding typically
     # only takes a few seconds.
-    $machine->succeed("HandBrakeCLI -i ${testMkv} -o test.mp4 -e x264 -q 20 -B 160");
-    $machine->succeed("HandBrakeCLI -i ${testMkv} -o test.mkv -e x264 -q 20 -B 160");
+    start_all()
+
+    machine.succeed(
+        "HandBrakeCLI -i ${testMkv} -o test.mp4 -e x264 -q 20 -B 160"
+    )
+    machine.succeed(
+        "HandBrakeCLI -i ${testMkv} -o test.mkv -e x264 -q 20 -B 160"
+    )
   '';
 })
diff --git a/nixos/tests/hibernate.nix b/nixos/tests/hibernate.nix
index 274aa7becc82..8251c6e7ef85 100644
--- a/nixos/tests/hibernate.nix
+++ b/nixos/tests/hibernate.nix
@@ -1,6 +1,6 @@
 # Test whether hibernation from partition works.
 
-import ./make-test.nix (pkgs: {
+import ./make-test-python.nix (pkgs: {
   name = "hibernate";
 
   nodes = {
@@ -28,16 +28,17 @@ import ./make-test.nix (pkgs: {
 
   testScript =
     ''
-      $machine->waitForUnit("multi-user.target");
-      $machine->succeed("mkswap /dev/vdb");
-      $machine->succeed("swapon -a");
-      $machine->startJob("listener");
-      $machine->waitForOpenPort(4444);
-      $machine->succeed("systemctl hibernate &");
-      $machine->waitForShutdown;
-      $probe->waitForUnit("multi-user.target");
-      $machine->start;
-      $probe->waitUntilSucceeds("echo test | nc machine 4444 -N");
+      machine.start()
+      machine.wait_for_unit("multi-user.target")
+      machine.succeed("mkswap /dev/vdb")
+      machine.succeed("swapon -a")
+      machine.start_job("listener")
+      machine.wait_for_open_port(4444)
+      machine.succeed("systemctl hibernate &")
+      machine.wait_for_shutdown()
+      probe.wait_for_unit("multi-user.target")
+      machine.start()
+      probe.wait_until_succeeds("echo test | nc machine 4444 -N")
     '';
 
 })
diff --git a/nixos/tests/hound.nix b/nixos/tests/hound.nix
index cb8e25332c07..27c65abdf27c 100644
--- a/nixos/tests/hound.nix
+++ b/nixos/tests/hound.nix
@@ -1,5 +1,5 @@
 # Test whether `houndd` indexes nixpkgs
-import ./make-test.nix ({ pkgs, ... } : {
+import ./make-test-python.nix ({ pkgs, ... } : {
   name = "hound";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ grahamc ];
@@ -46,13 +46,14 @@ import ./make-test.nix ({ pkgs, ... } : {
     };
   };
 
-  testScript =
-    '' startAll;
+  testScript = ''
+    start_all()
 
-       $machine->waitForUnit("network.target");
-       $machine->waitForUnit("hound.service");
-       $machine->waitForOpenPort(6080);
-       $machine->waitUntilSucceeds('curl http://127.0.0.1:6080/api/v1/search\?stats\=fosho\&repos\=\*\&rng=%3A20\&q\=hi\&files\=\&i=nope | grep "Filename" | grep "hello"');
-
-    '';
+    machine.wait_for_unit("network.target")
+    machine.wait_for_unit("hound.service")
+    machine.wait_for_open_port(6080)
+    machine.wait_until_succeeds(
+        "curl http://127.0.0.1:6080/api/v1/search\?stats\=fosho\&repos\=\*\&rng=%3A20\&q\=hi\&files\=\&i=nope | grep 'Filename' | grep 'hello'"
+    )
+  '';
 })
diff --git a/nixos/tests/icingaweb2.nix b/nixos/tests/icingaweb2.nix
index ea1b94c526b1..2f65604539c1 100644
--- a/nixos/tests/icingaweb2.nix
+++ b/nixos/tests/icingaweb2.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "icingaweb2";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ das_j ];
@@ -64,8 +64,8 @@ import ./make-test.nix ({ pkgs, ... }: {
   };
 
   testScript = ''
-    startAll();
-    $icingaweb2->waitForUnit("multi-user.target");
-    $icingaweb2->succeed("curl -sSf http://icingaweb2/authentication/login");
+    start_all()
+    icingaweb2.wait_for_unit("multi-user.target")
+    icingaweb2.succeed("curl -sSf http://icingaweb2/authentication/login")
   '';
 })
diff --git a/nixos/tests/iftop.nix b/nixos/tests/iftop.nix
index a4f524ceb27b..8a161027c2ad 100644
--- a/nixos/tests/iftop.nix
+++ b/nixos/tests/iftop.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 
 with lib;
 
@@ -18,17 +18,16 @@ with lib;
   };
 
   testScript = ''
-    subtest "machine with iftop enabled", sub {
-      $withIftop->waitForUnit("default.target");
-      # limit to eth1 (eth0 is the test driver's control interface)
-      # and don't try name lookups
-      $withIftop->succeed("su -l alice -c 'iftop -t -s 1 -n -i eth1'");
-    };
-    subtest "machine without iftop", sub {
-      $withoutIftop->waitForUnit("default.target");
-      # check that iftop is there but user alice lacks capabilities
-      $withoutIftop->succeed("iftop -t -s 1 -n -i eth1");
-      $withoutIftop->fail("su -l alice -c 'iftop -t -s 1 -n -i eth1'");
-    };
+    with subtest("machine with iftop enabled"):
+        withIftop.wait_for_unit("default.target")
+        # limit to eth1 (eth0 is the test driver's control interface)
+        # and don't try name lookups
+        withIftop.succeed("su -l alice -c 'iftop -t -s 1 -n -i eth1'")
+
+    with subtest("machine without iftop"):
+        withoutIftop.wait_for_unit("default.target")
+        # check that iftop is there but user alice lacks capabilitie
+        withoutIftop.succeed("iftop -t -s 1 -n -i eth1")
+        withoutIftop.fail("su -l alice -c 'iftop -t -s 1 -n -i eth1'")
   '';
 })
diff --git a/nixos/tests/incron.nix b/nixos/tests/incron.nix
index e39bbb5f096b..b22ee4c9a037 100644
--- a/nixos/tests/incron.nix
+++ b/nixos/tests/incron.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 
 {
   name = "incron";
@@ -19,34 +19,34 @@ import ./make-test.nix ({ pkgs, lib, ... }:
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $machine->waitForUnit("multi-user.target");
-    $machine->waitForUnit("incron.service");
+    machine.wait_for_unit("multi-user.target")
+    machine.wait_for_unit("incron.service")
 
-    $machine->succeed("test -d /test");
+    machine.succeed("test -d /test")
     # create some activity for incron to monitor
-    $machine->succeed("touch /test/file");
-    $machine->succeed("echo foo >> /test/file");
-    $machine->succeed("mv /test/file /root");
-    $machine->succeed("mv /root/file /test");
+    machine.succeed("touch /test/file")
+    machine.succeed("echo foo >> /test/file")
+    machine.succeed("mv /test/file /root")
+    machine.succeed("mv /root/file /test")
 
-    $machine->sleep(1);
+    machine.sleep(1)
 
     # touch /test/file
-    $machine->succeed("grep '/test/file IN_CREATE' /root/incron.log");
+    machine.succeed("grep '/test/file IN_CREATE' /root/incron.log")
 
     # echo foo >> /test/file
-    $machine->succeed("grep '/test/file IN_MODIFY' /root/incron.log");
-    $machine->succeed("grep '/test/file IN_CLOSE_WRITE' /root/incron.log");
+    machine.succeed("grep '/test/file IN_MODIFY' /root/incron.log")
+    machine.succeed("grep '/test/file IN_CLOSE_WRITE' /root/incron.log")
 
     # mv /test/file /root
-    $machine->succeed("grep '/test/file IN_MOVED_FROM' /root/incron.log");
+    machine.succeed("grep '/test/file IN_MOVED_FROM' /root/incron.log")
 
     # mv /root/file /test
-    $machine->succeed("grep '/test/file IN_MOVED_TO' /root/incron.log");
+    machine.succeed("grep '/test/file IN_MOVED_TO' /root/incron.log")
 
     # ensure something unexpected is not present
-    $machine->fail("grep 'IN_OPEN' /root/incron.log");
+    machine.fail("grep 'IN_OPEN' /root/incron.log")
   '';
 })
diff --git a/nixos/tests/influxdb.nix b/nixos/tests/influxdb.nix
index 61201202204b..04ef80461010 100644
--- a/nixos/tests/influxdb.nix
+++ b/nixos/tests/influxdb.nix
@@ -1,6 +1,6 @@
 # This test runs influxdb and checks if influxdb is up and running
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "influxdb";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ offline ];
@@ -9,25 +9,32 @@ import ./make-test.nix ({ pkgs, ...} : {
   nodes = {
     one = { ... }: {
       services.influxdb.enable = true;
+      environment.systemPackages = [ pkgs.httpie ];
     };
   };
 
   testScript = ''
-    startAll;
-  
-    $one->waitForUnit("influxdb.service");
+    import shlex
+
+    start_all()
+
+    one.wait_for_unit("influxdb.service")
 
     # create database
-    $one->succeed(q~
-      curl -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE test"
-    ~);
+    one.succeed(
+        "curl -XPOST http://localhost:8086/query --data-urlencode 'q=CREATE DATABASE test'"
+    )
 
     # write some points and run simple query
-    $one->succeed(q~
-      curl -XPOST 'http://localhost:8086/write?db=test' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000'
-    ~);
-    $one->succeed(q~
-      curl -GET 'http://localhost:8086/query' --data-urlencode "db=test" --data-urlencode "q=SELECT \"value\" FROM \"cpu_load_short\" WHERE \"region\"='us-west'"  | grep "0\.64"
-    ~);
+    out = one.succeed(
+        "curl -XPOST 'http://localhost:8086/write?db=test' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000'"
+    )
+
+    qv = "SELECT value FROM cpu_load_short WHERE region='us-west'"
+    cmd = f'curl -GET "http://localhost:8086/query?db=test" --data-urlencode {shlex.quote("q="+ qv)}'
+    out = one.succeed(cmd)
+
+    assert "2015-06-11T20:46:02Z" in out
+    assert "0.64" in out
   '';
 })
diff --git a/nixos/tests/jackett.nix b/nixos/tests/jackett.nix
index c749c32ad04e..0a706c99b999 100644
--- a/nixos/tests/jackett.nix
+++ b/nixos/tests/jackett.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, ... }:
+import ./make-test-python.nix ({ lib, ... }:
 
 with lib;
 
@@ -11,8 +11,9 @@ with lib;
     { services.jackett.enable = true; };
 
   testScript = ''
-    $machine->waitForUnit('jackett.service');
-    $machine->waitForOpenPort('9117');
-    $machine->succeed("curl --fail http://localhost:9117/");
+    machine.start()
+    machine.wait_for_unit("jackett.service")
+    machine.wait_for_open_port(9117)
+    machine.succeed("curl --fail http://localhost:9117/")
   '';
 })
diff --git a/nixos/tests/jenkins.nix b/nixos/tests/jenkins.nix
index a6eec411ff28..cd64ff512878 100644
--- a/nixos/tests/jenkins.nix
+++ b/nixos/tests/jenkins.nix
@@ -3,7 +3,7 @@
 #   2. jenkins user can be extended on both master and slave
 #   3. jenkins service not started on slave node
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "jenkins";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ bjornfor coconnor domenkozar eelco ];
@@ -33,18 +33,17 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $master->waitForUnit("jenkins");
+    master.wait_for_unit("jenkins")
 
-    $master->mustSucceed("curl http://localhost:8080 | grep 'Authentication required'");
+    assert "Authentication required" in master.succeed("curl http://localhost:8080")
 
-    print $master->execute("sudo -u jenkins groups");
-    $master->mustSucceed("sudo -u jenkins groups | grep jenkins | grep users");
+    for host in master, slave:
+        groups = host.succeed("sudo -u jenkins groups")
+        assert "jenkins" in groups
+        assert "users" in groups
 
-    print $slave->execute("sudo -u jenkins groups");
-    $slave->mustSucceed("sudo -u jenkins groups | grep jenkins | grep users");
-
-    $slave->mustFail("systemctl is-enabled jenkins.service");
+    slave.fail("systemctl is-enabled jenkins.service")
   '';
 })
diff --git a/nixos/tests/kerberos/heimdal.nix b/nixos/tests/kerberos/heimdal.nix
index a0551b131e91..8abae667d043 100644
--- a/nixos/tests/kerberos/heimdal.nix
+++ b/nixos/tests/kerberos/heimdal.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix ({pkgs, ...}: {
+import ../make-test-python.nix ({pkgs, ...}: {
   name = "kerberos_server-heimdal";
   machine = { config, libs, pkgs, ...}:
   { services.kerberos_server =
@@ -23,31 +23,20 @@ import ../make-test.nix ({pkgs, ...}: {
   };
 
   testScript = ''
-    $machine->start;
+    machine.succeed(
+        "kadmin -l init --realm-max-ticket-life='8 day' --realm-max-renewable-life='10 day' FOO.BAR",
+        "systemctl restart kadmind.service kdc.service",
+    )
 
-    $machine->succeed(
-      "kadmin -l init --realm-max-ticket-life='8 day' \\
-       --realm-max-renewable-life='10 day' FOO.BAR"
-    );
+    for unit in ["kadmind", "kdc", "kpasswdd"]:
+        machine.wait_for_unit(f"{unit}.service")
 
-    $machine->succeed("systemctl restart kadmind.service kdc.service");
-    $machine->waitForUnit("kadmind.service");
-    $machine->waitForUnit("kdc.service");
-    $machine->waitForUnit("kpasswdd.service");
-
-    $machine->succeed(
-      "kadmin -l add --password=admin_pw --use-defaults admin"
-    );
-    $machine->succeed(
-      "kadmin -l ext_keytab --keytab=admin.keytab admin"
-    );
-    $machine->succeed(
-      "kadmin -p admin -K admin.keytab add --password=alice_pw --use-defaults \\
-       alice"
-    );
-    $machine->succeed(
-      "kadmin -l ext_keytab --keytab=alice.keytab alice"
-    );
-    $machine->succeed("kinit -kt alice.keytab alice");
+    machine.succeed(
+        "kadmin -l add --password=admin_pw --use-defaults admin",
+        "kadmin -l ext_keytab --keytab=admin.keytab admin",
+        "kadmin -p admin -K admin.keytab add --password=alice_pw --use-defaults alice",
+        "kadmin -l ext_keytab --keytab=alice.keytab alice",
+        "kinit -kt alice.keytab alice",
+    )
   '';
 })
diff --git a/nixos/tests/kerberos/mit.nix b/nixos/tests/kerberos/mit.nix
index 6da3a384aa99..93b4020d4994 100644
--- a/nixos/tests/kerberos/mit.nix
+++ b/nixos/tests/kerberos/mit.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix ({pkgs, ...}: {
+import ../make-test-python.nix ({pkgs, ...}: {
   name = "kerberos_server-mit";
   machine = { config, libs, pkgs, ...}:
   { services.kerberos_server =
@@ -24,22 +24,18 @@ import ../make-test.nix ({pkgs, ...}: {
   };
 
   testScript = ''
-    $machine->start;
+    machine.succeed(
+        "kdb5_util create -s -r FOO.BAR -P master_key",
+        "systemctl restart kadmind.service kdc.service",
+    )
 
-    $machine->succeed(
-      "kdb5_util create -s -r FOO.BAR -P master_key"
-    );
+    for unit in ["kadmind", "kdc"]:
+        machine.wait_for_unit(f"{unit}.service")
 
-    $machine->succeed("systemctl restart kadmind.service kdc.service");
-    $machine->waitForUnit("kadmind.service");
-    $machine->waitForUnit("kdc.service");
-
-    $machine->succeed(
-      "kadmin.local add_principal -pw admin_pw admin"
-    );
-    $machine->succeed(
-      "kadmin -p admin -w admin_pw addprinc -pw alice_pw alice"
-    );
-    $machine->succeed("echo alice_pw | sudo -u alice kinit");
+    machine.succeed(
+        "kadmin.local add_principal -pw admin_pw admin",
+        "kadmin -p admin -w admin_pw addprinc -pw alice_pw alice",
+        "echo alice_pw | sudo -u alice kinit",
+    )
   '';
 })
diff --git a/nixos/tests/kernel-latest.nix b/nixos/tests/kernel-latest.nix
index f30bd2e2e760..f09d0926d223 100644
--- a/nixos/tests/kernel-latest.nix
+++ b/nixos/tests/kernel-latest.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "kernel-latest";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ nequissimus ];
@@ -11,7 +11,7 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      $machine->succeed("uname -s | grep 'Linux'");
-      $machine->succeed("uname -a | grep '${pkgs.linuxPackages_latest.kernel.version}'");
+      assert "Linux" in machine.succeed("uname -s")
+      assert "${pkgs.linuxPackages_latest.kernel.version}" in machine.succeed("uname -a")
     '';
 })
diff --git a/nixos/tests/kernel-lts.nix b/nixos/tests/kernel-lts.nix
index 28717fa6a844..bad706d63c03 100644
--- a/nixos/tests/kernel-lts.nix
+++ b/nixos/tests/kernel-lts.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "kernel-lts";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ nequissimus ];
@@ -11,7 +11,7 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      $machine->succeed("uname -s | grep 'Linux'");
-      $machine->succeed("uname -a | grep '${pkgs.linuxPackages.kernel.version}'");
+      assert "Linux" in machine.succeed("uname -s")
+      assert "${pkgs.linuxPackages.kernel.version}" in machine.succeed("uname -a")
     '';
 })
diff --git a/nixos/tests/kernel-testing.nix b/nixos/tests/kernel-testing.nix
index 276d2de12bb5..b7e10ebd5bd1 100644
--- a/nixos/tests/kernel-testing.nix
+++ b/nixos/tests/kernel-testing.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "kernel-testing";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ nequissimus ];
@@ -11,7 +11,7 @@ import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
-      $machine->succeed("uname -s | grep 'Linux'");
-      $machine->succeed("uname -a | grep '${pkgs.linuxPackages_testing.kernel.modDirVersion}'");
+      assert "Linux" in machine.succeed("uname -s")
+      assert "${pkgs.linuxPackages_testing.kernel.modDirVersion}" in machine.succeed("uname -a")
     '';
 })
diff --git a/nixos/tests/kubernetes/base.nix b/nixos/tests/kubernetes/base.nix
index f21634c4ffbf..adb736506895 100644
--- a/nixos/tests/kubernetes/base.nix
+++ b/nixos/tests/kubernetes/base.nix
@@ -53,6 +53,7 @@ let
               services.flannel.iface = "eth1";
               services.kubernetes = {
                 addons.dashboard.enable = true;
+                proxy.hostname = "${masterName}.${domain}";
 
                 easyCerts = true;
                 inherit (machine) roles;
diff --git a/nixos/tests/magnetico.nix b/nixos/tests/magnetico.nix
index bc7aef653ee5..6770d32358e8 100644
--- a/nixos/tests/magnetico.nix
+++ b/nixos/tests/magnetico.nix
@@ -1,4 +1,9 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} :
+
+let
+  port = 8081;
+in
+{
   name = "magnetico";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ rnhmjoj ];
@@ -12,17 +17,24 @@ import ./make-test.nix ({ pkgs, ...} : {
     services.magnetico = {
       enable = true;
       crawler.port = 9000;
+      web.port = port;
       web.credentials.user = "$2y$12$P88ZF6soFthiiAeXnz64aOWDsY3Dw7Yw8fZ6GtiqFNjknD70zDmNe";
     };
   };
 
   testScript =
     ''
-      startAll;
-      $machine->waitForUnit("magneticod");
-      $machine->waitForUnit("magneticow");
-      $machine->succeed("${pkgs.curl}/bin/curl -u user:password http://localhost:8080");
-      $machine->succeed("${pkgs.curl}/bin/curl -u user:wrongpwd http://localhost:8080") =~ "Unauthorised." or die;
-      $machine->shutdown();
+      start_all()
+      machine.wait_for_unit("magneticod")
+      machine.wait_for_unit("magneticow")
+      machine.succeed(
+          "${pkgs.curl}/bin/curl "
+          + "-u user:password http://localhost:${toString port}"
+      )
+      assert "Unauthorised." in machine.succeed(
+          "${pkgs.curl}/bin/curl "
+          + "-u user:wrongpwd http://localhost:${toString port}"
+      )
+      machine.shutdown()
     '';
 })
diff --git a/nixos/tests/mailcatcher.nix b/nixos/tests/mailcatcher.nix
index d45b5d4edfc5..eb5b606ecc84 100644
--- a/nixos/tests/mailcatcher.nix
+++ b/nixos/tests/mailcatcher.nix
@@ -9,8 +9,8 @@ import ./make-test.nix ({ lib, ... }:
     {
       services.mailcatcher.enable = true;
 
-      networking.defaultMailServer.directDelivery = true;
-      networking.defaultMailServer.hostName = "localhost:1025";
+      services.ssmtp.enable = true;
+      services.ssmtp.hostName = "localhost:1025";
 
       environment.systemPackages = [ pkgs.mailutils ];
     };
diff --git a/nixos/tests/memcached.nix b/nixos/tests/memcached.nix
index b120599c51dd..31f5627d25ce 100644
--- a/nixos/tests/memcached.nix
+++ b/nixos/tests/memcached.nix
@@ -1,28 +1,24 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "memcached";
 
-  nodes = {
-    machine =
-      { ... }:
-      {
-        imports = [ ../modules/profiles/minimal.nix ];
-        services.memcached.enable = true;
-      };
+  machine = {
+    imports = [ ../modules/profiles/minimal.nix ];
+    services.memcached.enable = true;
   };
 
   testScript = let
-    testScript = pkgs.writeScript "testScript.py" ''
-      #!${pkgs.python3.withPackages (p: [p.memcached])}/bin/python
-
+    testScript = pkgs.writers.writePython3 "test_memcache" {
+      libraries = with pkgs.python3Packages; [ memcached ];
+    } ''
       import memcache
       c = memcache.Client(['localhost:11211'])
       c.set('key', 'value')
       assert 'value' == c.get('key')
     '';
   in ''
-    startAll;
-    $machine->waitForUnit("memcached.service");
-    $machine->waitForOpenPort("11211");
-    $machine->succeed("${testScript}");
+    machine.start()
+    machine.wait_for_unit("memcached.service")
+    machine.wait_for_open_port(11211)
+    machine.succeed("${testScript}")
   '';
 })
diff --git a/nixos/tests/minidlna.nix b/nixos/tests/minidlna.nix
index 7bf1bed69d06..d852c7f60bc4 100644
--- a/nixos/tests/minidlna.nix
+++ b/nixos/tests/minidlna.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "minidlna";
 
   nodes = {
@@ -29,11 +29,11 @@ import ./make-test.nix ({ pkgs, ... }: {
 
   testScript =
   ''
-    startAll;
-    $server->succeed("mkdir -p /tmp/stuff && chown minidlna: /tmp/stuff");
-    $server->waitForUnit("minidlna");
-    $server->waitForOpenPort("8200");
-    $server->succeed("curl --fail http://localhost:8200/");
-    $client->succeed("curl --fail http://server:8200/");
+    start_all()
+    server.succeed("mkdir -p /tmp/stuff && chown minidlna: /tmp/stuff")
+    server.wait_for_unit("minidlna")
+    server.wait_for_open_port("8200")
+    server.succeed("curl --fail http://localhost:8200/")
+    client.succeed("curl --fail http://server:8200/")
   '';
 })
diff --git a/nixos/tests/miniflux.nix b/nixos/tests/miniflux.nix
index 19ab4803a1d3..7d83d061a9df 100644
--- a/nixos/tests/miniflux.nix
+++ b/nixos/tests/miniflux.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 
 let
   port = 3142;
@@ -37,16 +37,20 @@ with lib;
       };
   };
   testScript = ''
-    startAll;
+    start_all()
 
-    $default->waitForUnit('miniflux.service');
-    $default->waitForOpenPort(${toString defaultPort});
-    $default->succeed("curl --fail 'http://localhost:${toString defaultPort}/healthcheck' | grep -q OK");
-    $default->succeed("curl 'http://localhost:${toString defaultPort}/v1/me' -u '${defaultUsername}:${defaultPassword}' -H Content-Type:application/json | grep -q '\"is_admin\":true'");
+    default.wait_for_unit("miniflux.service")
+    default.wait_for_open_port(${toString defaultPort})
+    default.succeed("curl --fail 'http://localhost:${toString defaultPort}/healthcheck' | grep -q OK")
+    default.succeed(
+        "curl 'http://localhost:${toString defaultPort}/v1/me' -u '${defaultUsername}:${defaultPassword}' -H Content-Type:application/json | grep -q '\"is_admin\":true'"
+    )
 
-    $customized->waitForUnit('miniflux.service');
-    $customized->waitForOpenPort(${toString port});
-    $customized->succeed("curl --fail 'http://localhost:${toString port}/healthcheck' | grep -q OK");
-    $customized->succeed("curl 'http://localhost:${toString port}/v1/me' -u '${username}:${password}' -H Content-Type:application/json | grep -q '\"is_admin\":true'");
+    customized.wait_for_unit("miniflux.service")
+    customized.wait_for_open_port(${toString port})
+    customized.succeed("curl --fail 'http://localhost:${toString port}/healthcheck' | grep -q OK")
+    customized.succeed(
+        "curl 'http://localhost:${toString port}/v1/me' -u '${username}:${password}' -H Content-Type:application/json | grep -q '\"is_admin\":true'"
+    )
   '';
 })
diff --git a/nixos/tests/minio.nix b/nixos/tests/minio.nix
index f1218b537711..3b0619742671 100644
--- a/nixos/tests/minio.nix
+++ b/nixos/tests/minio.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} :
+import ./make-test-python.nix ({ pkgs, ...} :
 let
     accessKey = "BKIKJAA5BMMU2RHO6IBB";
     secretKey = "V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12";
@@ -18,7 +18,7 @@ let
       sio.seek(0)
       minioClient.put_object('test-bucket', 'test.txt', sio, sio_len, content_type='text/plain')
     '';
-  in {
+in {
   name = "minio";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ bachp ];
@@ -37,19 +37,19 @@ let
     };
   };
 
-  testScript =
-    ''
-      startAll;
-      $machine->waitForUnit("minio.service");
-      $machine->waitForOpenPort(9000);
+  testScript = ''
+    start_all()
+    machine.wait_for_unit("minio.service")
+    machine.wait_for_open_port(9000)
 
-      # Create a test bucket on the server
-      $machine->succeed("mc config host add minio http://localhost:9000 ${accessKey} ${secretKey} S3v4");
-      $machine->succeed("mc mb minio/test-bucket");
-      $machine->succeed("${minioPythonScript}");
-      $machine->succeed("mc ls minio") =~ /test-bucket/ or die;
-      $machine->succeed("mc cat minio/test-bucket/test.txt") =~ /Test from Python/ or die;
-      $machine->shutdown;
-
-    '';
+    # Create a test bucket on the server
+    machine.succeed(
+        "mc config host add minio http://localhost:9000 ${accessKey} ${secretKey} S3v4"
+    )
+    machine.succeed("mc mb minio/test-bucket")
+    machine.succeed("${minioPythonScript}")
+    assert "test-bucket" in machine.succeed("mc ls minio")
+    assert "Test from Python" in machine.succeed("mc cat minio/test-bucket/test.txt")
+    machine.shutdown()
+  '';
 })
diff --git a/nixos/tests/mongodb.nix b/nixos/tests/mongodb.nix
index 0ccbeb062f92..9ebf84eed232 100644
--- a/nixos/tests/mongodb.nix
+++ b/nixos/tests/mongodb.nix
@@ -1,6 +1,6 @@
 # This test start mongodb, runs a query using mongo shell
 
-import ./make-test.nix ({ pkgs, ...} : let
+import ./make-test-python.nix ({ pkgs, ...} : let
   testQuery = pkgs.writeScript "nixtest.js" ''
     db.greetings.insert({ "greeting": "hello" });
     print(db.greetings.findOne().greeting);
@@ -33,8 +33,10 @@ in {
     };
 
   testScript = ''
-    startAll;
-    $one->waitForUnit("mongodb.service");
-    $one->succeed("mongo -u nixtest -p nixtest nixtest ${testQuery}") =~ /hello/ or die;
+    start_all()
+    one.wait_for_unit("mongodb.service")
+    one.succeed(
+        "mongo -u nixtest -p nixtest nixtest ${testQuery} | grep -q hello"
+    )
   '';
 })
diff --git a/nixos/tests/mosquitto.nix b/nixos/tests/mosquitto.nix
index b4c897c3ab5d..1f2fdf4237fa 100644
--- a/nixos/tests/mosquitto.nix
+++ b/nixos/tests/mosquitto.nix
@@ -1,21 +1,10 @@
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 
 let
   port = 1888;
   username = "mqtt";
   password = "VERY_secret";
   topic = "test/foo";
-
-  cmd = bin: pkgs.lib.concatStringsSep " " [
-    "${pkgs.mosquitto}/bin/mosquitto_${bin}"
-    "-V mqttv311"
-    "-h server"
-    "-p ${toString port}"
-    "-u ${username}"
-    "-P '${password}'"
-    "-t ${topic}"
-  ];
-
 in {
   name = "mosquitto";
   meta = with pkgs.stdenv.lib; {
@@ -49,40 +38,53 @@ in {
 
   testScript = let
     file = "/tmp/msg";
-    sub = args:
-      "(${cmd "sub"} -C 1 ${args} | tee ${file} &)";
   in ''
-    startAll;
-    $server->waitForUnit("mosquitto.service");
+    def mosquitto_cmd(binary):
+        return (
+            "${pkgs.mosquitto}/bin/mosquitto_{} "
+            "-V mqttv311 "
+            "-h server "
+            "-p ${toString port} "
+            "-u ${username} "
+            "-P '${password}' "
+            "-t ${topic}"
+        ).format(binary)
+
+
+    def publish(args):
+        return "{} {}".format(mosquitto_cmd("pub"), args)
+
 
-    $server->fail("test -f ${file}");
-    $client1->fail("test -f ${file}");
-    $client2->fail("test -f ${file}");
+    def subscribe(args):
+        return "({} -C 1 {} | tee ${file} &)".format(mosquitto_cmd("sub"), args)
 
 
+    start_all()
+    server.wait_for_unit("mosquitto.service")
+
+    for machine in server, client1, client2:
+        machine.fail("test -f ${file}")
+
     # QoS = 0, so only one subscribers should get it
-    $server->execute("${sub "-q 0"}");
+    server.execute(subscribe("-q 0"))
 
     # we need to give the subscribers some time to connect
-    $client2->execute("sleep 5");
-    $client2->succeed("${cmd "pub"} -m FOO -q 0");
-
-    $server->waitUntilSucceeds("grep -q FOO ${file}");
-    $server->execute("rm ${file}");
+    client2.execute("sleep 5")
+    client2.succeed(publish("-m FOO -q 0"))
 
+    server.wait_until_succeeds("grep -q FOO ${file}")
+    server.execute("rm ${file}")
 
     # QoS = 1, so both subscribers should get it
-    $server->execute("${sub "-q 1"}");
-    $client1->execute("${sub "-q 1"}");
+    server.execute(subscribe("-q 1"))
+    client1.execute(subscribe("-q 1"))
 
     # we need to give the subscribers some time to connect
-    $client2->execute("sleep 5");
-    $client2->succeed("${cmd "pub"} -m BAR -q 1");
-
-    $server->waitUntilSucceeds("grep -q BAR ${file}");
-    $server->execute("rm ${file}");
+    client2.execute("sleep 5")
+    client2.succeed(publish("-m BAR -q 1"))
 
-    $client1->waitUntilSucceeds("grep -q BAR ${file}");
-    $client1->execute("rm ${file}");
+    for machine in server, client1:
+        machine.wait_until_succeeds("grep -q BAR ${file}")
+        machine.execute("rm ${file}")
   '';
 })
diff --git a/nixos/tests/mpd.nix b/nixos/tests/mpd.nix
index a992576808dc..895b7e2014c8 100644
--- a/nixos/tests/mpd.nix
+++ b/nixos/tests/mpd.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
   let
     track = pkgs.fetchurl {
       # Sourced from http://freemusicarchive.org/music/Blue_Wave_Theory/Surf_Music_Month_Challenge/Skyhawk_Beach_fade_in
@@ -94,40 +94,39 @@ import ./make-test.nix ({ pkgs, lib, ... }:
     };
 
   testScript = ''
-    my $mpc = "${pkgs.mpc_cli}/bin/mpc --wait";
+    mpc = "${pkgs.mpc_cli}/bin/mpc --wait"
 
     # Connects to the given server and attempts to play a tune.
-    sub play_some_music {
-        my $server = $_[0];
+    def play_some_music(server):
+        server.wait_for_unit("mpd.service")
+        server.succeed(f"{mpc} update")
+        _, tracks = server.execute(f"{mpc} ls")
 
-        $server->waitForUnit("mpd.service");
-        $server->succeed("$mpc update");
-        my @tracks = $server->execute("$mpc ls");
+        for track in tracks.splitlines():
+            server.succeed(f"{mpc} add {track}")
 
-        for my $track (split(/\n/, $tracks[1])) {
-            $server->succeed("$mpc add $track");
-        };
+        _, added_tracks = server.execute(f"{mpc} listall")
 
-        my @added_tracks = $server->execute("$mpc listall");
-        (length $added_tracks[1]) > 0 or die "Failed to add audio tracks to the playlist.";
+        # Check we succeeded adding audio tracks to the playlist
+        assert len(added_tracks.splitlines()) > 0
 
-        $server->succeed("$mpc play");
+        server.succeed(f"{mpc} play")
 
-        my @status = $server->execute("$mpc status");
-        my @output = split(/\n/, $status[1]);
-        $output[1] =~ /.*playing.*/ or die "Audio track is not playing, as expected.";
+        _, output = server.execute(f"{mpc} status")
+        # Assure audio track is playing
+        assert "playing" in output
+
+        server.succeed(f"{mpc} stop")
 
-        $server->succeed("$mpc stop");
-    };
 
-    play_some_music($serverALSA);
-    play_some_music($serverPulseAudio);
+    play_some_music(serverALSA)
+    play_some_music(serverPulseAudio)
 
-    $client->waitForUnit("multi-user.target");
-    $client->succeed("$mpc -h serverALSA status");
+    client.wait_for_unit("multi-user.target")
+    client.succeed(f"{mpc} -h serverALSA status")
 
     # The PulseAudio-based server is configured not to accept external client connections
     # to perform the following test:
-    $client->fail("$mpc -h serverPulseAudio status");
+    client.fail(f"{mpc} -h serverPulseAudio status")
   '';
 })
diff --git a/nixos/tests/mysql-backup.nix b/nixos/tests/mysql-backup.nix
index 81482dfef7e5..a0595e4d5539 100644
--- a/nixos/tests/mysql-backup.nix
+++ b/nixos/tests/mysql-backup.nix
@@ -1,5 +1,5 @@
 # Test whether mysqlBackup option works
-import ./make-test.nix ({ pkgs, ... } : {
+import ./make-test-python.nix ({ pkgs, ... } : {
   name = "mysql-backup";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ rvl ];
@@ -20,31 +20,37 @@ import ./make-test.nix ({ pkgs, ... } : {
     };
   };
 
-  testScript =
-    '' startAll;
+  testScript = ''
+    start_all()
 
-       # Delete backup file that may be left over from a previous test run.
-       # This is not needed on Hydra but useful for repeated local test runs.
-       $master->execute("rm -f /var/backup/mysql/testdb.gz");
+    # Delete backup file that may be left over from a previous test run.
+    # This is not needed on Hydra but useful for repeated local test runs.
+    master.execute("rm -f /var/backup/mysql/testdb.gz")
 
-       # Need to have mysql started so that it can be populated with data.
-       $master->waitForUnit("mysql.service");
+    # Need to have mysql started so that it can be populated with data.
+    master.wait_for_unit("mysql.service")
 
-       # Wait for testdb to be fully populated (5 rows).
-       $master->waitUntilSucceeds("mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5");
+    # Wait for testdb to be fully populated (5 rows).
+    master.wait_until_succeeds(
+        "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
-       $master->startJob("mysql-backup.service");
-       $master->waitForJob("mysql-backup.service");
+    # Do a backup and wait for it to start
+    master.start_job("mysql-backup.service")
+    master.wait_for_unit("mysql-backup.service")
 
-       # wait for backup to fail, because of database 'doesnotexist'
-       $master->waitUntilFails("systemctl is-active -q mysql-backup.service");
+    # wait for backup to fail, because of database 'doesnotexist'
+    master.wait_until_fails("systemctl is-active -q mysql-backup.service")
 
-       # wait for backup file and check that data appears in backup
-       $master->waitForFile("/var/backup/mysql/testdb.gz");
-       $master->succeed("${pkgs.gzip}/bin/zcat /var/backup/mysql/testdb.gz | grep hello");
+    # wait for backup file and check that data appears in backup
+    master.wait_for_file("/var/backup/mysql/testdb.gz")
+    master.succeed(
+        "${pkgs.gzip}/bin/zcat /var/backup/mysql/testdb.gz | grep hello"
+    )
 
-       # Check that a failed backup is logged
-       $master->succeed("journalctl -u mysql-backup.service | grep 'fail.*doesnotexist' > /dev/null");
-    '';
+    # Check that a failed backup is logged
+    master.succeed(
+        "journalctl -u mysql-backup.service | grep 'fail.*doesnotexist' > /dev/null"
+    )
+  '';
 })
diff --git a/nixos/tests/mysql-replication.nix b/nixos/tests/mysql-replication.nix
index c75a862106f6..a2654f041add 100644
--- a/nixos/tests/mysql-replication.nix
+++ b/nixos/tests/mysql-replication.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} :
+import ./make-test-python.nix ({ pkgs, ...} :
 
 let
   replicateUser = "replicate";
@@ -54,28 +54,36 @@ in
   };
 
   testScript = ''
-    $master->start;
-    $master->waitForUnit("mysql");
-    $master->waitForOpenPort(3306);
+    master.start()
+    master.wait_for_unit("mysql")
+    master.wait_for_open_port(3306)
     # Wait for testdb to be fully populated (5 rows).
-    $master->waitUntilSucceeds("mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5");
+    master.wait_until_succeeds(
+        "mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"
+    )
 
-    $slave1->start;
-    $slave2->start;
-    $slave1->waitForUnit("mysql");
-    $slave1->waitForOpenPort(3306);
-    $slave2->waitForUnit("mysql");
-    $slave2->waitForOpenPort(3306);
+    slave1.start()
+    slave2.start()
+    slave1.wait_for_unit("mysql")
+    slave1.wait_for_open_port(3306)
+    slave2.wait_for_unit("mysql")
+    slave2.wait_for_open_port(3306)
 
     # wait for replications to finish
-    $slave1->waitUntilSucceeds("mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5");
-    $slave2->waitUntilSucceeds("mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5");
+    slave1.wait_until_succeeds(
+        "mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"
+    )
+    slave2.wait_until_succeeds(
+        "mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"
+    )
 
-    $slave2->succeed("systemctl stop mysql");
-    $master->succeed("echo 'insert into testdb.tests values (123, 456);' | mysql -u root -N");
-    $slave2->succeed("systemctl start mysql");
-    $slave2->waitForUnit("mysql");
-    $slave2->waitForOpenPort(3306);
-    $slave2->waitUntilSucceeds("echo 'select * from testdb.tests where Id = 123;' | mysql -u root -N | grep 456");
+    slave2.succeed("systemctl stop mysql")
+    master.succeed("echo 'insert into testdb.tests values (123, 456);' | mysql -u root -N")
+    slave2.succeed("systemctl start mysql")
+    slave2.wait_for_unit("mysql")
+    slave2.wait_for_open_port(3306)
+    slave2.wait_until_succeeds(
+        "echo 'select * from testdb.tests where Id = 123;' | mysql -u root -N | grep 456"
+    )
   '';
 })
diff --git a/nixos/tests/mysql.nix b/nixos/tests/mysql.nix
index 05bd968de02d..2c0d212c2f1d 100644
--- a/nixos/tests/mysql.nix
+++ b/nixos/tests/mysql.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "mysql";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ eelco shlevy ];
@@ -47,17 +47,23 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
+    start_all
 
-    $mysql->waitForUnit("mysql");
-    $mysql->succeed("echo 'use empty_testdb;' | mysql -u root");
-    $mysql->succeed("echo 'use testdb; select * from tests;' | mysql -u root -N | grep 4");
+    mysql.wait_for_unit("mysql")
+    mysql.succeed("echo 'use empty_testdb;' | mysql -u root")
+    mysql.succeed("echo 'use testdb; select * from tests;' | mysql -u root -N | grep 4")
     # ';' acts as no-op, just check whether login succeeds with the user created from the initialScript
-    $mysql->succeed("echo ';' | mysql -u passworduser --password=password123");
+    mysql.succeed("echo ';' | mysql -u passworduser --password=password123")
 
-    $mariadb->waitForUnit("mysql");
-    $mariadb->succeed("echo 'use testdb; create table tests (test_id INT, PRIMARY KEY (test_id));' | sudo -u testuser mysql -u testuser");
-    $mariadb->succeed("echo 'use testdb; insert into tests values (42);' | sudo -u testuser mysql -u testuser");
-    $mariadb->succeed("echo 'use testdb; select test_id from tests;' | sudo -u testuser mysql -u testuser -N | grep 42");
+    mariadb.wait_for_unit("mysql")
+    mariadb.succeed(
+        "echo 'use testdb; create table tests (test_id INT, PRIMARY KEY (test_id));' | sudo -u testuser mysql -u testuser"
+    )
+    mariadb.succeed(
+        "echo 'use testdb; insert into tests values (42);' | sudo -u testuser mysql -u testuser"
+    )
+    mariadb.succeed(
+        "echo 'use testdb; select test_id from tests;' | sudo -u testuser mysql -u testuser -N | grep 42"
+    )
   '';
 })
diff --git a/nixos/tests/nat.nix b/nixos/tests/nat.nix
index 51d9cf166bb6..0d1f7aaedfa2 100644
--- a/nixos/tests/nat.nix
+++ b/nixos/tests/nat.nix
@@ -3,7 +3,7 @@
 # client on the inside network, a server on the outside network, and a
 # router connected to both that performs Network Address Translation
 # for the client.
-import ./make-test.nix ({ pkgs, lib, withFirewall, withConntrackHelpers ? false, ... }:
+import ./make-test-python.nix ({ pkgs, lib, withFirewall, withConntrackHelpers ? false, ... }:
   let
     unit = if withFirewall then "firewall" else "nat";
 
@@ -69,49 +69,52 @@ import ./make-test.nix ({ pkgs, lib, withFirewall, withConntrackHelpers ? false,
         routerDummyNoNatClosure = nodes.routerDummyNoNat.config.system.build.toplevel;
         routerClosure = nodes.router.config.system.build.toplevel;
       in ''
-        $client->start;
-        $router->start;
-        $server->start;
+        client.start()
+        router.start()
+        server.start()
 
         # The router should have access to the server.
-        $server->waitForUnit("network.target");
-        $server->waitForUnit("httpd");
-        $router->waitForUnit("network.target");
-        $router->succeed("curl --fail http://server/ >&2");
+        server.wait_for_unit("network.target")
+        server.wait_for_unit("httpd")
+        router.wait_for_unit("network.target")
+        router.succeed("curl --fail http://server/ >&2")
 
         # The client should be also able to connect via the NAT router.
-        $router->waitForUnit("${unit}");
-        $client->waitForUnit("network.target");
-        $client->succeed("curl --fail http://server/ >&2");
-        $client->succeed("ping -c 1 server >&2");
+        router.wait_for_unit("${unit}")
+        client.wait_for_unit("network.target")
+        client.succeed("curl --fail http://server/ >&2")
+        client.succeed("ping -c 1 server >&2")
 
         # Test whether passive FTP works.
-        $server->waitForUnit("vsftpd");
-        $server->succeed("echo Hello World > /home/ftp/foo.txt");
-        $client->succeed("curl -v ftp://server/foo.txt >&2");
+        server.wait_for_unit("vsftpd")
+        server.succeed("echo Hello World > /home/ftp/foo.txt")
+        client.succeed("curl -v ftp://server/foo.txt >&2")
 
         # Test whether active FTP works.
-        $client->${if withConntrackHelpers then "succeed" else "fail"}(
-          "curl -v -P - ftp://server/foo.txt >&2");
+        client.${if withConntrackHelpers then "succeed" else "fail"}("curl -v -P - ftp://server/foo.txt >&2")
 
         # Test ICMP.
-        $client->succeed("ping -c 1 router >&2");
-        $router->succeed("ping -c 1 client >&2");
+        client.succeed("ping -c 1 router >&2")
+        router.succeed("ping -c 1 client >&2")
 
         # If we turn off NAT, the client shouldn't be able to reach the server.
-        $router->succeed("${routerDummyNoNatClosure}/bin/switch-to-configuration test 2>&1");
-        $client->fail("curl --fail --connect-timeout 5 http://server/ >&2");
-        $client->fail("ping -c 1 server >&2");
+        router.succeed(
+            "${routerDummyNoNatClosure}/bin/switch-to-configuration test 2>&1"
+        )
+        client.fail("curl --fail --connect-timeout 5 http://server/ >&2")
+        client.fail("ping -c 1 server >&2")
 
         # And make sure that reloading the NAT job works.
-        $router->succeed("${routerClosure}/bin/switch-to-configuration test 2>&1");
+        router.succeed(
+            "${routerClosure}/bin/switch-to-configuration test 2>&1"
+        )
         # FIXME: this should not be necessary, but nat.service is not started because
         #        network.target is not triggered
         #        (https://github.com/NixOS/nixpkgs/issues/16230#issuecomment-226408359)
         ${lib.optionalString (!withFirewall) ''
-          $router->succeed("systemctl start nat.service");
+          router.succeed("systemctl start nat.service")
         ''}
-        $client->succeed("curl --fail http://server/ >&2");
-        $client->succeed("ping -c 1 server >&2");
+        client.succeed("curl --fail http://server/ >&2")
+        client.succeed("ping -c 1 server >&2")
       '';
   })
diff --git a/nixos/tests/ndppd.nix b/nixos/tests/ndppd.nix
index 6a6f602726de..b67b26a79341 100644
--- a/nixos/tests/ndppd.nix
+++ b/nixos/tests/ndppd.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ...} : {
+import ./make-test-python.nix ({ pkgs, lib, ...} : {
   name = "ndppd";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ fpletz ];
@@ -52,9 +52,9 @@ import ./make-test.nix ({ pkgs, lib, ...} : {
   };
 
   testScript = ''
-    startAll;
-    $server->waitForUnit("multi-user.target");
-    $upstream->waitForUnit("multi-user.target");
-    $upstream->waitUntilSucceeds("ping -c5 fd42::2");
+    start_all()
+    server.wait_for_unit("multi-user.target")
+    upstream.wait_for_unit("multi-user.target")
+    upstream.wait_until_succeeds("ping -c5 fd42::2")
   '';
 })
diff --git a/nixos/tests/neo4j.nix b/nixos/tests/neo4j.nix
index 86ed8970517c..32ee7f501b8b 100644
--- a/nixos/tests/neo4j.nix
+++ b/nixos/tests/neo4j.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix {
+import ./make-test-python.nix {
   name = "neo4j";
 
   nodes = {
@@ -11,10 +11,10 @@ import ./make-test.nix {
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $master->waitForUnit("neo4j");
-    $master->sleep(20); # Hopefully this is long enough!!
-    $master->succeed("curl http://localhost:7474/");
+    master.wait_for_unit("neo4j")
+    master.wait_for_open_port(7474)
+    master.succeed("curl http://localhost:7474/")
   '';
 }
diff --git a/nixos/tests/netdata.nix b/nixos/tests/netdata.nix
index 9bd147968e4b..8dd5eafb0977 100644
--- a/nixos/tests/netdata.nix
+++ b/nixos/tests/netdata.nix
@@ -1,6 +1,6 @@
 # This test runs netdata and checks for data via apps.plugin
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "netdata";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ cransom ];
@@ -16,23 +16,22 @@ import ./make-test.nix ({ pkgs, ...} : {
     };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $netdata->waitForUnit("netdata.service");
+    netdata.wait_for_unit("netdata.service")
 
     # wait for the service to listen before sending a request
-    $netdata->waitForOpenPort(19999);
+    netdata.wait_for_open_port(19999)
 
     # check if the netdata main page loads.
-    $netdata->succeed("curl --fail http://localhost:19999/");
+    netdata.succeed("curl --fail http://localhost:19999/")
 
     # check if netdata can read disk ops for root owned processes.
     # if > 0, successful. verifies both netdata working and
     # apps.plugin has elevated capabilities.
-    my $cmd = <<'CMD';
-    curl -s http://localhost:19999/api/v1/data\?chart=users.pwrites | \
-       jq -e '[.data[range(10)][.labels | indices("root")[0]]] | add | . > 0'
-    CMD
-    $netdata->waitUntilSucceeds($cmd);
+    url = "http://localhost:19999/api/v1/data\?chart=users.pwrites"
+    filter = '[.data[range(10)][.labels | indices("root")[0]]] | add | . > 0'
+    cmd = f"curl -s {url} | jq -e '{filter}'"
+    netdata.wait_until_succeeds(cmd)
   '';
 })
diff --git a/nixos/tests/nextcloud/basic.nix b/nixos/tests/nextcloud/basic.nix
index bfb97ec3f230..75862feb202d 100644
--- a/nixos/tests/nextcloud/basic.nix
+++ b/nixos/tests/nextcloud/basic.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix ({ pkgs, ...}: let
+import ../make-test-python.nix ({ pkgs, ...}: let
   adminpass = "notproduction";
   adminuser = "root";
 in {
@@ -50,11 +50,15 @@ in {
       diff <(echo 'hi') <(${pkgs.rclone}/bin/rclone cat nextcloud:test-shared-file)
     '';
   in ''
-    startAll();
-    $nextcloud->waitForUnit("multi-user.target");
-    $nextcloud->succeed("curl -sSf http://nextcloud/login");
-    $nextcloud->succeed("${withRcloneEnv} ${copySharedFile}");
-    $client->waitForUnit("multi-user.target");
-    $client->succeed("${withRcloneEnv} ${diffSharedFile}");
+    start_all()
+    nextcloud.wait_for_unit("multi-user.target")
+    nextcloud.succeed("curl -sSf http://nextcloud/login")
+    nextcloud.succeed(
+        "${withRcloneEnv} ${copySharedFile}"
+    )
+    client.wait_for_unit("multi-user.target")
+    client.succeed(
+        "${withRcloneEnv} ${diffSharedFile}"
+    )
   '';
 })
diff --git a/nixos/tests/nextcloud/with-mysql-and-memcached.nix b/nixos/tests/nextcloud/with-mysql-and-memcached.nix
index aaf37ee4c810..b9ba5888187d 100644
--- a/nixos/tests/nextcloud/with-mysql-and-memcached.nix
+++ b/nixos/tests/nextcloud/with-mysql-and-memcached.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix ({ pkgs, ...}: let
+import ../make-test-python.nix ({ pkgs, ...}: let
   adminpass = "hunter2";
   adminuser = "root";
 in {
@@ -85,13 +85,16 @@ in {
       diff <(echo 'hi') <(${pkgs.rclone}/bin/rclone cat nextcloud:test-shared-file)
     '';
   in ''
-    startAll();
-    $nextcloud->waitForUnit("multi-user.target");
-    $nextcloud->succeed("${configureMemcached}");
-    $nextcloud->succeed("curl -sSf http://nextcloud/login");
-    $nextcloud->succeed("${withRcloneEnv} ${copySharedFile}");
-    $client->waitForUnit("multi-user.target");
-    $client->succeed("${withRcloneEnv} ${diffSharedFile}");
-
+    start_all()
+    nextcloud.wait_for_unit("multi-user.target")
+    nextcloud.succeed("${configureMemcached}")
+    nextcloud.succeed("curl -sSf http://nextcloud/login")
+    nextcloud.succeed(
+        "${withRcloneEnv} ${copySharedFile}"
+    )
+    client.wait_for_unit("multi-user.target")
+    client.succeed(
+        "${withRcloneEnv} ${diffSharedFile}"
+    )
   '';
 })
diff --git a/nixos/tests/nextcloud/with-postgresql-and-redis.nix b/nixos/tests/nextcloud/with-postgresql-and-redis.nix
index f655aba9d45e..324853350af6 100644
--- a/nixos/tests/nextcloud/with-postgresql-and-redis.nix
+++ b/nixos/tests/nextcloud/with-postgresql-and-redis.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix ({ pkgs, ...}: let
+import ../make-test-python.nix ({ pkgs, ...}: let
   adminpass = "hunter2";
   adminuser = "custom-admin-username";
 in {
@@ -85,12 +85,16 @@ in {
       diff <(echo 'hi') <(${pkgs.rclone}/bin/rclone cat nextcloud:test-shared-file)
     '';
   in ''
-    startAll();
-    $nextcloud->waitForUnit("multi-user.target");
-    $nextcloud->succeed("${configureRedis}");
-    $nextcloud->succeed("curl -sSf http://nextcloud/login");
-    $nextcloud->succeed("${withRcloneEnv} ${copySharedFile}");
-    $client->waitForUnit("multi-user.target");
-    $client->succeed("${withRcloneEnv} ${diffSharedFile}");
+    start_all()
+    nextcloud.wait_for_unit("multi-user.target")
+    nextcloud.succeed("${configureRedis}")
+    nextcloud.succeed("curl -sSf http://nextcloud/login")
+    nextcloud.succeed(
+        "${withRcloneEnv} ${copySharedFile}"
+    )
+    client.wait_for_unit("multi-user.target")
+    client.succeed(
+        "${withRcloneEnv} ${diffSharedFile}"
+    )
   '';
 })
diff --git a/nixos/tests/nexus.nix b/nixos/tests/nexus.nix
index 783c9f5c019f..1ec5c40476a6 100644
--- a/nixos/tests/nexus.nix
+++ b/nixos/tests/nexus.nix
@@ -3,7 +3,7 @@
 #   2. nexus service can startup on server (creating database and all other initial stuff)
 #   3. the web application is reachable via HTTP
 
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "nexus";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ ironpinguin ma27 ];
@@ -22,11 +22,11 @@ import ./make-test.nix ({ pkgs, ...} : {
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $server->waitForUnit("nexus");
-    $server->waitForOpenPort(8081);
+    server.wait_for_unit("nexus")
+    server.wait_for_open_port(8081)
 
-    $server->succeed("curl -f 127.0.0.1:8081");
+    server.succeed("curl -f 127.0.0.1:8081")
   '';
 })
diff --git a/nixos/tests/nix-ssh-serve.nix b/nixos/tests/nix-ssh-serve.nix
index 494d55121eb1..03f83542c7c1 100644
--- a/nixos/tests/nix-ssh-serve.nix
+++ b/nixos/tests/nix-ssh-serve.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 let inherit (import ./ssh-keys.nix pkgs)
       snakeOilPrivateKey snakeOilPublicKey;
     ssh-config = builtins.toFile "ssh.conf" ''
@@ -18,22 +18,28 @@ in
          client.nix.package = pkgs.nix;
        };
      testScript = ''
-       startAll;
+       start_all()
 
-       $client->succeed("mkdir -m 700 /root/.ssh");
-       $client->copyFileFromHost("${ssh-config}", "/root/.ssh/config");
-       $client->succeed("cat ${snakeOilPrivateKey} > /root/.ssh/id_ecdsa");
-       $client->succeed("chmod 600 /root/.ssh/id_ecdsa");
+       client.succeed("mkdir -m 700 /root/.ssh")
+       client.succeed(
+           "cat ${ssh-config} > /root/.ssh/config"
+       )
+       client.succeed(
+           "cat ${snakeOilPrivateKey} > /root/.ssh/id_ecdsa"
+       )
+       client.succeed("chmod 600 /root/.ssh/id_ecdsa")
 
-       $client->succeed("nix-store --add /etc/machine-id > mach-id-path");
+       client.succeed("nix-store --add /etc/machine-id > mach-id-path")
 
-       $server->waitForUnit("sshd");
+       server.wait_for_unit("sshd")
 
-       $client->fail("diff /root/other-store\$(cat mach-id-path) /etc/machine-id");
+       client.fail("diff /root/other-store$(cat mach-id-path) /etc/machine-id")
        # Currently due to shared store this is a noop :(
-       $client->succeed("nix copy --to ssh-ng://nix-ssh\@server \$(cat mach-id-path)");
-       $client->succeed("nix-store --realise \$(cat mach-id-path) --store /root/other-store --substituters ssh-ng://nix-ssh\@server");
-       $client->succeed("diff /root/other-store\$(cat mach-id-path) /etc/machine-id");
+       client.succeed("nix copy --to ssh-ng://nix-ssh@server $(cat mach-id-path)")
+       client.succeed(
+           "nix-store --realise $(cat mach-id-path) --store /root/other-store --substituters ssh-ng://nix-ssh@server"
+       )
+       client.succeed("diff /root/other-store$(cat mach-id-path) /etc/machine-id")
      '';
    }
 )
diff --git a/nixos/tests/osquery.nix b/nixos/tests/osquery.nix
deleted file mode 100644
index d95871ffafc6..000000000000
--- a/nixos/tests/osquery.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
-
-with lib;
-
-{
-  name = "osquery";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ ma27 ];
-  };
-
-  machine = {
-    services.osquery.enable = true;
-    services.osquery.loggerPath = "/var/log/osquery/logs";
-    services.osquery.pidfile = "/run/osqueryd.pid";
-  };
-
-  testScript = ''
-    $machine->start;
-    $machine->waitForUnit("osqueryd.service");
-
-    $machine->succeed("echo 'SELECT address FROM etc_hosts LIMIT 1;' | osqueryi | grep '127.0.0.1'");
-    $machine->succeed(
-      "echo 'SELECT value FROM osquery_flags WHERE name = \"logger_path\";' | osqueryi | grep /var/log/osquery/logs"
-    );
-
-    $machine->succeed("echo 'SELECT value FROM osquery_flags WHERE name = \"pidfile\";' | osqueryi | grep /run/osqueryd.pid");
-  '';
-})
diff --git a/nixos/tests/pantheon.nix b/nixos/tests/pantheon.nix
index 9888887ee8b5..c0434f20754c 100644
--- a/nixos/tests/pantheon.nix
+++ b/nixos/tests/pantheon.nix
@@ -1,9 +1,10 @@
-import ./make-test.nix ({ pkgs, ...} :
+import ./make-test-python.nix ({ pkgs, ...} :
 
 {
   name = "pantheon";
+
   meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ worldofpeace ];
+    maintainers = pkgs.pantheon.maintainers;
   };
 
   machine = { ... }:
@@ -21,35 +22,38 @@ import ./make-test.nix ({ pkgs, ...} :
 
   testScript = { nodes, ... }: let
     user = nodes.machine.config.users.users.alice;
+    bob = nodes.machine.config.users.users.bob;
   in ''
-    startAll;
-
-    # Wait for display manager to start
-    $machine->waitForText(qr/${user.description}/);
-    $machine->screenshot("lightdm");
-
-    # Log in
-    $machine->sendChars("${user.password}\n");
-    $machine->waitForFile("/home/alice/.Xauthority");
-    $machine->succeed("xauth merge ~alice/.Xauthority");
-
-    # Check if "pantheon-shell" components actually start
-    $machine->waitUntilSucceeds("pgrep gala");
-    $machine->waitForWindow(qr/gala/);
-    $machine->waitUntilSucceeds("pgrep wingpanel");
-    $machine->waitForWindow("wingpanel");
-    $machine->waitUntilSucceeds("pgrep plank");
-    $machine->waitForWindow(qr/plank/);
-
-    # Check that logging in has given the user ownership of devices.
-    $machine->succeed("getfacl -p /dev/snd/timer | grep -q alice");
-
-    # Open elementary terminal
-    $machine->execute("su - alice -c 'DISPLAY=:0.0 io.elementary.terminal &'");
-    $machine->waitForWindow(qr/io.elementary.terminal/);
-
-    # Take a screenshot of the desktop
-    $machine->sleep(20);
-    $machine->screenshot("screen");
+    machine.wait_for_unit("display-manager.service")
+
+    with subtest("Test we can see usernames in elementary-greeter"):
+        machine.wait_for_text("${user.description}")
+        # OCR was struggling with this one.
+        # machine.wait_for_text("${bob.description}")
+        machine.screenshot("elementary_greeter_lightdm")
+
+    with subtest("Login with elementary-greeter"):
+        machine.send_chars("${user.password}\n")
+        machine.wait_for_x()
+        machine.wait_for_file("${user.home}/.Xauthority")
+        machine.succeed("xauth merge ${user.home}/.Xauthority")
+
+    with subtest("Check that logging in has given the user ownership of devices"):
+        machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}")
+
+    # TODO: DBus API could eliminate this? Pantheon uses Bamf.
+    with subtest("Check if pantheon session components actually start"):
+        machine.wait_until_succeeds("pgrep gala")
+        machine.wait_for_window("gala")
+        machine.wait_until_succeeds("pgrep wingpanel")
+        machine.wait_for_window("wingpanel")
+        machine.wait_until_succeeds("pgrep plank")
+        machine.wait_for_window("plank")
+
+    with subtest("Open elementary terminal"):
+        machine.execute("su - ${user.name} -c 'DISPLAY=:0 io.elementary.terminal &'")
+        machine.wait_for_window("io.elementary.terminal")
+        machine.sleep(20)
+        machine.screenshot("screen")
   '';
 })
diff --git a/nixos/tests/plasma5.nix b/nixos/tests/plasma5.nix
index 614fc9bf316e..6884f17aabbe 100644
--- a/nixos/tests/plasma5.nix
+++ b/nixos/tests/plasma5.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ...} :
+import ./make-test-python.nix ({ pkgs, ...} :
 
 {
   name = "plasma5";
@@ -7,23 +7,11 @@ import ./make-test.nix ({ pkgs, ...} :
   };
 
   machine = { ... }:
-  let
-    sddm_theme = pkgs.stdenv.mkDerivation {
-      name = "breeze-ocr-theme";
-      phases = "buildPhase";
-      buildCommand = ''
-        mkdir -p $out/share/sddm/themes/
-        cp -r ${pkgs.plasma-workspace}/share/sddm/themes/breeze $out/share/sddm/themes/breeze-ocr-theme
-        chmod -R +w $out/share/sddm/themes/breeze-ocr-theme
-        printf "[General]\ntype=color\ncolor=#1d99f3\nbackground=\n" > $out/share/sddm/themes/breeze-ocr-theme/theme.conf
-      '';
-    };
-  in
+
   {
     imports = [ ./common/user-account.nix ];
     services.xserver.enable = true;
     services.xserver.displayManager.sddm.enable = true;
-    services.xserver.displayManager.sddm.theme = "breeze-ocr-theme";
     services.xserver.desktopManager.plasma5.enable = true;
     services.xserver.desktopManager.default = "plasma5";
     services.xserver.displayManager.sddm.autoLogin = {
@@ -32,34 +20,40 @@ import ./make-test.nix ({ pkgs, ...} :
     };
     hardware.pulseaudio.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
     virtualisation.memorySize = 1024;
-    environment.systemPackages = [ sddm_theme ];
   };
 
   testScript = { nodes, ... }: let
     user = nodes.machine.config.users.users.alice;
     xdo = "${pkgs.xdotool}/bin/xdotool";
   in ''
-    startAll;
-    # wait for log in
-    $machine->waitForFile("/home/alice/.Xauthority");
-    $machine->succeed("xauth merge ~alice/.Xauthority");
-
-    $machine->waitUntilSucceeds("pgrep plasmashell");
-    $machine->waitForWindow("^Desktop ");
-
-    # Check that logging in has given the user ownership of devices.
-    $machine->succeed("getfacl -p /dev/snd/timer | grep -q alice");
-
-    $machine->execute("su - alice -c 'DISPLAY=:0.0 dolphin &'");
-    $machine->waitForWindow(" Dolphin");
-
-    $machine->execute("su - alice -c 'DISPLAY=:0.0 konsole &'");
-    $machine->waitForWindow("Konsole");
-
-    $machine->execute("su - alice -c 'DISPLAY=:0.0 systemsettings5 &'");
-    $machine->waitForWindow("Settings");
-
-    $machine->execute("${xdo} key Alt+F1 sleep 10");
-    $machine->screenshot("screen");
+    with subtest("Wait for login"):
+        start_all()
+        machine.wait_for_file("${user.home}/.Xauthority")
+        machine.succeed("xauth merge ${user.home}/.Xauthority")
+
+    with subtest("Check plasmashell started"):
+        machine.wait_until_succeeds("pgrep plasmashell")
+        machine.wait_for_window("^Desktop ")
+
+    with subtest("Check that logging in has given the user ownership of devices"):
+        machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}")
+
+    with subtest("Run Dolphin"):
+        machine.execute("su - ${user.name} -c 'DISPLAY=:0.0 dolphin &'")
+        machine.wait_for_window(" Dolphin")
+
+    with subtest("Run Konsole"):
+        machine.execute("su - ${user.name} -c 'DISPLAY=:0.0 konsole &'")
+        machine.wait_for_window("Konsole")
+
+    with subtest("Run systemsettings"):
+        machine.execute("su - ${user.name} -c 'DISPLAY=:0.0 systemsettings5 &'")
+        machine.wait_for_window("Settings")
+
+    with subtest("Wait to get a screenshot"):
+        machine.execute(
+            "${xdo} key Alt+F1 sleep 10"
+        )
+        machine.screenshot("screen")
   '';
 })
diff --git a/nixos/tests/predictable-interface-names.nix b/nixos/tests/predictable-interface-names.nix
index 194b4dafa772..83883477a5cc 100644
--- a/nixos/tests/predictable-interface-names.nix
+++ b/nixos/tests/predictable-interface-names.nix
@@ -4,7 +4,7 @@
 }:
 
 let
-  inherit (import ../lib/testing.nix { inherit system pkgs; }) makeTest;
+  inherit (import ../lib/testing-python.nix { inherit system pkgs; }) makeTest;
 in pkgs.lib.listToAttrs (pkgs.lib.crossLists (predictable: withNetworkd: {
   name = pkgs.lib.optionalString (!predictable) "un" + "predictable"
        + pkgs.lib.optionalString withNetworkd "Networkd";
@@ -20,8 +20,8 @@ in pkgs.lib.listToAttrs (pkgs.lib.crossLists (predictable: withNetworkd: {
     };
 
     testScript = ''
-      print $machine->succeed("ip link");
-      $machine->${if predictable then "fail" else "succeed"}("ip link show eth0 ");
+      print(machine.succeed("ip link"))
+      machine.${if predictable then "fail" else "succeed"}("ip link show eth0")
     '';
   };
 }) [[true false] [true false]])
diff --git a/nixos/tests/prometheus.nix b/nixos/tests/prometheus.nix
index 52f61046be39..8bfd0c131e61 100644
--- a/nixos/tests/prometheus.nix
+++ b/nixos/tests/prometheus.nix
@@ -31,7 +31,7 @@ let
     };
   };
 
-in import ./make-test.nix {
+in import ./make-test-python.nix {
   name = "prometheus";
 
   nodes = {
@@ -173,67 +173,73 @@ in import ./make-test.nix {
   testScript = { nodes, ... } : ''
     # Before starting the other machines we first make sure that our S3 service is online
     # and has a bucket added for thanos:
-    $s3->start;
-    $s3->waitForUnit("minio.service");
-    $s3->waitForOpenPort(${toString minioPort});
-    $s3->succeed(
-      "mc config host add minio " .
-      "http://localhost:${toString minioPort} ${s3.accessKey} ${s3.secretKey} S3v4");
-    $s3->succeed("mc mb minio/thanos-bucket");
+    s3.start()
+    s3.wait_for_unit("minio.service")
+    s3.wait_for_open_port(${toString minioPort})
+    s3.succeed(
+        "mc config host add minio "
+        + "http://localhost:${toString minioPort} "
+        + "${s3.accessKey} ${s3.secretKey} S3v4",
+        "mc mb minio/thanos-bucket",
+    )
 
     # Now that s3 has started we can start the other machines:
-    $prometheus->start;
-    $query->start;
-    $store->start;
+    for machine in prometheus, query, store:
+        machine.start()
 
     # Check if prometheus responds to requests:
-    $prometheus->waitForUnit("prometheus.service");
-    $prometheus->waitForOpenPort(${toString queryPort});
-    $prometheus->succeed("curl -s http://127.0.0.1:${toString queryPort}/metrics");
+    prometheus.wait_for_unit("prometheus.service")
+    prometheus.wait_for_open_port(${toString queryPort})
+    prometheus.succeed("curl -s http://127.0.0.1:${toString queryPort}/metrics")
 
     # Let's test if pushing a metric to the pushgateway succeeds:
-    $prometheus->waitForUnit("pushgateway.service");
-    $prometheus->succeed(
-      "echo 'some_metric 3.14' | " .
-      "curl --data-binary \@- http://127.0.0.1:${toString pushgwPort}/metrics/job/some_job");
+    prometheus.wait_for_unit("pushgateway.service")
+    prometheus.succeed(
+        "echo 'some_metric 3.14' | "
+        + "curl --data-binary \@- "
+        + "http://127.0.0.1:${toString pushgwPort}/metrics/job/some_job"
+    )
 
     # Now check whether that metric gets ingested by prometheus.
     # Since we'll check for the metric several times on different machines
     # we abstract the test using the following function:
 
     # Function to check if the metric "some_metric" has been received and returns the correct value.
-    local *Machine::waitForMetric = sub {
-      my ($self) = @_;
-      $self->waitUntilSucceeds(
-        "curl -sf 'http://127.0.0.1:${toString queryPort}/api/v1/query?query=some_metric' " .
-        "| jq '.data.result[0].value[1]' | grep '\"3.14\"'");
-    };
+    def wait_for_metric(machine):
+        return machine.wait_until_succeeds(
+            "curl -sf 'http://127.0.0.1:${toString queryPort}/api/v1/query?query=some_metric' | "
+            + "jq '.data.result[0].value[1]' | grep '\"3.14\"'"
+        )
+
 
-    $prometheus->waitForMetric;
+    wait_for_metric(prometheus)
 
     # Let's test if the pushgateway persists metrics to the configured location.
-    $prometheus->waitUntilSucceeds("test -e /var/lib/prometheus-pushgateway/metrics");
+    prometheus.wait_until_succeeds("test -e /var/lib/prometheus-pushgateway/metrics")
 
     # Test thanos
-    $prometheus->waitForUnit("thanos-sidecar.service");
+    prometheus.wait_for_unit("thanos-sidecar.service")
 
     # Test if the Thanos query service can correctly retrieve the metric that was send above.
-    $query->waitForUnit("thanos-query.service");
-    $query->waitForMetric;
+    query.wait_for_unit("thanos-query.service")
+    wait_for_metric(query)
 
     # Test if the Thanos sidecar has correctly uploaded its TSDB to S3, if the
     # Thanos storage service has correctly downloaded it from S3 and if the Thanos
     # query service running on $store can correctly retrieve the metric:
-    $store->waitForUnit("thanos-store.service");
-    $store->waitForMetric;
+    store.wait_for_unit("thanos-store.service")
+    wait_for_metric(store)
 
-    $store->waitForUnit("thanos-compact.service");
+    store.wait_for_unit("thanos-compact.service")
 
     # Test if the Thanos bucket command is able to retrieve blocks from the S3 bucket
     # and check if the blocks have the correct labels:
-    $store->succeed(
-      "thanos bucket ls" .
-      " --objstore.config-file=${nodes.store.config.services.thanos.store.objstore.config-file}" .
-      " --output=json | jq .thanos.labels.some_label | grep 'required by thanos'");
+    store.succeed(
+        "thanos bucket ls "
+        + "--objstore.config-file=${nodes.store.config.services.thanos.store.objstore.config-file} "
+        + "--output=json | "
+        + "jq .thanos.labels.some_label | "
+        + "grep 'required by thanos'"
+    )
   '';
 }
diff --git a/nixos/tests/rabbitmq.nix b/nixos/tests/rabbitmq.nix
index bb5932c36417..8e7f34d06e32 100644
--- a/nixos/tests/rabbitmq.nix
+++ b/nixos/tests/rabbitmq.nix
@@ -1,21 +1,21 @@
 # This test runs rabbitmq and checks if rabbitmq is up and running.
 
-import ./make-test.nix ({ pkgs, ... }: {
+import ./make-test-python.nix ({ pkgs, ... }: {
   name = "rabbitmq";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ eelco offline ];
   };
 
-  nodes = {
-    one = { ... }: {
-      services.rabbitmq.enable = true;
-    };
+  machine = {
+    services.rabbitmq.enable = true;
   };
 
   testScript = ''
-    startAll;
+    machine.start()
 
-    $one->waitForUnit("rabbitmq.service");
-    $one->waitUntilSucceeds("su -s ${pkgs.stdenv.shell} rabbitmq -c \"rabbitmqctl status\"");
+    machine.wait_for_unit("rabbitmq.service")
+    machine.wait_until_succeeds(
+        'su -s ${pkgs.stdenv.shell} rabbitmq -c "rabbitmqctl status"'
+    )
   '';
 })
diff --git a/nixos/tests/roundcube.nix b/nixos/tests/roundcube.nix
index 4f2560ce8c2f..1897b53e283a 100644
--- a/nixos/tests/roundcube.nix
+++ b/nixos/tests/roundcube.nix
@@ -9,7 +9,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
       services.roundcube = {
         enable = true;
         hostName = "roundcube";
-        database.password = "notproduction";
+        database.password = "not production";
         package = pkgs.roundcube.withPlugins (plugins: [ plugins.persistent_login ]);
         plugins = [ "persistent_login" ];
       };
diff --git a/nixos/tests/rxe.nix b/nixos/tests/rxe.nix
index d0b53db8eeb6..194a2e3d2b94 100644
--- a/nixos/tests/rxe.nix
+++ b/nixos/tests/rxe.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ ... } :
+import ./make-test-python.nix ({ ... } :
 
 let
   node = { pkgs, ... } : {
@@ -26,27 +26,21 @@ in {
 
   testScript = ''
     # Test if rxe interface comes up
-    $server->waitForUnit("default.target");
-    $server->succeed("systemctl status rxe.service");
-    $server->succeed("ibv_devices | grep rxe0");
+    server.wait_for_unit("default.target")
+    server.succeed("systemctl status rxe.service")
+    server.succeed("ibv_devices | grep rxe0")
 
-    $client->waitForUnit("default.target");
+    client.wait_for_unit("default.target")
 
-    # ping pong test
-    $server->succeed("screen -dmS rc_pingpong ibv_rc_pingpong -p 4800 -g0");
-    $client->succeed("sleep 2; ibv_rc_pingpong -p 4800 -g0 server");
+    # ping pong tests
+    for proto in "rc", "uc", "ud", "srq":
+        server.succeed(
+            "screen -dmS {0}_pingpong ibv_{0}_pingpong -p 4800 -s 1024 -g0".format(proto)
+        )
+        client.succeed("sleep 2; ibv_{}_pingpong -p 4800 -s 1024 -g0 server".format(proto))
 
-    $server->succeed("screen -dmS uc_pingpong ibv_uc_pingpong -p 4800 -g0");
-    $client->succeed("sleep 2; ibv_uc_pingpong -p 4800 -g0 server");
-
-    $server->succeed("screen -dmS ud_pingpong ibv_ud_pingpong -p 4800 -s 1024 -g0");
-    $client->succeed("sleep 2; ibv_ud_pingpong -p 4800 -s 1024 -g0 server");
-
-    $server->succeed("screen -dmS srq_pingpong ibv_srq_pingpong -p 4800 -g0");
-    $client->succeed("sleep 2; ibv_srq_pingpong -p 4800 -g0 server");
-
-    $server->succeed("screen -dmS rping rping -s -a server -C 10");
-    $client->succeed("sleep 2; rping -c -a server -C 10");
+    server.succeed("screen -dmS rping rping -s -a server -C 10")
+    client.succeed("sleep 2; rping -c -a server -C 10")
   '';
 })
 
diff --git a/nixos/tests/slim.nix b/nixos/tests/slim.nix
deleted file mode 100644
index 42c87dfa039d..000000000000
--- a/nixos/tests/slim.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-import ./make-test.nix ({ pkgs, ...} : {
-  name = "slim";
-
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ aszlig ];
-  };
-
-  machine = { pkgs, ... }: {
-    imports = [ ./common/user-account.nix ];
-    services.xserver.enable = true;
-    services.xserver.windowManager.default = "icewm";
-    services.xserver.windowManager.icewm.enable = true;
-    services.xserver.desktopManager.default = "none";
-    services.xserver.displayManager.slim = {
-      enable = true;
-
-      # Use a custom theme in order to get best OCR results
-      theme = pkgs.runCommand "slim-theme-ocr" {
-        nativeBuildInputs = [ pkgs.imagemagick ];
-      } ''
-        mkdir "$out"
-        convert -size 1x1 xc:white "$out/background.jpg"
-        convert -size 200x100 xc:white "$out/panel.jpg"
-        cat > "$out/slim.theme" <<EOF
-        background_color #ffffff
-        background_style tile
-
-        input_fgcolor #000000
-        msg_color #000000
-
-        session_color #000000
-        session_font Verdana:size=16:bold
-
-        username_msg Username:
-        username_font Verdana:size=16:bold
-        username_color #000000
-        username_x 50%
-        username_y 40%
-
-        password_msg Password:
-        password_x 50%
-        password_y 40%
-        EOF
-      '';
-    };
-  };
-
-  enableOCR = true;
-
-  testScript = { nodes, ... }: let
-    user = nodes.machine.config.users.users.alice;
-  in ''
-    startAll;
-    $machine->waitForText(qr/Username:/);
-    $machine->sendChars("${user.name}\n");
-    $machine->waitForText(qr/Password:/);
-    $machine->sendChars("${user.password}\n");
-
-    $machine->waitForFile('${user.home}/.Xauthority');
-    $machine->succeed('xauth merge ${user.home}/.Xauthority');
-    $machine->waitForWindow('^IceWM ');
-
-    # Make sure SLiM doesn't create a log file
-    $machine->fail('test -e /var/log/slim.log');
-  '';
-})
diff --git a/nixos/tests/spike.nix b/nixos/tests/spike.nix
new file mode 100644
index 000000000000..47763e75ffa2
--- /dev/null
+++ b/nixos/tests/spike.nix
@@ -0,0 +1,22 @@
+import ./make-test-python.nix ({ pkgs, ... }:
+
+let
+  riscvPkgs = import ../.. { crossSystem = pkgs.stdenv.lib.systems.examples.riscv64-embedded; };
+in
+{
+  name = "spike";
+  meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ blitz ]; };
+
+  machine = { pkgs, lib, ... }: {
+    environment.systemPackages = [ pkgs.spike riscvPkgs.riscv-pk riscvPkgs.hello ];
+  };
+
+  # Run the RISC-V hello applications using the proxy kernel on the
+  # Spike emulator and see whether we get the expected output.
+  testScript =
+    ''
+      machine.wait_for_unit("multi-user.target")
+      output = machine.succeed("spike -m64 $(which pk) $(which hello)")
+      assert output == "Hello, world!\n"
+    '';
+})
diff --git a/nixos/tests/sudo.nix b/nixos/tests/sudo.nix
index fc16b99cc19c..5bbec3d57269 100644
--- a/nixos/tests/sudo.nix
+++ b/nixos/tests/sudo.nix
@@ -4,7 +4,7 @@ let
   password = "helloworld";
 
 in
-  import ./make-test.nix ({ pkgs, ...} : {
+  import ./make-test-python.nix ({ pkgs, ...} : {
     name = "sudo";
     meta = with pkgs.stdenv.lib.maintainers; {
       maintainers = [ lschuermann ];
@@ -50,44 +50,34 @@ in
 
     testScript =
       ''
-        subtest "users in wheel group should have passwordless sudo", sub {
-            $machine->succeed("su - test0 -c \"sudo -u root true\"");
-        };
+        with subtest("users in wheel group should have passwordless sudo"):
+            machine.succeed('su - test0 -c "sudo -u root true"')
 
-        subtest "test1 user should have sudo with password", sub {
-            $machine->succeed("su - test1 -c \"echo ${password} | sudo -S -u root true\"");
-        };
+        with subtest("test1 user should have sudo with password"):
+            machine.succeed('su - test1 -c "echo ${password} | sudo -S -u root true"')
 
-        subtest "test1 user should not be able to use sudo without password", sub {
-            $machine->fail("su - test1 -c \"sudo -n -u root true\"");
-        };
+        with subtest("test1 user should not be able to use sudo without password"):
+            machine.fail('su - test1 -c "sudo -n -u root true"')
 
-        subtest "users in group 'foobar' should be able to use sudo with password", sub {
-            $machine->succeed("sudo -u test2 echo ${password} | sudo -S -u root true");
-        };
+        with subtest("users in group 'foobar' should be able to use sudo with password"):
+            machine.succeed("sudo -u test2 echo ${password} | sudo -S -u root true")
 
-        subtest "users in group 'barfoo' should be able to use sudo without password", sub {
-            $machine->succeed("sudo -u test3 sudo -n -u root true");
-        };
+        with subtest("users in group 'barfoo' should be able to use sudo without password"):
+            machine.succeed("sudo -u test3 sudo -n -u root true")
 
-        subtest "users in group 'baz' (GID 1337) should be able to use sudo without password", sub {
-            $machine->succeed("sudo -u test4 sudo -n -u root echo true");
-        };
+        with subtest("users in group 'baz' (GID 1337)"):
+            machine.succeed("sudo -u test4 sudo -n -u root echo true")
 
-        subtest "test5 user should be able to run commands under test1", sub {
-            $machine->succeed("sudo -u test5 sudo -n -u test1 true");
-        };
+        with subtest("test5 user should be able to run commands under test1"):
+            machine.succeed("sudo -u test5 sudo -n -u test1 true")
 
-        subtest "test5 user should not be able to run commands under root", sub {
-            $machine->fail("sudo -u test5 sudo -n -u root true");
-        };
+        with subtest("test5 user should not be able to run commands under root"):
+            machine.fail("sudo -u test5 sudo -n -u root true")
 
-        subtest "test5 user should be able to keep his environment", sub {
-            $machine->succeed("sudo -u test5 sudo -n -E -u test1 true");
-        };
+        with subtest("test5 user should be able to keep his environment"):
+            machine.succeed("sudo -u test5 sudo -n -E -u test1 true")
 
-        subtest "users in group 'barfoo' should not be able to keep their environment", sub {
-            $machine->fail("sudo -u test3 sudo -n -E -u root true");
-        };
+        with subtest("users in group 'barfoo' should not be able to keep their environment"):
+            machine.fail("sudo -u test3 sudo -n -E -u root true")
       '';
   })
diff --git a/nixos/tests/syncthing-init.nix b/nixos/tests/syncthing-init.nix
index 0de76b688bdc..9c8e0a3d087e 100644
--- a/nixos/tests/syncthing-init.nix
+++ b/nixos/tests/syncthing-init.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, pkgs, ... }: let
+import ./make-test-python.nix ({ lib, pkgs, ... }: let
 
   testId = "7CFNTQM-IMTJBHJ-3UWRDIU-ZGQJFR6-VCXZ3NB-XUH3KZO-N52ITXR-LAIYUAU";
 
@@ -22,13 +22,11 @@ in {
   };
 
   testScript = ''
-    my $config;
-
-    $machine->waitForUnit("syncthing-init.service");
-    $config = $machine->succeed("cat /var/lib/syncthing/.config/syncthing/config.xml");
+    machine.wait_for_unit("syncthing-init.service")
+    config = machine.succeed("cat /var/lib/syncthing/.config/syncthing/config.xml")
    
-    $config =~ /${testId}/ or die;
-    $config =~ /testFolder/ or die;
+    assert "testFolder" in config
+    assert "${testId}" in config
   '';
 })
 
diff --git a/nixos/tests/syncthing-relay.nix b/nixos/tests/syncthing-relay.nix
index f1ceb4993337..cd72ef1cbe1d 100644
--- a/nixos/tests/syncthing-relay.nix
+++ b/nixos/tests/syncthing-relay.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ lib, pkgs, ... }: {
+import ./make-test-python.nix ({ lib, pkgs, ... }: {
   name = "syncthing-relay";
   meta.maintainers = with pkgs.stdenv.lib.maintainers; [ delroth ];
 
@@ -14,9 +14,13 @@ import ./make-test.nix ({ lib, pkgs, ... }: {
   };
 
   testScript = ''
-    $machine->waitForUnit("syncthing-relay.service");
-    $machine->waitForOpenPort(12345);
-    $machine->waitForOpenPort(12346);
-    $machine->succeed("curl http://localhost:12346/status | jq -r '.options.\"provided-by\"'") =~ /nixos-test/ or die;
+    machine.wait_for_unit("syncthing-relay.service")
+    machine.wait_for_open_port(12345)
+    machine.wait_for_open_port(12346)
+
+    out = machine.succeed(
+        "curl -sS http://localhost:12346/status | jq -r '.options.\"provided-by\"'"
+    )
+    assert "nixos-test" in out
   '';
 })
diff --git a/nixos/tests/systemd-networkd-wireguard.nix b/nixos/tests/systemd-networkd-wireguard.nix
index aa0ac54e7969..be5c0da981d2 100644
--- a/nixos/tests/systemd-networkd-wireguard.nix
+++ b/nixos/tests/systemd-networkd-wireguard.nix
@@ -1,4 +1,4 @@
-let generateNodeConf = { lib, pkgs, config, privkpath, pubk, peerId, nodeId, ...}: {
+let generateNodeConf = { lib, pkgs, config, privk, pubk, peerId, nodeId, ...}: {
       imports = [ common/user-account.nix ];
       systemd.services.systemd-networkd.environment.SYSTEMD_LOG_LEVEL = "debug";
       networking.useNetworkd = true;
@@ -7,13 +7,16 @@ let generateNodeConf = { lib, pkgs, config, privkpath, pubk, peerId, nodeId, ...
       virtualisation.vlans = [ 1 ];
       environment.systemPackages = with pkgs; [ wireguard-tools ];
       boot.extraModulePackages = [ config.boot.kernelPackages.wireguard ];
+      systemd.tmpfiles.rules = [
+        "f /run/wg_priv 0640 root systemd-network - ${privk}"
+      ];
       systemd.network = {
         enable = true;
         netdevs = {
           "90-wg0" = {
             netdevConfig = { Kind = "wireguard"; Name = "wg0"; };
             wireguardConfig = {
-              PrivateKeyFile = privkpath ;
+              PrivateKeyFile = "/run/wg_priv";
               ListenPort = 51820;
               FwMark = 42;
             };
@@ -45,7 +48,7 @@ let generateNodeConf = { lib, pkgs, config, privkpath, pubk, peerId, nodeId, ...
         };
       };
     };
-in import ./make-test.nix ({pkgs, ... }: {
+in import ./make-test-python.nix ({pkgs, ... }: {
   name = "networkd-wireguard";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ ninjatrappeur ];
@@ -53,7 +56,7 @@ in import ./make-test.nix ({pkgs, ... }: {
   nodes = {
     node1 = { pkgs, ... }@attrs:
     let localConf = {
-        privkpath = pkgs.writeText "priv.key" "GDiXWlMQKb379XthwX0haAbK6hTdjblllpjGX0heP00=";
+        privk = "GDiXWlMQKb379XthwX0haAbK6hTdjblllpjGX0heP00=";
         pubk = "iRxpqj42nnY0Qz8MAQbSm7bXxXP5hkPqWYIULmvW+EE=";
         nodeId = "1";
         peerId = "2";
@@ -62,7 +65,7 @@ in import ./make-test.nix ({pkgs, ... }: {
 
     node2 = { pkgs, ... }@attrs:
     let localConf = {
-        privkpath = pkgs.writeText "priv.key" "eHxSI2jwX/P4AOI0r8YppPw0+4NZnjOxfbS5mt06K2k=";
+        privk = "eHxSI2jwX/P4AOI0r8YppPw0+4NZnjOxfbS5mt06K2k=";
         pubk = "27s0OvaBBdHoJYkH9osZpjpgSOVNw+RaKfboT/Sfq0g=";
         nodeId = "2";
         peerId = "1";
@@ -70,12 +73,12 @@ in import ./make-test.nix ({pkgs, ... }: {
     in generateNodeConf (attrs // localConf);
   };
 testScript = ''
-    startAll;
-    $node1->waitForUnit('systemd-networkd-wait-online.service');
-    $node2->waitForUnit('systemd-networkd-wait-online.service');
-    $node1->succeed('ping -c 5 10.0.0.2');
-    $node2->succeed('ping -c 5 10.0.0.1');
+    start_all()
+    node1.wait_for_unit("systemd-networkd-wait-online.service")
+    node2.wait_for_unit("systemd-networkd-wait-online.service")
+    node1.succeed("ping -c 5 10.0.0.2")
+    node2.succeed("ping -c 5 10.0.0.1")
     # Is the fwmark set?
-    $node2->succeed('wg | grep -q 42');
+    node2.succeed("wg | grep -q 42")
 '';
 })
diff --git a/nixos/tests/systemd-nspawn.nix b/nixos/tests/systemd-nspawn.nix
index c2039bb5980c..5bf55060d2e0 100644
--- a/nixos/tests/systemd-nspawn.nix
+++ b/nixos/tests/systemd-nspawn.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({pkgs, lib, ...}:
+import ./make-test-python.nix ({pkgs, lib, ...}:
 let
   gpgKeyring = (pkgs.runCommand "gpg-keyring" { buildInputs = [ pkgs.gnupg ]; } ''
     mkdir -p $out
@@ -32,7 +32,7 @@ let
     gpg --batch --sign --detach-sign --output SHA256SUMS.gpg SHA256SUMS
   '');
 in {
-  name = "opensmtpd";
+  name = "systemd-nspawn";
 
   nodes = {
     server = { pkgs, ... }: {
@@ -48,11 +48,13 @@ in {
   };
 
   testScript = ''
-    startAll;
+    start_all()
 
-    $server->waitForUnit("nginx.service");
-    $client->waitForUnit("network-online.target");
-    $client->succeed("machinectl pull-raw --verify=signature http://server/testimage.raw");
-    $client->succeed("cmp /var/lib/machines/testimage.raw ${nspawnImages}/testimage.raw");
+    server.wait_for_unit("nginx.service")
+    client.wait_for_unit("network-online.target")
+    client.succeed("machinectl pull-raw --verify=signature http://server/testimage.raw")
+    client.succeed(
+        "cmp /var/lib/machines/testimage.raw ${nspawnImages}/testimage.raw"
+    )
   '';
 })
diff --git a/nixos/tests/uwsgi.nix b/nixos/tests/uwsgi.nix
index afc03e74ed7e..78a87147f55c 100644
--- a/nixos/tests/uwsgi.nix
+++ b/nixos/tests/uwsgi.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 {
   name = "uwsgi";
   meta = with pkgs.stdenv.lib.maintainers; {
@@ -30,9 +30,9 @@ import ./make-test.nix ({ pkgs, ... }:
 
   testScript =
     ''
-      $machine->waitForUnit('multi-user.target');
-      $machine->waitForUnit('uwsgi.service');
-      $machine->waitForOpenPort(8000);
-      $machine->succeed('curl -v 127.0.0.1:8000 | grep "Hello World!"');
+      machine.wait_for_unit("multi-user.target")
+      machine.wait_for_unit("uwsgi.service")
+      machine.wait_for_open_port(8000)
+      assert "Hello World" in machine.succeed("curl -v 127.0.0.1:8000")
     '';
 })
diff --git a/nixos/tests/wordpress.nix b/nixos/tests/wordpress.nix
index c6acfa6c1f3d..b7449859f7e6 100644
--- a/nixos/tests/wordpress.nix
+++ b/nixos/tests/wordpress.nix
@@ -1,9 +1,13 @@
-import ./make-test.nix ({ pkgs, ... }:
+import ./make-test-python.nix ({ pkgs, ... }:
 
 {
   name = "wordpress";
   meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ grahamc ]; # under duress!
+    maintainers = [
+      flokli
+      grahamc # under duress!
+      mmilata
+    ];
   };
 
   machine =
@@ -23,19 +27,31 @@ import ./make-test.nix ({ pkgs, ... }:
     };
 
   testScript = ''
-    startAll;
+    import re
 
-    $machine->waitForUnit("httpd");
-    $machine->waitForUnit("phpfpm-wordpress-site1.local");
-    $machine->waitForUnit("phpfpm-wordpress-site2.local");
+    start_all()
 
-    $machine->succeed("curl -L site1.local | grep 'Welcome to the famous'");
-    $machine->succeed("curl -L site2.local | grep 'Welcome to the famous'");
+    machine.wait_for_unit("httpd")
 
-    $machine->succeed("systemctl --no-pager show wordpress-init-site1.local.service | grep 'ExecStart=.*status=0'");
-    $machine->succeed("systemctl --no-pager show wordpress-init-site2.local.service | grep 'ExecStart=.*status=0'");
-    $machine->succeed("grep -E '^define.*NONCE_SALT.{64,};\$' /var/lib/wordpress/site1.local/secret-keys.php");
-    $machine->succeed("grep -E '^define.*NONCE_SALT.{64,};\$' /var/lib/wordpress/site2.local/secret-keys.php");
-  '';
+    machine.wait_for_unit("phpfpm-wordpress-site1.local")
+    machine.wait_for_unit("phpfpm-wordpress-site2.local")
+
+    site_names = ["site1.local", "site2.local"]
+
+    with subtest("website returns welcome screen"):
+        for site_name in site_names:
+            assert "Welcome to the famous" in machine.succeed(f"curl -L {site_name}")
 
+    with subtest("wordpress-init went through"):
+        for site_name in site_names:
+            info = machine.get_unit_info(f"wordpress-init-{site_name}")
+            assert info["Result"] == "success"
+
+    with subtest("secret keys are set"):
+        pattern = re.compile(r"^define.*NONCE_SALT.{64,};$", re.MULTILINE)
+        for site_name in site_names:
+            assert pattern.search(
+                machine.succeed(f"cat /var/lib/wordpress/{site_name}/secret-keys.php")
+            )
+  '';
 })
diff --git a/nixos/tests/xfce.nix b/nixos/tests/xfce.nix
index 7ff623062d93..3ea96b383631 100644
--- a/nixos/tests/xfce.nix
+++ b/nixos/tests/xfce.nix
@@ -1,8 +1,5 @@
-import ./make-test.nix ({ pkgs, ...} : {
+import ./make-test-python.nix ({ pkgs, ...} : {
   name = "xfce";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ eelco shlevy ];
-  };
 
   machine =
     { pkgs, ... }:
@@ -16,31 +13,26 @@ import ./make-test.nix ({ pkgs, ...} : {
 
       services.xserver.desktopManager.xfce.enable = true;
 
-      environment.systemPackages = [ pkgs.xorg.xmessage ];
-
       hardware.pulseaudio.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
 
       virtualisation.memorySize = 1024;
     };
 
-  testScript =
-    ''
-      $machine->waitForX;
-      $machine->waitForFile("/home/alice/.Xauthority");
-      $machine->succeed("xauth merge ~alice/.Xauthority");
-      $machine->waitForWindow(qr/xfce4-panel/);
-      $machine->sleep(10);
+  testScript = { nodes, ... }: let
+    user = nodes.machine.config.users.users.alice;
+  in ''
+      machine.wait_for_x()
+      machine.wait_for_file("${user.home}/.Xauthority")
+      machine.succeed("xauth merge ${user.home}/.Xauthority")
+      machine.wait_for_window("xfce4-panel")
+      machine.sleep(10)
 
       # Check that logging in has given the user ownership of devices.
-      $machine->succeed("getfacl -p /dev/snd/timer | grep -q alice");
-
-      $machine->succeed("su - alice -c 'DISPLAY=:0.0 xfce4-terminal &'");
-      $machine->waitForWindow(qr/Terminal/);
-      $machine->sleep(10);
-      $machine->screenshot("screen");
+      machine.succeed("getfacl -p /dev/snd/timer | grep -q ${user.name}")
 
-      # Ensure that the X server does proper access control.
-      $machine->mustFail("su - bob -c 'DISPLAY=:0.0 xmessage Foo'");
-      $machine->mustFail("su - bob -c 'DISPLAY=:0 xmessage Foo'");
+      machine.succeed("su - ${user.name} -c 'DISPLAY=:0.0 xfce4-terminal &'")
+      machine.wait_for_window("Terminal")
+      machine.sleep(10)
+      machine.screenshot("screen")
     '';
 })
diff --git a/nixos/tests/xfce4-14.nix b/nixos/tests/xfce4-14.nix
deleted file mode 100644
index d9b87b084376..000000000000
--- a/nixos/tests/xfce4-14.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-import ./make-test.nix ({ pkgs, ...} : {
-  name = "xfce4-14";
-
-  machine =
-    { pkgs, ... }:
-
-    { imports = [ ./common/user-account.nix ];
-
-      services.xserver.enable = true;
-
-      services.xserver.displayManager.auto.enable = true;
-      services.xserver.displayManager.auto.user = "alice";
-
-      services.xserver.desktopManager.xfce4-14.enable = true;
-
-      hardware.pulseaudio.enable = true; # needed for the factl test, /dev/snd/* exists without them but udev doesn't care then
-
-      virtualisation.memorySize = 1024;
-    };
-
-  testScript =
-    ''
-      $machine->waitForX;
-      $machine->waitForFile("/home/alice/.Xauthority");
-      $machine->succeed("xauth merge ~alice/.Xauthority");
-      $machine->waitForWindow(qr/xfce4-panel/);
-      $machine->sleep(10);
-
-      # Check that logging in has given the user ownership of devices.
-      $machine->succeed("getfacl -p /dev/snd/timer | grep -q alice");
-
-      $machine->succeed("su - alice -c 'DISPLAY=:0.0 xfce4-terminal &'");
-      $machine->waitForWindow(qr/Terminal/);
-      $machine->sleep(10);
-      $machine->screenshot("screen");
-    '';
-})
diff --git a/nixos/tests/xmpp/ejabberd.nix b/nixos/tests/xmpp/ejabberd.nix
index 196a04aca300..1518aaacc8ab 100644
--- a/nixos/tests/xmpp/ejabberd.nix
+++ b/nixos/tests/xmpp/ejabberd.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix ({ pkgs, ... }: {
+import ../make-test-python.nix ({ pkgs, ... }: {
   name = "ejabberd";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ ajs124 ];
@@ -248,13 +248,21 @@ import ../make-test.nix ({ pkgs, ... }: {
   };
 
   testScript = { nodes, ... }: ''
-    $server->waitForUnit('ejabberd.service');
-    $server->succeed('su ejabberd -s $(which ejabberdctl) status|grep started') =~ /ejabberd is running/;
-    $server->succeed('su ejabberd -s $(which ejabberdctl) register azurediamond example.com hunter2');
-    $server->succeed('su ejabberd -s $(which ejabberdctl) register cthon98 example.com nothunter2');
-    $server->fail('su ejabberd -s $(which ejabberdctl) register asdf wrong.domain');
-    $client->succeed('send-message');
-    $server->succeed('su ejabberd -s $(which ejabberdctl) unregister cthon98 example.com');
-    $server->succeed('su ejabberd -s $(which ejabberdctl) unregister azurediamond example.com');
+    ejabberd_prefix = "su ejabberd -s $(which ejabberdctl) "
+
+    server.wait_for_unit("ejabberd.service")
+
+    assert "status: started" in server.succeed(ejabberd_prefix + "status")
+
+    server.succeed(
+        ejabberd_prefix + "register azurediamond example.com hunter2",
+        ejabberd_prefix + "register cthon98 example.com nothunter2",
+    )
+    server.fail(ejabberd_prefix + "register asdf wrong.domain")
+    client.succeed("send-message")
+    server.succeed(
+        ejabberd_prefix + "unregister cthon98 example.com",
+        ejabberd_prefix + "unregister azurediamond example.com",
+    )
   '';
 })
diff --git a/nixos/tests/xmpp/prosody-mysql.nix b/nixos/tests/xmpp/prosody-mysql.nix
index 62b4a17421e5..0507227021b2 100644
--- a/nixos/tests/xmpp/prosody-mysql.nix
+++ b/nixos/tests/xmpp/prosody-mysql.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix {
+import ../make-test-python.nix {
   name = "prosody-mysql";
 
   nodes = {
@@ -57,21 +57,21 @@ import ../make-test.nix {
   };
 
   testScript = { nodes, ... }: ''
-    $mysql->waitForUnit('mysql.service');
-    $server->waitForUnit('prosody.service');
-    $server->succeed('prosodyctl status') =~ /Prosody is running/;
+    mysql.wait_for_unit("mysql.service")
+    server.wait_for_unit("prosody.service")
+    server.succeed('prosodyctl status | grep "Prosody is running"')
 
     # set password to 'nothunter2' (it's asked twice)
-    $server->succeed('yes nothunter2 | prosodyctl adduser cthon98@example.com');
+    server.succeed("yes nothunter2 | prosodyctl adduser cthon98@example.com")
     # set password to 'y'
-    $server->succeed('yes | prosodyctl adduser azurediamond@example.com');
+    server.succeed("yes | prosodyctl adduser azurediamond@example.com")
     # correct password to 'hunter2'
-    $server->succeed('yes hunter2 | prosodyctl passwd azurediamond@example.com');
+    server.succeed("yes hunter2 | prosodyctl passwd azurediamond@example.com")
 
-    $client->succeed("send-message");
+    client.succeed("send-message")
 
-    $server->succeed('prosodyctl deluser cthon98@example.com');
-    $server->succeed('prosodyctl deluser azurediamond@example.com');
+    server.succeed("prosodyctl deluser cthon98@example.com")
+    server.succeed("prosodyctl deluser azurediamond@example.com")
   '';
 }
 
diff --git a/nixos/tests/xmpp/prosody.nix b/nixos/tests/xmpp/prosody.nix
index 8331c7b6d331..9d1374bff6bd 100644
--- a/nixos/tests/xmpp/prosody.nix
+++ b/nixos/tests/xmpp/prosody.nix
@@ -1,4 +1,4 @@
-import ../make-test.nix {
+import ../make-test-python.nix {
   name = "prosody";
 
   nodes = {
@@ -28,19 +28,19 @@ import ../make-test.nix {
   };
 
   testScript = { nodes, ... }: ''
-    $server->waitForUnit('prosody.service');
-    $server->succeed('prosodyctl status') =~ /Prosody is running/;
+    server.wait_for_unit("prosody.service")
+    server.succeed('prosodyctl status | grep "Prosody is running"')
 
     # set password to 'nothunter2' (it's asked twice)
-    $server->succeed('yes nothunter2 | prosodyctl adduser cthon98@example.com');
+    server.succeed("yes nothunter2 | prosodyctl adduser cthon98@example.com")
     # set password to 'y'
-    $server->succeed('yes | prosodyctl adduser azurediamond@example.com');
-    # correct password to 'hunter2'
-    $server->succeed('yes hunter2 | prosodyctl passwd azurediamond@example.com');
+    server.succeed("yes | prosodyctl adduser azurediamond@example.com")
+    # correct password to "hunter2"
+    server.succeed("yes hunter2 | prosodyctl passwd azurediamond@example.com")
 
-    $client->succeed("send-message");
+    client.succeed("send-message")
 
-    $server->succeed('prosodyctl deluser cthon98@example.com');
-    $server->succeed('prosodyctl deluser azurediamond@example.com');
+    server.succeed("prosodyctl deluser cthon98@example.com")
+    server.succeed("prosodyctl deluser azurediamond@example.com")
   '';
 }
diff --git a/nixos/tests/xss-lock.nix b/nixos/tests/xss-lock.nix
index 0d757e8cef3f..3a7dea07d53a 100644
--- a/nixos/tests/xss-lock.nix
+++ b/nixos/tests/xss-lock.nix
@@ -1,4 +1,4 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
+import ./make-test-python.nix ({ pkgs, lib, ... }:
 
 with lib;
 
@@ -26,15 +26,19 @@ with lib;
   };
 
   testScript = ''
-    startAll;
-
-    ${concatStringsSep "\n" (mapAttrsToList (name: lockCmd: ''
-      ${"$"+name}->start;
-      ${"$"+name}->waitForX;
-      ${"$"+name}->waitForUnit("xss-lock.service", "alice");
-      ${"$"+name}->fail("pgrep ${lockCmd}");
-      ${"$"+name}->succeed("su -l alice -c 'xset dpms force standby'");
-      ${"$"+name}->waitUntilSucceeds("pgrep ${lockCmd}");
-    '') { simple = "i3lock"; custom_lockcmd = "xlock"; })}
+    def perform_xsslock_test(machine, lockCmd):
+        machine.start()
+        machine.wait_for_x()
+        machine.wait_for_unit("xss-lock.service", "alice")
+        machine.fail(f"pgrep {lockCmd}")
+        machine.succeed("su -l alice -c 'xset dpms force standby'")
+        machine.wait_until_succeeds(f"pgrep {lockCmd}")
+
+
+    with subtest("simple"):
+        perform_xsslock_test(simple, "i3lock")
+
+    with subtest("custom_cmd"):
+        perform_xsslock_test(custom_lockcmd, "xlock")
   '';
 })
diff --git a/nixos/tests/yggdrasil.nix b/nixos/tests/yggdrasil.nix
index ddff35cce3a1..468fcf671274 100644
--- a/nixos/tests/yggdrasil.nix
+++ b/nixos/tests/yggdrasil.nix
@@ -19,7 +19,7 @@ let
     SigningPrivateKey = "2a6c21550f3fca0331df50668ffab66b6dce8237bcd5728e571e8033b363e247de111da0ec781e45bf6c63ecb45a78c24d7d4655abfaeea83b26c36eb5c0fd5b";
   };
 
-in import ./make-test.nix ({ pkgs, ...} : {
+in import ./make-test-python.nix ({ pkgs, ...} : {
   name = "yggdrasil";
   meta = with pkgs.stdenv.lib.maintainers; {
     maintainers = [ gazally ];
@@ -81,7 +81,7 @@ in import ./make-test.nix ({ pkgs, ...} : {
           denyDhcpcdInterfaces = [ "ygg0" ];
           config = {
             IfTAPMode = true;
-            IFName = "ygg0";
+            IfName = "ygg0";
             MulticastInterfaces = [ "eth1" ];
             LinkLocalTCPPort = 43210;
           };
@@ -91,33 +91,35 @@ in import ./make-test.nix ({ pkgs, ...} : {
 
   testScript =
     ''
+      import re
+
       # Give Alice a head start so she is ready when Bob calls.
-      $alice->start;
-      $alice->waitForUnit("yggdrasil.service");
+      alice.start()
+      alice.wait_for_unit("yggdrasil.service")
 
-      $bob->start;
-      $carol->start;
-      $bob->waitForUnit("yggdrasil.service");
-      $carol->waitForUnit("yggdrasil.service");
+      bob.start()
+      carol.start()
+      bob.wait_for_unit("yggdrasil.service")
+      carol.wait_for_unit("yggdrasil.service")
 
-      $carol->waitUntilSucceeds("[ `ip -o -6 addr show dev ygg0 scope global | grep -v tentative | wc -l` -ge 1 ]");
-      my $carolIp6 = (split /[ \/]+/, $carol->succeed("ip -o -6 addr show dev ygg0 scope global"))[3];
+      ip_addr_show = "ip -o -6 addr show dev ygg0 scope global"
+      carol.wait_until_succeeds(f"[ `{ip_addr_show} | grep -v tentative | wc -l` -ge 1 ]")
+      carol_ip6 = re.split(" +|/", carol.succeed(ip_addr_show))[3]
 
       # If Alice can talk to Carol, then Bob's outbound peering and Carol's
       # local peering have succeeded and everybody is connected.
-      $alice->waitUntilSucceeds("ping -c 1 $carolIp6");
-      $alice->succeed("ping -c 1 ${bobIp6}");
-
-      $bob->succeed("ping -c 1 ${aliceIp6}");
-      $bob->succeed("ping -c 1 $carolIp6");
+      alice.wait_until_succeeds(f"ping -c 1 {carol_ip6}")
+      alice.succeed(f"ping -c 1 ${bobIp6}")
 
-      $carol->succeed("ping -c 1 ${aliceIp6}");
-      $carol->succeed("ping -c 1 ${bobIp6}");
+      bob.succeed("ping -c 1 ${aliceIp6}")
+      bob.succeed(f"ping -c 1 {carol_ip6}")
 
-      $carol->fail("journalctl -u dhcpcd | grep ygg0");
+      carol.succeed("ping -c 1 ${aliceIp6}")
+      carol.succeed("ping -c 1 ${bobIp6}")
 
-      $alice->waitForUnit("httpd.service");
-      $carol->succeed("curl --fail -g http://[${aliceIp6}]");
+      carol.fail("journalctl -u dhcpcd | grep ygg0")
 
+      alice.wait_for_unit("httpd.service")
+      carol.succeed("curl --fail -g http://[${aliceIp6}]")
     '';
 })
diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix
index 11434c0b3498..2fd3e5c27fe7 100644
--- a/pkgs/applications/audio/audacity/default.nix
+++ b/pkgs/applications/audio/audacity/default.nix
@@ -7,12 +7,12 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "2.3.2";
+  version = "2.3.3";
   pname = "audacity";
 
   src = fetchzip {
     url = "https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz";
-    sha256 = "08w96124vv8k4myd4vifq73ningq6404x889wvg2sk016kc4dfv1";
+    sha256 = "0ddc03dbm4ixy877czmwd03fpjgr3y68bxfgb6n2q6cv4prp30ig";
   };
 
   preConfigure = /* we prefer system-wide libs */ ''
diff --git a/pkgs/applications/audio/avldrums-lv2/default.nix b/pkgs/applications/audio/avldrums-lv2/default.nix
index 7ca5d83b48b2..eeb0f67d1937 100644
--- a/pkgs/applications/audio/avldrums-lv2/default.nix
+++ b/pkgs/applications/audio/avldrums-lv2/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "avldrums.lv2";
-  version = "0.3.5";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "x42";
     repo = pname;
     rev = "v${version}";
-    sha256 = "00n2varc7iwp0xbfi45hpq4vlpxxb2kbrdzvrc20qp2265994bqf";
+    sha256 = "1z70rcq6z3gkb4fm8dm9hs31bslwr97zdh2n012fzki9b9rdj5qv";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/audio/bsequencer/default.nix b/pkgs/applications/audio/bsequencer/default.nix
index e4ac2fbbcdc2..b91554f5716e 100644
--- a/pkgs/applications/audio/bsequencer/default.nix
+++ b/pkgs/applications/audio/bsequencer/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "BSEQuencer";
-  version = "0.4";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "sjaehn";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "0c3bm2z6z2bjjv1cy50383zr81h99rcb2frmxad0r7lhi27mjyqn";
+    rev = "${version}";
+    sha256 = "08xwz5v8wrar0rx7qdr9pkpjz2k9sw6bn5glhpn6sp6453fabf8q";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/audio/bslizr/default.nix b/pkgs/applications/audio/bslizr/default.nix
index 8fbac6daf466..3273d7de68c2 100644
--- a/pkgs/applications/audio/bslizr/default.nix
+++ b/pkgs/applications/audio/bslizr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "BSlizr";
-  version = "1.2.0";
+  version = "1.2.2";
 
   src = fetchFromGitHub {
     owner = "sjaehn";
     repo = pname;
     rev = "${version}";
-    sha256 = "1xqhpppfj47nzmyksbqgfvvi5j807g96hqla544w2f752zz4yi0s";
+    sha256 = "0q92ygz17iiriwzqylmaxd5ml2bhqy3n6c3f7g71n4hn9z3bl3s1";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/audio/denemo/default.nix b/pkgs/applications/audio/denemo/default.nix
index 331e3fb96989..f3adec4fece2 100644
--- a/pkgs/applications/audio/denemo/default.nix
+++ b/pkgs/applications/audio/denemo/default.nix
@@ -2,7 +2,7 @@
 , libjack2, gettext, intltool, guile_2_0, lilypond
 , glib, libxml2, librsvg, libsndfile, aubio
 , gtk3, gtksourceview, evince, fluidsynth, rubberband
-, portaudio, portmidi, fftw, makeWrapper }:
+, portaudio, portmidi, fftw, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "denemo";
@@ -14,17 +14,21 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    libjack2 gettext guile_2_0 lilypond pkgconfig glib libxml2 librsvg libsndfile
+    libjack2 guile_2_0 lilypond glib libxml2 librsvg libsndfile
     aubio gtk3 gtksourceview evince fluidsynth rubberband portaudio fftw portmidi
-    makeWrapper
   ];
 
-  postInstall = ''
-    wrapProgram $out/bin/denemo --prefix PATH : ${lilypond}/bin
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix PATH : "${lilypond}/bin"
+    )
   '';
 
   nativeBuildInputs = [
+    wrapGAppsHook
     intltool
+    gettext
+    pkgconfig
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/ensemble-chorus/default.nix b/pkgs/applications/audio/ensemble-chorus/default.nix
new file mode 100644
index 000000000000..5940203d04d1
--- /dev/null
+++ b/pkgs/applications/audio/ensemble-chorus/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, fltk, alsaLib, freetype, libXrandr, libXinerama, libXcursor, lv2, libjack2, cmake, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  pname = "ensemble-chorus";
+  version = "unstable-15-02-2019";
+
+  src = fetchFromGitHub {
+    owner = "jpcima";
+    repo = pname;
+    rev = "59baeb86b8851f521bc8162e22e3f15061662cc3";
+    sha256 = "0c1y10vyhrihcjvxqpqf6b52yk5yhwh813cfp6nla5ax2w88dbhr";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  buildInputs = [
+    fltk alsaLib freetype libXrandr libXinerama libXcursor lv2 libjack2
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/jpcima/ensemble-chorus;
+    description = "Digital model of electronic string ensemble chorus";
+    maintainers = [ maintainers.magnetophon ];
+    platforms = platforms.linux;
+    license = licenses.boost;
+  };
+}
diff --git a/pkgs/applications/audio/giada/default.nix b/pkgs/applications/audio/giada/default.nix
new file mode 100644
index 000000000000..3c32365b97f5
--- /dev/null
+++ b/pkgs/applications/audio/giada/default.nix
@@ -0,0 +1,43 @@
+{ lib, stdenv, fetchFromGitHub, autoreconfHook,
+  fltk, jansson, rtmidi, libsamplerate, libsndfile,
+  jack2, alsaLib, libpulseaudio,
+  libXpm, libXinerama, libXcursor }:
+
+stdenv.mkDerivation rec {
+  pname = "giada";
+  version = "0.15.4";
+
+  src = fetchFromGitHub {
+    owner = "monocasual";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0a5lqzxs417alpjr42q5197v6dwgrc74434znszk4lfhivr88p8v";
+  };
+
+  configureFlags = [ "--target=linux" ];
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+  buildInputs = [
+    fltk
+    libsndfile
+    libsamplerate
+    jansson
+    rtmidi
+    libXpm
+    jack2
+    alsaLib
+    libpulseaudio
+    libXinerama
+    libXcursor
+  ];
+
+  meta = with lib; {
+    description = "A free, minimal, hardcore audio tool for DJs, live performers and electronic musicians";
+    homepage = "https://giadamusic.com/";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ petabyteboy ];
+    platforms = platforms.all;
+    broken = stdenv.hostPlatform.isAarch64; # produces build failure on aarch64-linux
+  };
+}
diff --git a/pkgs/applications/audio/gnome-podcasts/default.nix b/pkgs/applications/audio/gnome-podcasts/default.nix
index eeafdc80344d..7a44ebe67694 100644
--- a/pkgs/applications/audio/gnome-podcasts/default.nix
+++ b/pkgs/applications/audio/gnome-podcasts/default.nix
@@ -1,45 +1,74 @@
-{ stdenv, fetchurl, fetchpatch, meson, ninja, gettext, cargo, rustc, python3, pkgconfig, gnome3
-, glib, libhandy, gtk3, dbus, openssl, sqlite, gst_all_1, wrapGAppsHook }:
+{ stdenv
+, rustPlatform
+, fetchFromGitLab
+, fetchpatch
+, meson
+, ninja
+, gettext
+, cargo
+, rustc
+, python3
+, pkgconfig
+, gnome3
+, glib
+, libhandy
+, gtk3
+, dbus
+, openssl
+, sqlite
+, gst_all_1
+, wrapGAppsHook
+}:
 
-# TODO: build from git for easier updates
-# rustPlatform.buildRustPackage rec {
-stdenv.mkDerivation {
-  version = "0.4.6";
+rustPlatform.buildRustPackage rec {
+  version = "0.4.7";
   pname = "gnome-podcasts";
 
-  src = fetchurl {
-    url = https://gitlab.gnome.org/World/podcasts/uploads/e59ac5d618d7daf4c7f33ba72957c466/gnome-podcasts-0.4.6.tar.xz;
-    sha256 = "0g2rk3w251fp5jwbxs5ya1adv8nsgdqjy1vmfg8qqab6qyndhbrc";
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "World";
+    repo = "podcasts";
+    rev = version;
+    sha256 = "0vy5i77bv8c22ldhrnr4z6kx22zqnb1lg3s7y8673bqjgd7dppi0";
   };
 
-  patches = [
-    # podcasts-data would fail to build because it errors on warnings
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/World/podcasts/commit/7dc1b25ee7fc59a188312d31b1fa00c3110ae63e.patch";
-      sha256 = "03ibbh1snk1391vnni529agqs14lzg5g0axjgpf3gn8dwwh1yvd5";
-    })
-  ];
-
-  # src = fetchFromGitLab {
-  #   domain = "gitlab.gnome.org";
-  #   owner = "World";
-  #   repo = "podcasts";
-  #   rev = version;
-  #   sha256 = "15xj98dhxvys0cnya9488qsfsm0ys1wy69wkc39z8j6hwdm7byq2";
-  # };
+  cargoSha256 = "1h0n8zclb8a1b1ri83viiwwzlj3anm38m4cp38aqyf6q40qga35q";
 
   nativeBuildInputs = [
-    meson ninja pkgconfig gettext cargo rustc python3 wrapGAppsHook
+    meson
+    ninja
+    pkgconfig
+    gettext
+    cargo
+    rustc
+    python3
+    wrapGAppsHook
   ];
+
   buildInputs = [
-    glib gtk3 libhandy dbus openssl sqlite gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-bad
+    glib
+    gtk3
+    libhandy
+    dbus
+    openssl
+    sqlite
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-bad
   ];
 
-  # cargoSha256 = "0721b5f700vvvzvmdl8nfjaa6j412q1fjssgrjv8n6rmn9z13d2v";
+  # use Meson/Ninja phases
+  configurePhase = null;
+  buildPhase = null;
+  checkPhase = null;
+  installPhase = null;
+
+  # tests require network
+  doCheck = false;
 
   postPatch = ''
     chmod +x scripts/compile-gschema.py # patchShebangs requires executable file
-    patchShebangs scripts/compile-gschema.py
+    patchShebangs scripts/compile-gschema.py scripts/cargo.sh scripts/test.sh
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/gxmatcheq-lv2/default.nix b/pkgs/applications/audio/gxmatcheq-lv2/default.nix
new file mode 100644
index 000000000000..1d5579d74c05
--- /dev/null
+++ b/pkgs/applications/audio/gxmatcheq-lv2/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub, xorg, xorgproto, cairo, lv2, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  pname = "GxMatchEQ.lv2";
+  version = "0.1";
+
+  src = fetchFromGitHub {
+    owner = "brummer10";
+    repo = pname;
+    rev = "V${version}";
+    sha256 = "0azdmgzqwjn26nx38iw13666a1i4y2bv39wk89pf6ihdi46klf72";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [
+    xorg.libX11 xorgproto cairo lv2
+  ];
+
+  # error: format not a string literal and no format arguments [-Werror=format-security]
+  hardeningDisable = [ "format" ];
+
+  installFlags = [ "INSTALL_DIR=$(out)/lib/lv2" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/brummer10/GxMatchEQ.lv2;
+    description = "Matching Equalizer to apply EQ curve from one source to another source";
+    maintainers = [ maintainers.magnetophon ];
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/applications/audio/helm/default.nix b/pkgs/applications/audio/helm/default.nix
index 64de722afe9e..428490e119a6 100644
--- a/pkgs/applications/audio/helm/default.nix
+++ b/pkgs/applications/audio/helm/default.nix
@@ -1,5 +1,5 @@
-  { stdenv, fetchFromGitHub , xorg, freetype, alsaLib, curl, libjack2
-  , lv2, pkgconfig, libGLU_combined }:
+{ stdenv, fetchFromGitHub , xorg, freetype, alsaLib, curl, libjack2
+, lv2, pkgconfig, libGLU, libGL }:
 
   stdenv.mkDerivation {
   version = "0.9.0";
@@ -15,7 +15,7 @@
   buildInputs = [
     xorg.libX11 xorg.libXcomposite xorg.libXcursor xorg.libXext
     xorg.libXinerama xorg.libXrender xorg.libXrandr
-    freetype alsaLib curl libjack2 pkgconfig libGLU_combined lv2
+    freetype alsaLib curl libjack2 pkgconfig libGLU libGL lv2
   ];
 
   CXXFLAGS = "-DHAVE_LROUND";
diff --git a/pkgs/applications/audio/jack-oscrolloscope/default.nix b/pkgs/applications/audio/jack-oscrolloscope/default.nix
index d31bc981e0cb..5bad5453504f 100644
--- a/pkgs/applications/audio/jack-oscrolloscope/default.nix
+++ b/pkgs/applications/audio/jack-oscrolloscope/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, SDL, libjack2, libGLU_combined, pkgconfig }:
+{ stdenv, fetchurl, SDL, libjack2, libGLU, libGL, pkgconfig }:
 
 stdenv.mkDerivation rec {
   pname = "jack_oscrolloscope";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ SDL libjack2 libGLU_combined ];
+  buildInputs = [ SDL libjack2 libGLU libGL ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/applications/audio/lmms/default.nix b/pkgs/applications/audio/lmms/default.nix
index d22065eb9fe0..99503fc3942b 100644
--- a/pkgs/applications/audio/lmms/default.nix
+++ b/pkgs/applications/audio/lmms/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig, alsaLib ? null, fftwFloat, fltk13
 , fluidsynth_1 ? null, lame ? null, libgig ? null, libjack2 ? null, libpulseaudio ? null
 , libsamplerate, libsoundio ? null, libsndfile, libvorbis ? null, portaudio ? null
-, qtbase, qtx11extras, qttools, SDL ? null }:
+, qtbase, qtx11extras, qttools, SDL ? null, mkDerivation }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "lmms";
   version = "1.2.0-rc7";
 
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
     description = "DAW similar to FL Studio (music production software)";
     homepage = https://lmms.io;
     license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" "i686-linux" ];
     maintainers = with maintainers; [ goibhniu yegortimoshenko ];
   };
 }
diff --git a/pkgs/applications/audio/mda-lv2/default.nix b/pkgs/applications/audio/mda-lv2/default.nix
index 901be5a23d08..61f2bc33f7f7 100644
--- a/pkgs/applications/audio/mda-lv2/default.nix
+++ b/pkgs/applications/audio/mda-lv2/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mda-lv2";
-  version = "1.2.2";
+  version = "1.2.4";
 
   src = fetchurl {
     url = "https://download.drobilla.net/${pname}-${version}.tar.bz2";
-    sha256 = "0hh40c5d2m0k5gb3vw031l6lqn59dg804an3mkmhkc7qv4gc6xm4";
+    sha256 = "1a3cv6w5xby9yn11j695rbh3c4ih7rxfxmkca9s1324ljphh06m8";
   };
 
   nativeBuildInputs = [ pkgconfig wafHook ];
diff --git a/pkgs/applications/audio/meters_lv2/default.nix b/pkgs/applications/audio/meters_lv2/default.nix
index a2368017cc1e..12383dcbbda4 100644
--- a/pkgs/applications/audio/meters_lv2/default.nix
+++ b/pkgs/applications/audio/meters_lv2/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig
-, lv2, libGLU_combined, gtk2, cairo, pango, fftwFloat, libjack2 }:
+, lv2, libGLU, libGL, gtk2, cairo, pango, fftwFloat, libjack2 }:
 
 let
   version = "0.9.10";
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
   inherit name;
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ lv2 libGLU_combined gtk2 cairo pango fftwFloat libjack2 ];
+  buildInputs = [ lv2 libGLU libGL gtk2 cairo pango fftwFloat libjack2 ];
 
   srcs = [ src robtkSrc ];
   sourceRoot = name;
diff --git a/pkgs/applications/audio/mpc/default.nix b/pkgs/applications/audio/mpc/default.nix
index 9a273299297e..1e8d73ce560f 100644
--- a/pkgs/applications/audio/mpc/default.nix
+++ b/pkgs/applications/audio/mpc/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, mpd_clientlib, sphinx }:
+{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, mpd_clientlib, sphinx, libiconv }:
 
 stdenv.mkDerivation rec {
   pname = "mpc";
-  version = "0.31";
+  version = "0.33";
 
   src = fetchFromGitHub {
     owner  = "MusicPlayerDaemon";
     repo   = "mpc";
     rev    = "v${version}";
-    sha256 = "06wn5f24bgkqmhh2p8rbizmqibzqr4x1q7c6zl0pfq7mdy49g5ds";
+    sha256 = "1qbi0i9cq54rj8z2kapk8x8g1jkw2jz781niwb9i7kw4xfhvy5zx";
   };
 
-  buildInputs = [ mpd_clientlib ];
+  buildInputs = [ mpd_clientlib ] ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv ];
 
   nativeBuildInputs = [ meson ninja pkgconfig sphinx ];
 
diff --git a/pkgs/applications/audio/ncmpc/default.nix b/pkgs/applications/audio/ncmpc/default.nix
index db788dcc9eb2..58eb5462ef84 100644
--- a/pkgs/applications/audio/ncmpc/default.nix
+++ b/pkgs/applications/audio/ncmpc/default.nix
@@ -1,5 +1,12 @@
 { stdenv, fetchFromGitHub, meson, ninja, pkgconfig, glib, ncurses
-, mpd_clientlib, gettext, boost }:
+, mpd_clientlib, gettext, boost
+, pcreSupport ? false
+, pcre ? null
+}:
+
+with stdenv.lib;
+
+assert pcreSupport -> pcre != null;
 
 stdenv.mkDerivation rec {
   pname = "ncmpc";
@@ -12,14 +19,14 @@ stdenv.mkDerivation rec {
     sha256 = "1ssmk1p43gjhcqi86sh6b7csqpwwpf3hs32cmnylv6pmbcwbs69h";
   };
 
-  buildInputs = [ glib ncurses mpd_clientlib boost ];
+  buildInputs = [ glib ncurses mpd_clientlib boost ]
+    ++ optional pcreSupport pcre;
   nativeBuildInputs = [ meson ninja pkgconfig gettext ];
 
   mesonFlags = [
     "-Dlirc=disabled"
-    "-Dregex=disabled"
     "-Ddocumentation=disabled"
-  ];
+  ] ++ optional (!pcreSupport) "-Dregex=disabled";
 
   meta = with stdenv.lib; {
     description = "Curses-based interface for MPD (music player daemon)";
diff --git a/pkgs/applications/audio/ncspot/default.nix b/pkgs/applications/audio/ncspot/default.nix
index 63ae9278c5d3..136f6fc1427d 100644
--- a/pkgs/applications/audio/ncspot/default.nix
+++ b/pkgs/applications/audio/ncspot/default.nix
@@ -11,17 +11,17 @@ let
     ++ lib.optional withPortAudio "portaudio_backend";
 in
 rustPlatform.buildRustPackage rec {
-  pname = "ncspot-unstable";
-  version = "2019-10-12";
+  pname = "ncspot";
+  version = "0.1.1";
 
   src = fetchFromGitHub {
     owner = "hrkfdn";
     repo = "ncspot";
-    rev = "4defded54646958268a20787917e4721ae96407d";
-    sha256 = "1w3cmilwjzk3pfnq97qgz6hzxgjgi27dm8jq7maw87qyl3v17gyg";
+    rev = "v${version}";
+    sha256 = "0ldisr45w6ys1j62qv99ssqfg5q9dwrrzxh2maggyrx1zqdlsk6m";
   };
 
-  cargoSha256 = "1w1fk39pragfy2i2myw99mqf63w6fw4nr2kri8ily2iqc6g9xpgw";
+  cargoSha256 = "0k765hinqxfm30li1z66m1chsv69v6hiz109q2zlkxzg937qbnjh";
 
   cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ];
 
diff --git a/pkgs/applications/audio/noise-repellent/default.nix b/pkgs/applications/audio/noise-repellent/default.nix
new file mode 100644
index 000000000000..146e13f34de1
--- /dev/null
+++ b/pkgs/applications/audio/noise-repellent/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, fftwFloat, lv2 }:
+
+stdenv.mkDerivation rec {
+  pname = "noise-repellent";
+  version = "unstable-2018-12-29";
+
+  src = fetchFromGitHub {
+    owner = "lucianodato";
+    repo = pname;
+    rev = "9efdd0b41ec184a792087c87cbf5382f455e33ec";
+    sha256 = "0pn9cxapfvb5l62q86bchyfll1290vi0rhrzarb1jpc4ix7kz53c";
+    fetchSubmodules = true;
+  };
+
+  mesonFlags = ("--prefix=${placeholder "out"}/lib/lv2");
+
+  nativeBuildInputs = [ meson ninja pkgconfig ];
+  buildInputs = [
+    fftwFloat lv2
+  ];
+
+  meta = with stdenv.lib; {
+    description = "An lv2 plugin for broadband noise reduction";
+    homepage    = https://github.com/lucianodato/noise-repellent;
+    license     = licenses.gpl3;
+    maintainers = [ maintainers.magnetophon ];
+    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "i686-darwin"  ];
+  };
+}
diff --git a/pkgs/applications/audio/pianobooster/default.nix b/pkgs/applications/audio/pianobooster/default.nix
index 448b219a1afa..fee456ae717c 100644
--- a/pkgs/applications/audio/pianobooster/default.nix
+++ b/pkgs/applications/audio/pianobooster/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, alsaLib, cmake, libGLU_combined, makeWrapper, qt4 }:
+{ stdenv, fetchurl, alsaLib, cmake, libGLU, libGL, makeWrapper, qt4 }:
 
 stdenv.mkDerivation  {
   pname = "pianobooster";
@@ -16,12 +16,13 @@ stdenv.mkDerivation  {
 
   preConfigure = "cd src";
 
-  buildInputs = [ alsaLib cmake makeWrapper libGLU_combined qt4 ];
+  buildInputs = [ alsaLib cmake makeWrapper libGLU libGL qt4 ];
   NIX_LDFLAGS = [ "-lGL" "-lpthread" ];
 
   postInstall = ''
     wrapProgram $out/bin/pianobooster \
-      --prefix LD_LIBRARY_PATH : ${libGLU_combined}/lib
+      --prefix LD_LIBRARY_PATH : ${libGL}/lib \
+      --prefix LD_LIBRARY_PATH : ${libGLU}/lib
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/picard/default.nix b/pkgs/applications/audio/picard/default.nix
index dc1118f47e04..b40ab6d4f7a5 100644
--- a/pkgs/applications/audio/picard/default.nix
+++ b/pkgs/applications/audio/picard/default.nix
@@ -4,13 +4,13 @@ let
   pythonPackages = python3Packages;
 in pythonPackages.buildPythonApplication rec {
   pname = "picard";
-  version = "2.2.2";
+  version = "2.2.3";
 
   src = fetchFromGitHub {
     owner = "metabrainz";
     repo = pname;
     rev = "release-${version}";
-    sha256 = "1iibkvwpj862wcrl0fmyi6qhcgx4q5ay63yr0zyg0bkqgcka0gpr";
+    sha256 = "0lb4pzl03mr5hrzrzva99rxqd5yfip62b7sjmlg4j0imw8mxaj16";
   };
 
   nativeBuildInputs = [ gettext qt5.wrapQtAppsHook qt5.qtbase ];
diff --git a/pkgs/applications/audio/qtractor/default.nix b/pkgs/applications/audio/qtractor/default.nix
index dee9b8f20c89..46dafb72c412 100644
--- a/pkgs/applications/audio/qtractor/default.nix
+++ b/pkgs/applications/audio/qtractor/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "qtractor";
-  version = "0.9.10";
+  version = "0.9.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "00fj762qdna4bm8hshdhkwfa48s01bi5sk4f030rfk77mivl09jk";
+    sha256 = "02cpjlf3j4sm74hz88r1frnlycs52rs11mzplr2q8plji3ic5w50";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/reaper/default.nix b/pkgs/applications/audio/reaper/default.nix
index 3b780ee2b362..236c42b52930 100644
--- a/pkgs/applications/audio/reaper/default.nix
+++ b/pkgs/applications/audio/reaper/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "reaper";
-  version = "5.984";
+  version = "5.987";
 
   src = fetchurl {
     url = "https://www.reaper.fm/files/${stdenv.lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_x86_64.tar.xz";
-    sha256 = "01yy0s9b9mkl6v66vgdfxl2zhr36abridih1d4ajbrdn60vppykw";
+    sha256 = "040k5inzj7mmi75fc6hr0ym18y5xss1675bl5rmhn4sq535m289k";
   };
 
   nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
diff --git a/pkgs/applications/audio/setbfree/default.nix b/pkgs/applications/audio/setbfree/default.nix
index 6d5944b7aff2..5a90ee659478 100644
--- a/pkgs/applications/audio/setbfree/default.nix
+++ b/pkgs/applications/audio/setbfree/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchzip, alsaLib, freetype, ftgl, libjack2, libX11, lv2
-, libGLU_combined, pkgconfig, ttf_bitstream_vera
+, libGLU, libGL, pkgconfig, ttf_bitstream_vera
 }:
 
 stdenv.mkDerivation  rec {
@@ -19,7 +19,7 @@ stdenv.mkDerivation  rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    alsaLib freetype ftgl libjack2 libX11 lv2 libGLU_combined
+    alsaLib freetype ftgl libjack2 libX11 lv2 libGLU libGL
     ttf_bitstream_vera
   ];
 
diff --git a/pkgs/applications/audio/sisco.lv2/default.nix b/pkgs/applications/audio/sisco.lv2/default.nix
index 32cfd0f74940..f95655f5e9a3 100644
--- a/pkgs/applications/audio/sisco.lv2/default.nix
+++ b/pkgs/applications/audio/sisco.lv2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, lv2, pkgconfig, libGLU_combined, cairo, pango, libjack2 }:
+{ stdenv, fetchFromGitHub, lv2, pkgconfig, libGLU, libGL, cairo, pango, libjack2 }:
 
 let
   name = "sisco.lv2-${version}";
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   sourceRoot = src.name;
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ lv2 pango cairo libjack2 libGLU_combined ];
+  buildInputs = [ lv2 pango cairo libjack2 libGLU libGL ];
 
   postUnpack = "chmod u+w -R ${robtkName}-src; mv ${robtkName}-src/* ${sourceRoot}/robtk";
   sisco_VERSION = version;
diff --git a/pkgs/applications/audio/soundscape-renderer/default.nix b/pkgs/applications/audio/soundscape-renderer/default.nix
index 30ff41da3695..5b5f01eef5cc 100644
--- a/pkgs/applications/audio/soundscape-renderer/default.nix
+++ b/pkgs/applications/audio/soundscape-renderer/default.nix
@@ -11,7 +11,7 @@
 , boost
 , ecasound
 , glibcLocales
-, libGLU_combined # Needed because help2man basically does a ./ssr-binaural  --help and ssr-binaural needs libGL
+, libGLU, libGL # Needed because help2man basically does a ./ssr-binaural  --help and ssr-binaural needs libGL
 }:
 
 stdenv.mkDerivation {
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
   LC_ALL = "en_US.UTF-8";
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ boost boost.dev ecasound libGLU_combined help2man libsndfile fftwFloat libjack2 libxml2 qt4 glibcLocales ];
+  buildInputs = [ boost boost.dev ecasound libGLU libGL help2man libsndfile fftwFloat libjack2 libxml2 qt4 glibcLocales ];
 
   # 1) Fix detecting version. https://github.com/SoundScapeRenderer/ssr/pull/53
   # 2) Make it find ecasound headers
diff --git a/pkgs/applications/audio/spotify-tui/default.nix b/pkgs/applications/audio/spotify-tui/default.nix
index a73a46a7cb07..bd4aaf5a2d63 100644
--- a/pkgs/applications/audio/spotify-tui/default.nix
+++ b/pkgs/applications/audio/spotify-tui/default.nix
@@ -1,23 +1,22 @@
-{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl, Security }:
+{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl, python3, libxcb, AppKit, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "spotify-tui";
-  version = "0.8.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "Rigellute";
     repo = "spotify-tui";
     rev = "v${version}";
-    sha256 = "0pgmcld48sd34jpsc4lr8dbqs8iwk0xp9aa3b15m61mv3lf04qc6";
+    sha256 = "10wrlfi50lsf6qjsi9qklw2mk2fbf0jib7f841v842l9k9zw0hrg";
   };
 
-  cargoSha256 = "1rb4dl9zn3xx2yrapx5cfsli93ggmdq8w9fqi8cy8giyja1mnqfl";
+  cargoSha256 = "140m3pryvbc96xvl5ymz68msrx93rmvvy0y8skvc40yxwl401inc";
 
-  cargoPatches = [ ./fix-cargo-lock-version.patch ];
-
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig python3 ];
   buildInputs = [ openssl ]
-    ++ stdenv.lib.optional stdenv.isDarwin Security;
+  	++ stdenv.lib.optional stdenv.isLinux libxcb
+    ++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Security ];
 
   meta = with stdenv.lib; {
     description = "Spotify for the terminal written in Rust";
diff --git a/pkgs/applications/audio/spotify-tui/fix-cargo-lock-version.patch b/pkgs/applications/audio/spotify-tui/fix-cargo-lock-version.patch
deleted file mode 100644
index d38c6890033b..000000000000
--- a/pkgs/applications/audio/spotify-tui/fix-cargo-lock-version.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git i/Cargo.lock w/Cargo.lock
-index e1eae72..e004898 100644
---- i/Cargo.lock
-+++ w/Cargo.lock
-@@ -1310,7 +1310,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
- 
- [[package]]
- name = "spotify-tui"
--version = "0.7.5"
-+version = "0.8.0"
- dependencies = [
-  "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)",
-  "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
diff --git a/pkgs/applications/audio/spotifyd/default.nix b/pkgs/applications/audio/spotifyd/default.nix
index d420d1a67095..36ab017c5cbb 100644
--- a/pkgs/applications/audio/spotifyd/default.nix
+++ b/pkgs/applications/audio/spotifyd/default.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "spotifyd";
-  version = "0.2.19";
+  version = "0.2.20";
 
   src = fetchFromGitHub {
     owner = "Spotifyd";
     repo = "spotifyd";
     rev = "v${version}";
-    sha256 = "063b28ysj224m6ngns9i574i7vnp1x4g07cqjw908ch04yngcg1c";
+    sha256 = "1hf4wpk7r0s4jpjhxaz67y1hd8jx9ns5imd85r3cdg4lxf3j5gph";
   };
 
-  cargoSha256 = "0pqxqd5dyw9mjclrqkxzfnzsz74xl4bg0b86v5q6kc0a91zd49b9";
+  cargoSha256 = "1h3fis47hmxvppiv1icjhgp48nd46gayfcmzfjs34q6jask90n0w";
 
   cargoBuildFlags = [
     "--no-default-features"
@@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec {
     description = "An open source Spotify client running as a UNIX daemon";
     homepage = "https://github.com/Spotifyd/spotifyd";
     license = with licenses; [ gpl3 ];
-    maintainers = [ maintainers.anderslundstedt maintainers.marsam ];
+    maintainers = with maintainers; [ anderslundstedt filalex77 marsam ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/audio/stone-phaser/default.nix b/pkgs/applications/audio/stone-phaser/default.nix
new file mode 100644
index 000000000000..6e64ebc7fb3e
--- /dev/null
+++ b/pkgs/applications/audio/stone-phaser/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, xorg, cairo, lv2, libjack2, mesa, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  pname = "stone-phaser";
+  version = "0.1.2";
+
+  src = fetchFromGitHub {
+    owner = "jpcima";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "180b32z8h9zi8p0q55r1dzxfckamnngm52zjypjjvvy7qdj3mfcd";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [
+    xorg.libX11 cairo lv2 libjack2 mesa
+  ];
+
+  postPatch = ''
+    patch -d dpf -p 1 -i "$src/resources/patch/DPF-bypass.patch"
+    patchShebangs ./dpf/utils/generate-ttl.sh
+  '';
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/jpcima/stone-phaser;
+    description = "A classic analog phaser effect, made with DPF and Faust";
+    maintainers = [ maintainers.magnetophon ];
+    platforms = platforms.linux;
+    license = licenses.boost;
+  };
+}
diff --git a/pkgs/applications/audio/strawberry/default.nix b/pkgs/applications/audio/strawberry/default.nix
index c62eba998452..07e7bb84c565 100644
--- a/pkgs/applications/audio/strawberry/default.nix
+++ b/pkgs/applications/audio/strawberry/default.nix
@@ -22,7 +22,7 @@
 , libpulseaudio ? null
 , libselinux ? null
 , libsepol ? null
-, p11_kit ? null
+, p11-kit ? null
 , utillinux ? null
 , qtbase
 , qtx11extras
@@ -35,13 +35,13 @@
 
 mkDerivation rec {
   pname = "strawberry";
-  version = "0.6.5";
+  version = "0.6.7";
 
   src = fetchFromGitHub {
     owner = "jonaski";
     repo = pname;
     rev = version;
-    sha256 = "1kqx0q99n1p5pm6skvqjihz11byhxdid1qw6gqp67dh2na62z1lm";
+    sha256 = "14bw4hmysrbl4havz03s3wl8bv76380wddf5zzrjvfjjpwn333r6";
   };
 
   buildInputs = [
@@ -66,7 +66,7 @@ mkDerivation rec {
     libpulseaudio
     libselinux
     libsepol
-    p11_kit
+    p11-kit
     utillinux
   ]
   ++ lib.optionals withGstreamer (with gst_all_1; [
@@ -93,7 +93,7 @@ mkDerivation rec {
     changelog = "https://raw.githubusercontent.com/jonaski/strawberry/${version}/Changelog";
     license = licenses.gpl3;
     maintainers = with maintainers; [ peterhoeg ];
-    # upstream says darwin should work but they lack maintainers as of 0.6.5
+    # upstream says darwin should work but they lack maintainers as of 0.6.6
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/vcv-rack/default.nix b/pkgs/applications/audio/vcv-rack/default.nix
index 1beb68a3af30..c0bbd6e71db3 100644
--- a/pkgs/applications/audio/vcv-rack/default.nix
+++ b/pkgs/applications/audio/vcv-rack/default.nix
@@ -3,17 +3,10 @@
 , libzip, rtaudio, rtmidi, speex, libsamplerate }:
 
 let
-  glfw-git = glfw.overrideAttrs (oldAttrs: rec {
-    name = "glfw-git-${version}";
-    version = "2019-06-30";
-    src = fetchFromGitHub {
-      owner = "glfw";
-      repo = "glfw";
-      rev = "d25248343e248337284dfbe5ecd1eddbd37ae66d";
-      sha256 = "0gbz353bfmqbpm0af2nqf5draz3k4f3lqwiqj68s8nwn7878aqm3";
-    };
-    buildInputs = oldAttrs.buildInputs ++ [ libXext libXi ];
-  });
+  # The package repo vendors some of the package dependencies as submodules.
+  # Others are downloaded with `make deps`. Due to previous issues with the
+  # `glfw` submodule (see above) and because we can not access the network when
+  # building in a sandbox, we fetch the dependency source manually.
   pfft-source = fetchFromBitbucket {
     owner = "jpommier";
     repo = "pffft";
@@ -47,24 +40,22 @@ let
 in
 with stdenv.lib; stdenv.mkDerivation rec {
   pname = "VCV-Rack";
-  version = "1.1.5";
+  version = "1.1.6";
 
   src = fetchFromGitHub {
     owner = "VCVRack";
     repo = "Rack";
     rev = "v${version}";
-    sha256 = "1g3mkghgiycbxyvzjhanc1b10jynkfkw03bpnha06qgd6gd9wv7k";
+    sha256 = "0ji64prr74qzxf5bx1sw022kbslx9nzll16lmk5in78hbl137b3i";
   };
 
   patches = [
     ./rack-minimize-vendoring.patch
-    # We patch out a call to a custom function, that is not needed on Linux.
-    # This avoids needing a patched version of glfw. The version we previously used disappeared
-    # on GitHub. See https://github.com/NixOS/nixpkgs/issues/71189
-    ./remove-custom-glfw-function.patch
   ];
 
   prePatch = ''
+    # As we can't use `make dep` to set up the dependencies (as explained
+    # above), we do it here manually
     mkdir -p dep/include
 
     cp -r ${pfft-source} dep/jpommier-pffft-source
@@ -86,7 +77,7 @@ with stdenv.lib; stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ makeWrapper pkgconfig ];
-  buildInputs = [ glfw-git alsaLib curl glew gtk2-x11 jansson libjack2 libzip rtaudio rtmidi speex libsamplerate ];
+  buildInputs = [ alsaLib curl glew glfw gtk2-x11 jansson libjack2 libsamplerate libzip rtaudio rtmidi speex ];
 
   buildFlags = "Rack";
 
diff --git a/pkgs/applications/audio/vcv-rack/remove-custom-glfw-function.patch b/pkgs/applications/audio/vcv-rack/remove-custom-glfw-function.patch
deleted file mode 100644
index ceb273b81af0..000000000000
--- a/pkgs/applications/audio/vcv-rack/remove-custom-glfw-function.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/src/main.cpp b/src/main.cpp
-index 0954ae6..a8299f7 100644
---- a/src/main.cpp
-+++ b/src/main.cpp
-@@ -162,11 +162,6 @@ int main(int argc, char* argv[]) {
- 	INFO("Initializing app");
- 	appInit();
- 
--	const char* openedFilename = glfwGetOpenedFilename();
--	if (openedFilename) {
--		patchPath = openedFilename;
--	}
--
- 	if (!settings::headless) {
- 		APP->patch->init(patchPath);
- 	}
diff --git a/pkgs/applications/audio/yoshimi/default.nix b/pkgs/applications/audio/yoshimi/default.nix
index b8acaa5a7e49..24620d91ff5a 100644
--- a/pkgs/applications/audio/yoshimi/default.nix
+++ b/pkgs/applications/audio/yoshimi/default.nix
@@ -1,20 +1,20 @@
 { stdenv, fetchurl, alsaLib, boost, cairo, cmake, fftwSinglePrec, fltk, pcre
-, libjack2, libsndfile, libXdmcp, readline, lv2, libGLU_combined, minixml, pkgconfig, zlib, xorg
+, libjack2, libsndfile, libXdmcp, readline, lv2, libGLU, libGL, minixml, pkgconfig, zlib, xorg
 }:
 
 assert stdenv ? glibc;
 
 stdenv.mkDerivation  rec {
   pname = "yoshimi";
-  version = "1.6.0.2";
+  version = "1.6.0.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/yoshimi/${pname}-${version}.tar.bz2";
-    sha256 = "0q2cw168r53r50zghkdqcxba2cybn44axbdkwacvkm7ag2z0j2l8";
+    sha256 = "1z2mnmm299ng6jcwa61dzr1ilwa5fjgsggxl2wa5smji6b4npmx7";
   };
 
   buildInputs = [
-    alsaLib boost cairo fftwSinglePrec fltk libjack2 libsndfile libXdmcp readline lv2 libGLU_combined
+    alsaLib boost cairo fftwSinglePrec fltk libjack2 libsndfile libXdmcp readline lv2 libGLU libGL
     minixml zlib xorg.libpthreadstubs pcre
   ];
 
diff --git a/pkgs/applications/audio/zam-plugins/default.nix b/pkgs/applications/audio/zam-plugins/default.nix
index eeeb8ae2ea44..a8236b4b60f1 100644
--- a/pkgs/applications/audio/zam-plugins/default.nix
+++ b/pkgs/applications/audio/zam-plugins/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit , boost, libX11, libGLU_combined, liblo, libjack2, ladspaH, lv2, pkgconfig, rubberband, libsndfile, fftwFloat, libsamplerate }:
+{ stdenv, fetchgit , boost, libX11, libGL, liblo, libjack2, ladspaH, lv2, pkgconfig, rubberband, libsndfile, fftwFloat, libsamplerate }:
 
 stdenv.mkDerivation {
   pname = "zam-plugins";
@@ -12,16 +12,18 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ boost libX11 libGLU_combined liblo libjack2 ladspaH lv2 rubberband libsndfile fftwFloat libsamplerate ];
+  buildInputs = [ boost libX11 libGL liblo libjack2 ladspaH lv2 rubberband libsndfile fftwFloat libsamplerate ];
 
-  patchPhase = ''
+  postPatch = ''
     patchShebangs ./dpf/utils/generate-ttl.sh
   '';
 
   makeFlags = [
-    "PREFIX=$(out)"
+    "PREFIX=${placeholder ''out''}"
   ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     homepage = http://www.zamaudio.com/?p=976;
     description = "A collection of LV2/LADSPA/VST/JACK audio plugins by ZamAudio";
diff --git a/pkgs/applications/backup/deja-dup/default.nix b/pkgs/applications/backup/deja-dup/default.nix
index 7120a1934f6e..d19314ce9ce1 100644
--- a/pkgs/applications/backup/deja-dup/default.nix
+++ b/pkgs/applications/backup/deja-dup/default.nix
@@ -1,20 +1,46 @@
-{ stdenv, fetchFromGitLab, substituteAll, meson, ninja, pkgconfig, vala_0_40, gettext
-, gnome3, libnotify, itstool, glib, gtk3, libxml2, gnome-online-accounts
-, coreutils, libpeas, libsecret, pcre, libxkbcommon, wrapGAppsHook
-, libpthreadstubs, libXdmcp, epoxy, at-spi2-core, dbus, libgpgerror
-, appstream-glib, desktop-file-utils, duplicity
+{ stdenv
+, fetchFromGitLab
+, substituteAll
+, meson
+, ninja
+, pkgconfig
+, vala
+, gettext
+, gnome3
+, libnotify
+, itstool
+, glib
+, gtk3
+, libxml2
+, gnome-online-accounts
+, coreutils
+, libsoup
+, libsecret
+, pcre
+, libxkbcommon
+, wrapGAppsHook
+, libpthreadstubs
+, libXdmcp
+, epoxy
+, at-spi2-core
+, dbus
+, libgpgerror
+, json-glib
+, appstream-glib
+, desktop-file-utils
+, duplicity
 }:
 
 stdenv.mkDerivation rec {
   pname = "deja-dup";
-  version = "38.3";
+  version = "40.4";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = pname;
     rev = version;
-    sha256 = "1bnvmdlm67k1b6115x75j3nl92x5yl4psq5pna2w6cg9npxdd3fa";
+    sha256 = "0x9z8z1mh1sxi28ilml3pvbc0g6ghcbyiy002rziwwlarxnbwkky";
   };
 
   patches = [
@@ -22,37 +48,55 @@ stdenv.mkDerivation rec {
       src = ./fix-paths.patch;
       inherit coreutils;
     })
+
+    # Hardcode GSettings path for Nautilus extension to avoid crashes from missing schemas
     ./hardcode-gsettings.patch
   ];
 
   postPatch = ''
-    substituteInPlace deja-dup/nautilus/NautilusExtension.c --subst-var-by DEJA_DUP_GSETTINGS_PATH ${glib.makeSchemaPath "$out" "${pname}-${version}"}
+    # substitute variable from hardcode-gsettings.patch
+    substituteInPlace deja-dup/nautilus/NautilusExtension.c --subst-var-by DEJA_DUP_GSETTINGS_PATH "${glib.makeSchemaPath (placeholder "out") "${pname}-${version}"}"
   '';
 
   nativeBuildInputs = [
-    meson ninja pkgconfig vala_0_40 gettext itstool
-    appstream-glib desktop-file-utils libxml2 wrapGAppsHook
+    meson
+    ninja
+    pkgconfig
+    vala
+    gettext
+    itstool
+    appstream-glib
+    desktop-file-utils
+    libxml2
+    wrapGAppsHook
   ];
 
   buildInputs = [
-   libnotify libpeas glib gtk3 libsecret
-   pcre libxkbcommon libpthreadstubs libXdmcp epoxy gnome3.nautilus
-   at-spi2-core dbus gnome-online-accounts libgpgerror
+    libnotify
+    libsoup
+    glib
+    gtk3
+    libsecret
+    pcre
+    libxkbcommon
+    libpthreadstubs
+    libXdmcp
+    epoxy
+    gnome3.nautilus
+    at-spi2-core
+    dbus
+    gnome-online-accounts # GOA not used any more, only for transferring legacy keys
+    libgpgerror
+    json-glib
   ];
 
+  # TODO: hard code the path
+  # https://gitlab.gnome.org/World/deja-dup/merge_requests/32
   propagatedUserEnvPkgs = [ duplicity ];
 
+  # install nautilus plug-in to correct path
   PKG_CONFIG_LIBNAUTILUS_EXTENSION_EXTENSIONDIR = "${placeholder "out"}/lib/nautilus/extensions-3.0";
 
-  postInstall = ''
-    glib-compile-schemas $out/share/glib-2.0/schemas
-  '';
-
-  postFixup = ''
-    # Unwrap accidentally wrapped library
-    mv $out/libexec/deja-dup/tools/.libduplicity.so-wrapped $out/libexec/deja-dup/tools/libduplicity.so
-  '';
-
   meta = with stdenv.lib; {
     description = "A simple backup tool";
     longDescription = ''
@@ -60,7 +104,7 @@ stdenv.mkDerivation rec {
       of backing up the Right Way (encrypted, off-site, and regular) \
       and uses duplicity as the backend.
     '';
-    homepage = https://wiki.gnome.org/Apps/DejaDup;
+    homepage = "https://wiki.gnome.org/Apps/DejaDup";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ jtojnar joncojonathan ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/backup/deja-dup/hardcode-gsettings.patch b/pkgs/applications/backup/deja-dup/hardcode-gsettings.patch
index 50bf2ba4fbd5..f74dbf73543e 100644
--- a/pkgs/applications/backup/deja-dup/hardcode-gsettings.patch
+++ b/pkgs/applications/backup/deja-dup/hardcode-gsettings.patch
@@ -1,38 +1,16 @@
 --- a/deja-dup/nautilus/NautilusExtension.c
 +++ b/deja-dup/nautilus/NautilusExtension.c
-@@ -24,6 +24,8 @@
- #include <glib/gi18n-lib.h>
- 
- GList *dirs = NULL;
-+GSettingsSchemaSource *schema_source = NULL;
-+GSettingsSchema *schema = NULL;
- GSettings *settings = NULL;
- 
- // This will treat a < b iff a is 'lower' in the file tree than b
-@@ -313,7 +315,13 @@
+@@ -313,7 +313,12 @@
    bindtextdomain(GETTEXT_PACKAGE, LOCALE_DIR);
    bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
  
--  settings = g_settings_new("org.gnome.DejaDup");
-+  schema_source = g_settings_schema_source_new_from_directory ("@DEJA_DUP_GSETTINGS_PATH@",
+-  settings = g_settings_new(APPLICATION_ID);
++  g_autoptr (GSettingsSchemaSource) schema_source = g_settings_schema_source_new_from_directory ("@DEJA_DUP_GSETTINGS_PATH@",
 +    g_settings_schema_source_get_default (), TRUE, NULL);
 +
-+  schema = g_settings_schema_source_lookup (schema_source,
-+                                            "org.gnome.DejaDup", FALSE);
++  g_autoptr (GSettingsSchema) schema = g_settings_schema_source_lookup (schema_source, APPLICATION_ID, FALSE);
 +
 +  settings = g_settings_new_full (schema, NULL, NULL);
    g_signal_connect(settings, "changed::include-list",
                     update_include_excludes, NULL);
    g_signal_connect(settings, "changed::exclude-list",
-@@ -329,7 +337,11 @@
- 
- void nautilus_module_shutdown(void)
- {
-+  g_settings_schema_source_unref(schema_source);
-+  g_settings_schema_unref(schema);
-   g_object_unref(settings);
-+  schema_source = NULL;
-+  schema = NULL;
-   settings = NULL;
- 
-   update_include_excludes(); /* will clear it now that settings is NULL */
diff --git a/pkgs/applications/blockchains/bitcoin-abc.nix b/pkgs/applications/blockchains/bitcoin-abc.nix
index 0c806a890156..95dab9f18b9a 100644
--- a/pkgs/applications/blockchains/bitcoin-abc.nix
+++ b/pkgs/applications/blockchains/bitcoin-abc.nix
@@ -7,13 +7,13 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
 
   name = "bitcoin" + (toString (optional (!withGui) "d")) + "-abc-" + version;
-  version = "0.20.5";
+  version = "0.20.6";
 
   src = fetchFromGitHub {
     owner = "bitcoin-ABC";
     repo = "bitcoin-abc";
     rev = "v${version}";
-    sha256 = "1adps3g99m7cxs58c48g2dgyihfv0v8d198klzcbbf4dq0s5v45c";
+    sha256 = "1a65pykdjkiic67fcs8cg2qrvzzrqifa93r1bzza3gdyfdvgv3ww";
   };
 
   patches = [ ./fix-bitcoin-qt-build.patch ];
diff --git a/pkgs/applications/blockchains/dogecoin.nix b/pkgs/applications/blockchains/dogecoin.nix
index e5f149a0efe7..02744e50647e 100644
--- a/pkgs/applications/blockchains/dogecoin.nix
+++ b/pkgs/applications/blockchains/dogecoin.nix
@@ -7,13 +7,13 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "dogecoin" + (toString (optional (!withGui) "d")) + "-" + version;
-  version = "1.14.1";
+  version = "1.14.2";
 
   src = fetchFromGitHub {
     owner = "dogecoin";
     repo = "dogecoin";
     rev = "v${version}";
-    sha256 = "0nmbi5gmms16baqs3fmdp2xm0yf8wawnyz80gcmca4j5ph2zka1v";
+    sha256 = "1gw46q63mjzwvb17ck6p1bap2xpdrap08szw2kjhasa3yvd5swyy";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
diff --git a/pkgs/applications/blockchains/go-ethereum.nix b/pkgs/applications/blockchains/go-ethereum.nix
index fe7a5f991dd2..cfdb8dbdc601 100644
--- a/pkgs/applications/blockchains/go-ethereum.nix
+++ b/pkgs/applications/blockchains/go-ethereum.nix
@@ -1,22 +1,39 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, libobjc, IOKit }:
+{ stdenv, buildGoModule, fetchFromGitHub, libobjc, IOKit }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "go-ethereum";
-  version = "1.9.7";
-
-  goPackagePath = "github.com/ethereum/go-ethereum";
-
-  # Fix for usb-related segmentation faults on darwin
-  propagatedBuildInputs =
-    stdenv.lib.optionals stdenv.isDarwin [ libobjc IOKit ];
+  version = "1.9.8";
 
   src = fetchFromGitHub {
     owner = "ethereum";
     repo = pname;
     rev = "v${version}";
-    sha256 = "07110dj91wmkpwz7iy0lmxx3y9wjxjrhk3rhkfdil74cxm0wkkn2";
+    sha256 = "0v4hchy6h3282347ps11iv7klcr60bmghha78rnp0iqpx2k8pqb4";
   };
 
+  modSha256 = "1l10p6a4qq77pfx7jmipkcg2qg6w3hg83q5a37yid3apily2scfa";
+
+  subPackages = [
+    "cmd/abigen"
+    "cmd/bootnode"
+    "cmd/checkpoint-admin"
+    "cmd/clef"
+    "cmd/devp2p"
+    "cmd/ethkey"
+    "cmd/evm"
+    "cmd/faucet"
+    "cmd/geth"
+    "cmd/p2psim"
+    "cmd/puppeth"
+    "cmd/rlpdump"
+    "cmd/utils"
+    "cmd/wnode"
+  ];
+
+  # Fix for usb-related segmentation faults on darwin
+  propagatedBuildInputs =
+    stdenv.lib.optionals stdenv.isDarwin [ libobjc IOKit ];
+
   meta = with stdenv.lib; {
     homepage = "https://geth.ethereum.org/";
     description = "Official golang implementation of the Ethereum protocol";
diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index 09cb3c329b91..d5e84a71d276 100644
--- a/pkgs/applications/blockchains/ledger-live-desktop/default.nix
+++ b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "ledger-live-desktop";
-  version = "1.15.0";
+  version = "1.18.2";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
-    sha256 = "0r7gm7q7gj39v36jd5xz20931za94nf2fpf3clbghkhlbrm0kbnq";
+    sha256 = "1giy8xg1yfv7b7gh98dmfc05wh54xqpd53nanacwcc7lakzizqnn";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/blockchains/lnd.nix b/pkgs/applications/blockchains/lnd.nix
index 27f10c963c0f..fd18b3fa3997 100644
--- a/pkgs/applications/blockchains/lnd.nix
+++ b/pkgs/applications/blockchains/lnd.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "lnd";
-  version = "0.7.1-beta";
+  version = "0.8.1-beta";
 
   src = fetchFromGitHub {
     owner = "lightningnetwork";
     repo = "lnd";
     rev = "v${version}";
-    sha256 = "1c0sm0lavdai4w6d283q54knggw9d42vvqmglnv2h9swbw1l23ry";
+    sha256 = "0f9fx2y66l3wxiax2vl2966avamjarkv3vbn9dy0wbxkwg4pfayb";
   };
 
-  modSha256 = "13hjaf4bswk8g57lyxzdlqqp4a6ddl3qm6n4jja4b1h58mlbil73";
+  modSha256 = "1i6xw2amkg4azvzybcl4pqxif9c0mv8ayrhz9hm8x85bz7i6a787";
 
   meta = with lib; {
     description = "Lightning Network Daemon";
diff --git a/pkgs/applications/blockchains/monero-gui/default.nix b/pkgs/applications/blockchains/monero-gui/default.nix
index dde324b39e13..7082794bba76 100644
--- a/pkgs/applications/blockchains/monero-gui/default.nix
+++ b/pkgs/applications/blockchains/monero-gui/default.nix
@@ -12,13 +12,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "monero-gui";
-  version = "0.15.0.0";
+  version = "0.15.0.1";
 
   src = fetchFromGitHub {
     owner  = "monero-project";
     repo   = "monero-gui";
     rev    = "v${version}";
-    sha256 = "1shpnly2dym5jhvk8zk10p69mz062dihx979djg74q6hgkhhhqsh";
+    sha256 = "08j8kkncdn57xql0bhmlzjpjkdfhqbpda1p07r797q8qi0nl4w8n";
   };
 
   nativeBuildInputs = [ qmake pkgconfig wrapQtAppsHook ];
diff --git a/pkgs/applications/blockchains/parity/beta.nix b/pkgs/applications/blockchains/parity/beta.nix
index a26a1b7cc771..c9da6f0e7a82 100644
--- a/pkgs/applications/blockchains/parity/beta.nix
+++ b/pkgs/applications/blockchains/parity/beta.nix
@@ -1,6 +1,6 @@
 let
-  version     = "2.6.4";
-  sha256      = "11l93w97961zig4gqf345j9l20g0mjp7fayl1mdwdp14hhd5zk5g";
-  cargoSha256 = "1q6cbms7j1h726bvq38npxkjkmz14b5ir9c4z7pb0jcy7gkplyxx";
+  version     = "2.6.5";
+  sha256      = "1ykrsphqil68051wwp9b0259gsmfrj9xmx0pfhh2yvmmjzv7k4fv";
+  cargoSha256 = "1xqmnirx2r91q5gy1skxl0f79xvaqzimq3l0cj4xvfms7mpdfbg1";
 in
   import ./parity.nix { inherit version sha256 cargoSha256; }
diff --git a/pkgs/applications/blockchains/parity/default.nix b/pkgs/applications/blockchains/parity/default.nix
index 299bb0639b6c..ba3491e084d0 100644
--- a/pkgs/applications/blockchains/parity/default.nix
+++ b/pkgs/applications/blockchains/parity/default.nix
@@ -1,6 +1,6 @@
 let
-  version     = "2.5.9";
-  sha256      = "06gmfw5l8n5i35dimsmj6dn0fxhbp53zjrdvbkff63r5kfqnwnx2";
-  cargoSha256 = "1kdy0bnmyqx4rhpq0a8gliy6mws68n035kfkxrfa6cxr2cn53dyb";
+  version     = "2.5.10";
+  sha256      = "0s8llcb1xdzs2zb6rnbsa9hck7dj4m8mamzkkvr0xjmgvigskf64";
+  cargoSha256 = "16nf6y0hyffwdhxn1w4ms4zycs5lkzir8sj6c2lgsabig057hb6z";
 in
   import ./parity.nix { inherit version sha256 cargoSha256; }
diff --git a/pkgs/applications/blockchains/wasabiwallet/default.nix b/pkgs/applications/blockchains/wasabiwallet/default.nix
index 6a5532f92c95..9599dc9407c3 100644
--- a/pkgs/applications/blockchains/wasabiwallet/default.nix
+++ b/pkgs/applications/blockchains/wasabiwallet/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wasabiwallet";
-  version = "1.1.9";
+  version = "1.1.9.2";
 
   src = fetchurl {
     url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/WasabiLinux-${version}.tar.gz";
-    sha256 = "1dz05ivhadfjfp4yfpz492401yznm3rlnx7g4nqzxwh4cmqzisrm";
+    sha256 = "0qcgrw106rqcls6p5iq02sq3w6xrzhc5z7w8v5almbw7ikv6f0s2";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/blockchains/zcash/default.nix b/pkgs/applications/blockchains/zcash/default.nix
index 1852d72d326f..f6114b3c2134 100644
--- a/pkgs/applications/blockchains/zcash/default.nix
+++ b/pkgs/applications/blockchains/zcash/default.nix
@@ -1,37 +1,29 @@
-{ stdenv, libsodium, fetchFromGitHub, wget, pkgconfig, autoreconfHook, openssl, db62, boost
-, zlib, gtest, gmock, callPackage, gmp, qt4, utillinux, protobuf, qrencode, libevent
-, libsnark, withGui }:
+{ stdenv, libsodium, fetchFromGitHub, wget, pkgconfig, autoreconfHook, openssl, db62, boost17x
+, zlib, gtest, gmock, callPackage, gmp, qt4, utillinux, protobuf, qrencode, libevent }:
 
 let librustzcash = callPackage ./librustzcash {};
 in
 with stdenv.lib;
 stdenv.mkDerivation rec {
 
-  name = "zcash" + (toString (optional (!withGui) "d")) + "-" + version;
-  version = "1.0.13";
+  pname = "zcash";
+  version = "2.1.0-1";
 
   src = fetchFromGitHub {
     owner = "zcash";
     repo  = "zcash";
     rev = "v${version}";
-    sha256 = "05y7wxs66anxr5akbf05r36mmjfzqpwawn6vyh3jhpva51hzzzyz";
+    sha256 = "05bnn4lxrrcv1ha3jdfrgwg4ar576161n3j9d4gpc14ww3zgf9vz";
   };
 
-  # Dependencies are underspecified: "make -C src gtest/zcash_gtest-test_merkletree.o"
-  # fails with "fatal error: test/data/merkle_roots.json.h: No such file or directory"
-  enableParallelBuilding = false;
-
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ gtest gmock gmp openssl wget db62 boost zlib
-                  protobuf libevent libsodium librustzcash libsnark ]
-                  ++ optionals stdenv.isLinux [ utillinux ]
-                  ++ optionals withGui [ qt4 qrencode ];
+  buildInputs = [ gtest gmock gmp openssl wget db62 boost17x zlib
+                  protobuf libevent libsodium librustzcash ]
+                  ++ optionals stdenv.isLinux [ utillinux ];
 
-  configureFlags = [ "--with-boost-libdir=${boost.out}/lib"
-                   ] ++ optionals withGui [ "--with-gui=qt4" ];
+  configureFlags = [ "--with-boost-libdir=${boost17x.out}/lib" ];
 
   patchPhase = ''
-    sed -i"" 's,-lboost_system-mt,-lboost_system,' configure.ac
     sed -i"" 's,-fvisibility=hidden,,g'            src/Makefile.am
   '';
 
@@ -42,7 +34,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Peer-to-peer, anonymous electronic cash system";
     homepage = https://z.cash/;
-    maintainers = with maintainers; [ rht ];
+    maintainers = with maintainers; [ rht tkerber ];
     license = licenses.mit;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/blockchains/zcash/librustzcash/default.nix b/pkgs/applications/blockchains/zcash/librustzcash/default.nix
index 634d4e8538a1..31703f8fb2a5 100644
--- a/pkgs/applications/blockchains/zcash/librustzcash/default.nix
+++ b/pkgs/applications/blockchains/zcash/librustzcash/default.nix
@@ -2,28 +2,30 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "librustzcash-unstable";
-  version = "2017-03-17";
+  version = "2018-10-27";
 
   src = fetchFromGitHub {
     owner = "zcash";
     repo = "librustzcash";
-    rev = "91348647a86201a9482ad4ad68398152dc3d635e";
-    sha256 = "02l1f46frpvw1r6k1wfh77mrsnmsdvifqx0vnscxz4xgb9ia9d1c";
+    rev = "06da3b9ac8f278e5d4ae13088cf0a4c03d2c13f5";
+    sha256 = "0md0pp3k97iv7kfjpfkg14pjanhrql4vafa8ggbxpkajv1j4xldv";
   };
 
-  cargoSha256 = "1xlq8vkzfyr5q8gxvzkwi8r1kxg4rg8l1ckdwfdxlkhnw0yscbra";
+  cargoSha256 = "166v8cxlpfslbs5gljbh7wp0lxqakayw47ikxm9r9a39n7j36mq1";
 
   installPhase = ''
     mkdir -p $out/lib
     cp target/release/librustzcash.a $out/lib/
     mkdir -p $out/include
-    cp include/librustzcash.h $out/include/
+    cp librustzcash/include/librustzcash.h $out/include/
   '';
 
+  doCheck = false;
+
   meta = with stdenv.lib; {
     description = "Rust-language assets for Zcash";
     homepage = https://github.com/zcash/librustzcash;
-    maintainers = with maintainers; [ rht ];
+    maintainers = with maintainers; [ rht tkerber ];
     license = with licenses; [ mit asl20 ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/applications/display-managers/lightdm/default.nix b/pkgs/applications/display-managers/lightdm/default.nix
index 4d221e970997..952aa2856370 100644
--- a/pkgs/applications/display-managers/lightdm/default.nix
+++ b/pkgs/applications/display-managers/lightdm/default.nix
@@ -27,6 +27,7 @@
 , qt4
 , withQt5 ? false
 , qtbase
+, yelp-tools
 }:
 
 with stdenv.lib;
@@ -47,7 +48,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     autoconf
     automake
-    gnome3.yelp-tools
+    yelp-tools
     gnome3.yelp-xsl
     gobject-introspection
     gtk-doc
diff --git a/pkgs/applications/display-managers/lightdm/gtk-greeter.nix b/pkgs/applications/display-managers/lightdm/gtk-greeter.nix
index 5b1490a6b3be..91fe3e5b22f2 100644
--- a/pkgs/applications/display-managers/lightdm/gtk-greeter.nix
+++ b/pkgs/applications/display-managers/lightdm/gtk-greeter.nix
@@ -20,7 +20,7 @@
 
 let
   ver_branch = "2.0";
-  version = "2.0.6";
+  version = "2.0.7";
 in
 stdenv.mkDerivation rec {
   pname = "lightdm-gtk-greeter";
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/${ver_branch}/${version}/+download/${pname}-${version}.tar.gz";
-    sha256 = "1pis5qyg95pg31dvnfqq34bzgj00hg4vs547r8h60lxjk81z8p15";
+    sha256 = "1g7wc3d3vqfa7mrdhx1w9ywydgjbffla6rbrxq9k3sc62br97qms";
   };
 
   nativeBuildInputs = [ pkgconfig intltool wrapGAppsHook ];
diff --git a/pkgs/applications/display-managers/slim/default.nix b/pkgs/applications/display-managers/slim/default.nix
deleted file mode 100644
index e504c09e43e6..000000000000
--- a/pkgs/applications/display-managers/slim/default.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{ stdenv, fetchurl, fetchpatch, cmake, pkgconfig, xorg, libjpeg, libpng
-, fontconfig, freetype, pam, dbus, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  name = "slim-1.3.6";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/slim.berlios/${name}.tar.gz";
-    sha256 = "1pqhk22jb4aja4hkrm7rjgbgzjyh7i4zswdgf5nw862l2znzxpi1";
-  };
-
-  patches =
-    [ # Allow the paths of the configuration file and theme directory to
-      # be set at runtime.
-      ./runtime-paths.patch
-
-      # Exit after the user's session has finished.  This works around
-      # slim's broken PAM session handling (see
-      # http://developer.berlios.de/bugs/?func=detailbug&bug_id=19102&group_id=2663).
-      ./run-once.patch
-
-      # Ensure that sessions appear in sort order, rather than in
-      # directory order.
-      ./sort-sessions.patch
-
-      # Allow to set logfile to a special "/dev/stderr" in order to continue
-      # logging to stderr and thus to the journal.
-      ./no-logfile.patch
-    ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl (fetchpatch {
-      url = "https://raw.githubusercontent.com/gentoo/musl/8eddda8072add075ebf56cf6d288bc1450d6b5f8/x11-misc/slim/files/slim-1.3.6-add-missing-libgen_h.patch";
-      sha256 = "0f82672s2r2cmdqfn2mbg3di76mbla9n0ik20p2gv4igi6p866xm";
-    });
-
-  preConfigure = "substituteInPlace CMakeLists.txt --replace /lib $out/lib";
-
-  cmakeFlags = [ "-DUSE_PAM=1" ];
-
-  NIX_CFLAGS_COMPILE = "-I${freetype.dev}/include/freetype -std=c++11";
-
-  enableParallelBuilding = true;
-
-  buildInputs =
-    [ cmake pkgconfig libjpeg libpng fontconfig freetype
-      pam dbus
-      xorg.libX11 xorg.libXext xorg.libXrandr xorg.libXrender xorg.libXmu xorg.libXft makeWrapper
-    ];
-
-  NIX_CFLAGS_LINK = "-lXmu";
-
-  meta = {
-    homepage = https://sourceforge.net/projects/slim.berlios/; # berlios shut down; I found no replacement yet
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.gpl2;
-  };
-}
diff --git a/pkgs/applications/display-managers/slim/no-logfile.patch b/pkgs/applications/display-managers/slim/no-logfile.patch
deleted file mode 100644
index f2f5f1549930..000000000000
--- a/pkgs/applications/display-managers/slim/no-logfile.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-diff --git a/log.cpp b/log.cpp
-index b44677a..7c89dda 100644
---- a/log.cpp
-+++ b/log.cpp
-@@ -1,23 +1,31 @@
- #include "log.h"
- #include <iostream>
-+#include <cstring>
- 
- bool
- LogUnit::openLog(const char * filename)
- {
--	if (logFile.is_open()) {
-+	if (isFile && logFile.is_open()) {
- 		cerr << APPNAME
- 			<< ": opening a new Log file, while another is already open"
- 			<< endl;
--		logFile.close();
-+		closeLog();
- 	}
--	logFile.open(filename, ios_base::app);
- 
--	return !(logFile.fail());
-+	if (strcmp(filename, "/dev/stderr") == 0) {
-+		isFile = false;
-+		return true;
-+	} else {
-+		logFile.open(filename, ios_base::app);
-+		isFile = true;
-+		return !(logFile.fail());
-+	}
- }
- 
- void
- LogUnit::closeLog()
- {
-+	if (!isFile) return;
- 	if (logFile.is_open())
- 		logFile.close();
- }
-diff --git a/log.h b/log.h
-index b7810be..ad548a2 100644
---- a/log.h
-+++ b/log.h
-@@ -9,11 +9,14 @@
- #endif
- #include "const.h"
- #include <fstream>
-+#include <iostream>
- 
- using namespace std;
- 
- static class LogUnit {
- 	ofstream logFile;
-+	bool isFile;
-+	inline ostream &getStream() { return isFile ? logFile : cerr; }
- public:
- 	bool openLog(const char * filename);
- 	void closeLog();
-@@ -22,17 +25,17 @@ public:
- 
- 	template<typename Type>
- 	LogUnit & operator<<(const Type & text) {
--		logFile << text; logFile.flush();
-+		getStream() << text; getStream().flush();
- 		return *this;
- 	}
- 
- 	LogUnit & operator<<(ostream & (*fp)(ostream&)) {
--		logFile << fp; logFile.flush();
-+		getStream() << fp; getStream().flush();
- 		return *this;
- 	}
- 
- 	LogUnit & operator<<(ios_base & (*fp)(ios_base&)) {
--		logFile << fp; logFile.flush();
-+		getStream() << fp; getStream().flush();
- 		return *this;
- 	}
- } logStream;
diff --git a/pkgs/applications/display-managers/slim/run-once.patch b/pkgs/applications/display-managers/slim/run-once.patch
deleted file mode 100644
index 78f1454a883e..000000000000
--- a/pkgs/applications/display-managers/slim/run-once.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ru -x '*~' slim-1.3.6-orig/app.cpp slim-1.3.6/app.cpp
---- slim-1.3.6-orig/app.cpp	2013-10-15 11:02:55.629263422 +0200
-+++ slim-1.3.6/app.cpp	2013-10-15 13:00:10.141210784 +0200
-@@ -816,7 +822,7 @@
- 	StopServer();
- 	RemoveLock();
- 	while (waitpid(-1, NULL, WNOHANG) > 0); /* Collects all dead childrens */
--	Run();
-+	exit(OK_EXIT);
- }
- 
- void App::KillAllClients(Bool top) {
diff --git a/pkgs/applications/display-managers/slim/runtime-paths.patch b/pkgs/applications/display-managers/slim/runtime-paths.patch
deleted file mode 100644
index 5a8e07bfbf07..000000000000
--- a/pkgs/applications/display-managers/slim/runtime-paths.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-diff -ru slim-1.3.6-orig/app.cpp slim-1.3.6/app.cpp
---- slim-1.3.6-orig/app.cpp	2013-10-02 00:38:05.000000000 +0200
-+++ slim-1.3.6/app.cpp	2014-03-30 19:01:04.115414201 +0200
-@@ -200,7 +200,9 @@
- 
- 	/* Read configuration and theme */
- 	cfg = new Cfg;
--	cfg->readConf(CFGFILE);
-+	char *cfgfile = getenv("SLIM_CFGFILE");
-+	if (!cfgfile) cfgfile = CFGFILE;
-+	cfg->readConf(cfgfile);
- 	string themebase = "";
- 	string themefile = "";
- 	string themedir = "";
-@@ -208,7 +210,9 @@
- 	if (testing) {
- 		themeName = testtheme;
- 	} else {
--		themebase = string(THEMESDIR) + "/";
-+		char *themesdir = getenv("SLIM_THEMESDIR");
-+		if (!themesdir) themesdir = THEMESDIR;
-+		themebase = string(themesdir) + "/";
- 		themeName = cfg->getOption("current_theme");
- 		string::size_type pos;
- 		if ((pos = themeName.find(",")) != string::npos) {
-diff -ru slim-1.3.6-orig/CMakeLists.txt slim-1.3.6/CMakeLists.txt
---- slim-1.3.6-orig/CMakeLists.txt	2013-10-02 00:38:05.000000000 +0200
-+++ slim-1.3.6/CMakeLists.txt	2014-03-30 19:16:48.445069729 +0200
-@@ -23,7 +23,7 @@
- 
- set(CMAKE_INSTALL_PREFIX "/usr/local" CACHE PATH "Installation Directory")
- set(PKGDATADIR "${CMAKE_INSTALL_PREFIX}/share/slim")
--set(SYSCONFDIR "/etc")
-+set(SYSCONFDIR "$ENV{out}/etc")
- set(LIBDIR "/lib")
- set(MANDIR "${CMAKE_INSTALL_PREFIX}/share/man")
- 
-@@ -40,7 +40,7 @@
- set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DPACKAGE=\"slim\"")
- set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DVERSION=\"${SLIM_VERSION}\"")
- set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DPKGDATADIR=\"${PKGDATADIR}\"")
--set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DSYSCONFDIR=\"${SYSCONFDIR}\"")
-+set(SLIM_DEFINITIONS ${SLIM_DEFINITIONS} "-DSYSCONFDIR=\"/etc\"")
- 
- # Flags
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -g -O2")
-Only in slim-1.3.6: CMakeLists.txt~
-diff -ru slim-1.3.6-orig/slimlock.cpp slim-1.3.6/slimlock.cpp
---- slim-1.3.6-orig/slimlock.cpp	2013-10-02 00:38:05.000000000 +0200
-+++ slim-1.3.6/slimlock.cpp	2014-03-30 19:01:04.115414201 +0200
-@@ -106,13 +106,17 @@
- 	unsigned int cfg_passwd_timeout;
- 	// Read user's current theme
- 	cfg = new Cfg;
--	cfg->readConf(CFGFILE);
-+	char *cfgfile = getenv("SLIM_CFGFILE");
-+	if (!cfgfile) cfgfile = CFGFILE;
-+	cfg->readConf(cfgfile);
- 	cfg->readConf(SLIMLOCKCFG);
- 	string themebase = "";
- 	string themefile = "";
- 	string themedir = "";
- 	themeName = "";
--	themebase = string(THEMESDIR) + "/";
-+	char *themesdir = getenv("SLIM_THEMESDIR");
-+	if (!themesdir) themesdir = THEMESDIR;
-+	themebase = string(themesdir) + "/";
- 	themeName = cfg->getOption("current_theme");
- 	string::size_type pos;
- 	if ((pos = themeName.find(",")) != string::npos) {
diff --git a/pkgs/applications/display-managers/slim/sort-sessions.patch b/pkgs/applications/display-managers/slim/sort-sessions.patch
deleted file mode 100644
index cab5610f44fb..000000000000
--- a/pkgs/applications/display-managers/slim/sort-sessions.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff -ru -x '*~' slim-1.3.6-orig/cfg.cpp slim-1.3.6/cfg.cpp
---- slim-1.3.6-orig/cfg.cpp	2013-10-02 00:38:05.000000000 +0200
-+++ slim-1.3.6/cfg.cpp	2016-01-30 10:35:51.108766802 +0100
-@@ -14,6 +14,7 @@
- #include <iostream>
- #include <unistd.h>
- #include <stdlib.h>
-+#include <algorithm>
- 
- #include <sys/types.h>
- #include <sys/stat.h>
-@@ -293,6 +294,8 @@
- 
- 	sessions.clear();
- 
-+        typedef pair<string,string> session_t;
-+
- 	if( !strSessionDir.empty() ) {
- 		DIR *pDir = opendir(strSessionDir.c_str());
- 
-@@ -325,7 +328,7 @@
-                                      }
-                              }
-                              desktop_file.close();
--                             pair<string,string> session(session_name,session_exec);
-+                             session_t session(session_name,session_exec);
-                              sessions.push_back(session);
-                              cout << session_exec << " - " << session_name << endl;
-                         }
-@@ -341,6 +344,10 @@
-         pair<string,string> session("","");
-         sessions.push_back(session);
- 	}
-+
-+        std::sort(sessions.begin(), sessions.end(), [](session_t& a, session_t& b) -> bool{
-+                return a.first < b.first;
-+        });
- }
- 
- pair<string,string> Cfg::nextSession() {
diff --git a/pkgs/applications/display-managers/slim/themes.nix b/pkgs/applications/display-managers/slim/themes.nix
deleted file mode 100644
index b1be24f3e1d6..000000000000
--- a/pkgs/applications/display-managers/slim/themes.nix
+++ /dev/null
@@ -1,183 +0,0 @@
-{ stdenv, fetchurl, slim }:
-
-# Inspired on aspell buildDict expression
-
-let
-  buildTheme =
-    {fullName, src, version ? "testing"}:
-
-    stdenv. mkDerivation rec {
-      name = "${fullName}-${version}";
-
-      inherit src;
-
-      buildInputs = [ slim ];
-
-      dontBuild = true;
-
-      installPhase = ''
-        install -dm755 $out/share/slim/themes/${name}
-        install -m644 * $out/share/slim/themes/${name}
-      '';
-
-      meta = {
-        description = "Slim theme for ${fullName}";
-        platforms = stdenv.lib.platforms.linux;
-      };
-    };
-
-in {
-
-  archlinuxSimple = buildTheme {
-    fullName = "archlinux-simple";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-archlinux-simple.tar.gz";
-      sha256 = "7d60d6782fa86302646fe67253467c04692d247f89bdbe87178f690f32b270db";
-    };
-  };
-
-  capernoited = buildTheme {
-    fullName = "capernoited";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-capernoited.tar.gz";
-      sha256 = "fb9163c6a2656d60f088dc4f2173aa7556a6794495122acfa7d3be7182f16b41";
-    };
-  };
-
-  debianMoreblue = buildTheme {
-    fullName = "debian-moreblue";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-debian-moreblue.tar.bz2";
-      sha256 = "5b76929827d4a4d604ddca4f42668cca3309b6f7bd659901021c6f49d6d2c481";
-    };
-  };
-
-  fingerprint = buildTheme {
-    fullName = "fingerprint";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-fingerprint.tar.gz";
-      sha256 = "48b703f84ce7b814cda0824f65cafebf695cd71a14166b481bb44616097d3144";
-    };
-  };
-
-  flat = buildTheme {
-    fullName = "flat";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-flat.tar.gz";
-      sha256 = "0092d531540f9da8ef07ad173e527c4ef9c088d04962d142be3c11f0c5c0c5e9";
-    };
-  };
-
-  flower2 = buildTheme {
-    fullName = "flower2";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-flower2.tar.gz";
-      sha256 = "840faf6459ffd6c2c363160c85cb98000717f9a425102976336f5d8f68ed95ee";
-    };
-  };
-
-  gentooSimple = buildTheme {
-    fullName = "gentoo-simple";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-gentoo-simple.tar.bz2";
-      sha256 = "27c8614cc930ca200acf81f1192febc102501744939d5cbe997141e37c96d8c2";
-    };
-  };
-
-  lake = buildTheme {
-    fullName = "lake";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-lake.tar.gz";
-      sha256 = "f7d662e37068a6c64cbf910adf3c192f1b50724baa427a8c9487cb9f7ed95851";
-    };
-  };
-
-  lunar = buildTheme {
-    fullName = "lunar-0.4";
-    version = "";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-lunar-0.4.tar.bz2";
-      sha256 = "1543eb45e4d664377e0dd4f7f954aba005823034ba9692624398b3d58be87d76";
-    };
-  };
-
-  mindlock = buildTheme {
-    fullName = "mindlock";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-mindlock.tar.gz";
-      sha256 = "99a6e6acd55bf55ece18a3f644299517b71c1adc49efd87ce2d7e654fb67033c";
-    };
-  };
-
-  parallelDimensions = buildTheme {
-    fullName = "parallel-dimensions";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-parallel-dimensions.tar.gz";
-      sha256 = "2b17c3e6d3967a6a0744e20e6e05c9d3938f4ef04c62d49ddbd416bc4743046f";
-    };
-  };
-
-  previous = buildTheme {
-    fullName = "previous";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-previous.tar.gz";
-      sha256 = "1f2a69f8fc0dc8ed8eb86a4c1d1087ba7be486973fb81efab52a63c661d726f8";
-    };
-  };
-
-  rainbow = buildTheme {
-    fullName = "rainbow";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-rainbow.tar.gz";
-      sha256 = "d83e3afdb05be50cff7da037bb31208b2c152539d1a009740b13857f5f910072";
-    };
-  };
-
-  rear-window = buildTheme {
-    fullName = "rear-window";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-rear-window.tar.gz";
-      sha256 = "0b123706ccb67e94f626c183530ec5732b209bab155bc661d6a3f5cd5ee39511";
-    };
-  };
-
-  scotlandRoad = buildTheme {
-    fullName = "scotland-road";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-scotland-road.tar.gz";
-      sha256 = "fd60a434496ed39b968ffa1e5457b36cd12f64a4e2ecedffc675f97ca3f3bba1";
-    };
-  };
-
-  subway = buildTheme {
-    fullName = "subway";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-subway.tar.gz";
-      sha256 = "0205568e3e157973b113a83b26d8829ce9962a85ef7eb8a33d3ae2f3f9292253";
-    };
-  };
-
-  wave = buildTheme {
-    fullName = "wave";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-wave.tar.gz";
-      sha256 = "be75676da5bf8670daa48379bb9cc1be0b9a5faa09adbea967dfd7125320b959";
-    };
-  };
-
-  zenwalk = buildTheme {
-    fullName = "zenwalk";
-    src = fetchurl {
-      url = "mirror://sourceforge/slim.berlios/slim-zenwalk.tar.gz";
-      sha256 = "f0f41d17ea505b0aa96a036e978fabaf673a51d3f81a919cb0d43364d4bc7a57";
-    };
-  };
-
-  nixosSlim = buildTheme {
-    fullName = "nixos-slim";
-    src = fetchurl {
-      url = "https://github.com/jagajaga/nixos-slim-theme/archive/2.0.tar.gz";
-      sha256 = "0lldizhigx7bjhxkipii87y432hlf5wdvamnfxrryf9z7zkfypc8";
-    };
-  };
-}
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index 4254bca34380..5c796e71fdfe 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -13,14 +13,14 @@ let
     sha256Hash = "0kcd6kd5rn4b76damkfddin18d1r0dck05piv8mq1ns7x1n4hf7q";
   };
   betaVersion = {
-    version = "3.6.0.15"; # "Android Studio 3.6 Beta 3"
-    build = "192.5982640";
-    sha256Hash = "0017g7nvjiadd64in9fl4wq5lf8b7pyrdasbnwzjcphpbzy1390x";
+    version = "3.6.0.16"; # "Android Studio 3.6 Beta 4"
+    build = "192.5994180";
+    sha256Hash = "0wyyr6r0jzb1l4rn1mfgp0nnzvgk3x62imq629z6vrdbymy8psf1";
   };
   latestVersion = { # canary & dev
-    version = "4.0.0.2"; # "Android Studio 4.0 Canary 2"
-    build = "192.5984562";
-    sha256Hash = "0p29a6np31396970lnb3di2yrcqi3z8nqcn27hcnb4c4g7kjm0qw";
+    version = "4.0.0.4"; # "Android Studio 4.0 Canary 4"
+    build = "192.6008643";
+    sha256Hash = "1z1srginlg1xnp911nlilhf515mbpmngwhln29q6lxsir8g2cw2z";
   };
 in {
   # Attributes are named by their corresponding release channels
diff --git a/pkgs/applications/editors/emacs-modes/color-theme-solarized/default.nix b/pkgs/applications/editors/emacs-modes/color-theme-solarized/default.nix
index 3d34c7a462e3..33f2ad79ea0c 100644
--- a/pkgs/applications/editors/emacs-modes/color-theme-solarized/default.nix
+++ b/pkgs/applications/editors/emacs-modes/color-theme-solarized/default.nix
@@ -1,6 +1,6 @@
-{stdenv, fetchzip, emacs, colorTheme}:
+{stdenv, fetchzip, emacs, color-theme}:
 let
-  commit = "412713a0fcedd520d208a7b783fea03d710bcc61";
+  commit = "f3ca8902ea056fb8e46cb09f09c96294e31cd4ee";
 in
 stdenv.mkDerivation {
   name = "color-theme-solarized-1.0.0";
@@ -8,15 +8,14 @@ stdenv.mkDerivation {
   src = fetchzip {
 
     url = "https://github.com/sellout/emacs-color-theme-solarized/archive/${commit}.zip";
-    sha256 = "1xd2yk7p39zxgcf91s80pqknzdxw9d09cppjb87g7ihj6f0wxqjv";
+    sha256 = "16d7adqi07lzzr0qipl1fbag9l8kiyr3xrqxi528pimcisbg85d3";
   };
 
   buildInputs = [ emacs ];
-  propagatedUserEnvPkgs = [ colorTheme ];
-
+  propagatedUserEnvPkgs = [ color-theme ];
 
   buildPhase = ''
-    emacs -L . -L ${colorTheme}/share/emacs/site-lisp --batch -f batch-byte-compile *.el
+    emacs -L . -L ${color-theme}/share/emacs/site-lisp/elpa/color-theme-* --batch -f batch-byte-compile *.el
   '';
 
   installPhase = ''
@@ -30,8 +29,5 @@ stdenv.mkDerivation {
     maintainers = [ maintainers.samuelrivas ];
     license = licenses.mit;
     platforms = platforms.all;
-
-    # Fails with `solarized-definitions.el:786:1:Warning: the function `rotatef' is not known to`
-    broken = true;
   };
 }
diff --git a/pkgs/applications/editors/emacs-modes/manual-packages.nix b/pkgs/applications/editors/emacs-modes/manual-packages.nix
index df94a7a650a5..76a1c27502b1 100644
--- a/pkgs/applications/editors/emacs-modes/manual-packages.nix
+++ b/pkgs/applications/editors/emacs-modes/manual-packages.nix
@@ -128,9 +128,7 @@
   # From old emacsPackages (pre emacsPackagesNg)
   cedet = callPackage ./cedet { };
   cedille = callPackage ./cedille { cedille = pkgs.cedille; };
-  colorThemeSolarized = callPackage ./color-theme-solarized {
-    colorTheme = self.color-theme;
-  };
+  colorThemeSolarized = callPackage ./color-theme-solarized { };
   emacsSessionManagement = callPackage ./session-management-for-emacs { };
   hsc3-mode = callPackage ./hsc3 { };
   hol_light_mode = callPackage ./hol_light { };
diff --git a/pkgs/applications/editors/gobby/default.nix b/pkgs/applications/editors/gobby/default.nix
index 3abe2834db46..f194227932d0 100644
--- a/pkgs/applications/editors/gobby/default.nix
+++ b/pkgs/applications/editors/gobby/default.nix
@@ -1,5 +1,5 @@
 { avahiSupport ? false # build support for Avahi in libinfinity
-, stdenv, fetchFromGitHub, autoconf, automake, pkgconfig, wrapGAppsHook
+, stdenv, fetchFromGitHub, autoconf, automake, pkgconfig, wrapGAppsHook, yelp-tools
 , gtkmm3, gsasl, gtksourceview3, libxmlxx, libinfinity, intltool, itstool, gnome3 }:
 
 let
@@ -13,7 +13,7 @@ in stdenv.mkDerivation {
     sha256 = "0q7lq64yn16lxvj4jphs8y9194h0xppj8k7y9x8b276krraak2az";
   };
 
-  nativeBuildInputs = [ autoconf automake pkgconfig intltool itstool gnome3.yelp-tools wrapGAppsHook ];
+  nativeBuildInputs = [ autoconf automake pkgconfig intltool itstool yelp-tools wrapGAppsHook ];
   buildInputs = [ gtkmm3 gsasl gtksourceview3 libxmlxx libinf ];
 
   preConfigure = "./autogen.sh";
diff --git a/pkgs/applications/editors/hexdino/default.nix b/pkgs/applications/editors/hexdino/default.nix
new file mode 100644
index 000000000000..ef3635aa8d29
--- /dev/null
+++ b/pkgs/applications/editors/hexdino/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, rustPlatform, ncurses }:
+rustPlatform.buildRustPackage rec {
+  name = "hexdino-${version}";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "Luz";
+    repo = "hexdino";
+    rev = "de5b5d7042129f57e0ab36416a06476126bce389";
+    sha256 = "11mz07735gxqfamjcjjmxya6swlvr1p77sgd377zjcmd6z54gwyf";
+  };
+
+  cargoSha256 = "0qa8ypp5a7sf1gic482zh3i6s94w6k6bgmk5ynfvwi7g49ql7c4z";
+  verifyCargoDeps = true;
+
+  buildInputs = [ ncurses ];
+
+  meta = with stdenv.lib; {
+    description = "A hex editor with vim like keybindings written in Rust";
+    homepage = https://github.com/Luz/hexdino;
+    license = licenses.mit;
+    maintainers = [ maintainers.luz ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/editors/jucipp/default.nix b/pkgs/applications/editors/jucipp/default.nix
index cb9f10281c70..70b2d3c148db 100644
--- a/pkgs/applications/editors/jucipp/default.nix
+++ b/pkgs/applications/editors/jucipp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, gnome3, gtksourceview3, at-spi2-core, gtksourceviewmm,
+{ stdenv, fetchgit, dconf, gtksourceview3, at-spi2-core, gtksourceviewmm,
   boost, epoxy, cmake, aspell, llvmPackages, libgit2, pkgconfig, pcre,
   libXdmcp, libxkbcommon, libpthreadstubs, wrapGAppsHook, aspellDicts, gtkmm3,
   coreutils, glibc, dbus, openssl, libxml2, gnumake, ctags }:
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     gtksourceviewmm
     llvmPackages.clang.cc
     llvmPackages.lldb
-    gnome3.dconf
+    dconf
   ];
 
 
diff --git a/pkgs/applications/editors/kdevelop5/kdev-php.nix b/pkgs/applications/editors/kdevelop5/kdev-php.nix
index 7805234a70c0..94db57d593ef 100644
--- a/pkgs/applications/editors/kdevelop5/kdev-php.nix
+++ b/pkgs/applications/editors/kdevelop5/kdev-php.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kdev-php";
-  version = "5.4.3";
+  version = "5.4.4";
 
   src = fetchurl {
     url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz";
-    sha256 = "0nf9nlykdq40yxdda0as16pd0c5rahwba1fbwni8g19w8mf2y3h5";
+    sha256 = "1q80vh2b4bmpa3sh94b6jsa5ymqr6hcn76mr2lyw30h2ppy5hm5l";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules ];
diff --git a/pkgs/applications/editors/kdevelop5/kdev-python.nix b/pkgs/applications/editors/kdevelop5/kdev-python.nix
index 50740e24acad..3cd81f4c1a1b 100644
--- a/pkgs/applications/editors/kdevelop5/kdev-python.nix
+++ b/pkgs/applications/editors/kdevelop5/kdev-python.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kdev-python";
-  version = "5.4.3";
+  version = "5.4.4";
 
   src = fetchurl {
     url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz";
-    sha256 = "16928a0p5m5mm38j39sxzfqy6rx9pv01aihk2kscdd93z7001b81";
+    sha256 = "04ig8vmn85z15mlngha4ybynjlmv9g9dn48y58wqrkif2ssliq7m";
   };
 
   cmakeFlags = [
diff --git a/pkgs/applications/editors/kdevelop5/kdevelop.nix b/pkgs/applications/editors/kdevelop5/kdevelop.nix
index 1f28c2a4af2a..dd1f5eea8f49 100644
--- a/pkgs/applications/editors/kdevelop5/kdevelop.nix
+++ b/pkgs/applications/editors/kdevelop5/kdevelop.nix
@@ -10,11 +10,11 @@
 
 mkDerivation rec {
   pname = "kdevelop";
-  version = "5.4.3";
+  version = "5.4.4";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${version}/src/${pname}-${version}.tar.xz";
-    sha256 = "0h07gdmg24d517im40b9kl1kzkkzwc9ig4crbl3y9iy0mbpm0hv8";
+    sha256 = "1cangz3ghz39sxxggp2p7kqy2ncgs0r3i19c341b5xbkcxw2y20h";
   };
 
   nativeBuildInputs = [
@@ -37,7 +37,7 @@ mkDerivation rec {
   # https://cgit.kde.org/kdevelop.git/commit/?id=716372ae2e8dff9c51e94d33443536786e4bd85b
   # required as nixos seems to be unable to find CLANG_BUILTIN_DIR
   cmakeFlags = [
-    "-DCLANG_BUILTIN_DIR=${llvmPackages.clang-unwrapped}/lib/clang/${(builtins.parseDrvName llvmPackages.clang.name).version}/include"
+    "-DCLANG_BUILTIN_DIR=${llvmPackages.clang-unwrapped}/lib/clang/${lib.getVersion llvmPackages.clang}/include"
   ];
 
   dontWrapQtApps = true;
diff --git a/pkgs/applications/editors/kodestudio/default.nix b/pkgs/applications/editors/kodestudio/default.nix
index a106c3166747..9d0d91f4be54 100644
--- a/pkgs/applications/editors/kodestudio/default.nix
+++ b/pkgs/applications/editors/kodestudio/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchurl, makeDesktopItem, makeWrapper
 , # Patchelf dependencies:
-  alsaLib, atomEnv, boehmgc, flac, libogg, libvorbis, libXScrnSaver, libGLU_combined
+  alsaLib, atomEnv, boehmgc, flac, libogg, libvorbis, libXScrnSaver, libGLU, libGL
 , openssl, xorg, zlib
 }:
 
@@ -56,7 +56,7 @@ in
           $out/kodestudio
       patchelf \
           --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-          --set-rpath ".:${stdenv.cc.libc}/lib:${xorg.libXinerama}/lib:${xorg.libX11}/lib:${alsaLib}/lib:${libGLU_combined}/lib:${openssl.out}/lib" \
+          --set-rpath ".:${stdenv.cc.libc}/lib:${xorg.libXinerama}/lib:${xorg.libX11}/lib:${alsaLib}/lib:${libGL}/lib:${libGLU}/lib:${openssl.out}/lib" \
           $out/resources/app/extensions/krom/Krom/linux/Krom
       patchelf \
           --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
diff --git a/pkgs/applications/editors/mle/default.nix b/pkgs/applications/editors/mle/default.nix
index f91d1d8fde61..2c36be1c21bc 100644
--- a/pkgs/applications/editors/mle/default.nix
+++ b/pkgs/applications/editors/mle/default.nix
@@ -2,19 +2,20 @@
 
 stdenv.mkDerivation rec {
   pname = "mle";
-  version = "1.4.1";
+  version = "1.4.2";
 
   src = fetchFromGitHub {
     owner = "adsr";
     repo = "mle";
     rev = "v${version}";
-    sha256 = "15i5lzcp0zar2zh34ky9m6pvvi41zgdrl3hmylpgsqnnj4r87vqc";
+    sha256 = "053zvxkjx2zwq6lwkycirxz1m9sjc3zi9ic8fvp3mjvbqfri1y3x";
   };
 
   # Fix location of Lua 5.3 header and library
   postPatch = ''
     substituteInPlace Makefile --replace "-llua5.3" "-llua";
     substituteInPlace mle.h    --replace "<lua5.3/" "<";
+    patchShebangs tests/*
   '';
 
   buildInputs = [ termbox pcre uthash lua5_3 ];
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
index 99b04059730d..b3e2ed510153 100644
--- a/pkgs/applications/editors/neovim/default.nix
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -21,13 +21,13 @@ let
 in
   stdenv.mkDerivation rec {
     pname = "neovim-unwrapped";
-    version = "0.4.2";
+    version = "0.4.3";
 
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "neovim";
       rev = "v${version}";
-      sha256 = "13w446plvgl219lhj29jyimhiqvs1y1byrz4qpdmxgyddmx9xqss";
+      sha256 = "03p7pic7hw9yxxv7fbgls1f42apx3lik2k6mpaz1a109ngyc5kaj";
     };
 
     patches = [
diff --git a/pkgs/applications/editors/neovim/neovim-remote.nix b/pkgs/applications/editors/neovim/neovim-remote.nix
index 18f458fd85c7..9893c6085a69 100644
--- a/pkgs/applications/editors/neovim/neovim-remote.nix
+++ b/pkgs/applications/editors/neovim/neovim-remote.nix
@@ -4,14 +4,14 @@ with stdenv.lib;
 
 pythonPackages.buildPythonApplication rec {
   pname = "neovim-remote";
-  version = "2.2.2";
+  version = "2.2.3";
   disabled = !pythonPackages.isPy3k;
 
   src = fetchFromGitHub {
     owner = "mhinz";
     repo = "neovim-remote";
     rev = "v${version}";
-    sha256 = "129yjpwn6480rd5na866h4mcr6rf60rqv651hks5fn3ws112n751";
+    sha256 = "0g7gs5gigk3krydxdpmscgfr1fms0a6rc6am2y4c5szkgbd1d0ph";
   };
 
   propagatedBuildInputs = with pythonPackages; [ pynvim psutil ];
diff --git a/pkgs/applications/editors/rednotebook/default.nix b/pkgs/applications/editors/rednotebook/default.nix
index 11a5b4c7ba34..6bb40f0166d1 100644
--- a/pkgs/applications/editors/rednotebook/default.nix
+++ b/pkgs/applications/editors/rednotebook/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonApplication rec {
   pname = "rednotebook";
-  version = "2.11.1";
+  version = "2.14";
 
   src = fetchFromGitHub {
     owner = "jendrikseipp";
     repo = "rednotebook";
     rev = "v${version}";
-    sha256 = "04c7a0wgmdl88v9386y1052c38ajbkryiwhqps5lx34d4g7r6hm1";
+    sha256 = "1xs2wvm9g8vypz25li7rm8m0j4dsdpqpajcvrc756x5m149dxc08";
   };
 
   # We have not packaged tests.
@@ -35,7 +35,7 @@ buildPythonApplication rec {
   strictDeps = false;
 
   meta = with lib; {
-    homepage = http://rednotebook.sourceforge.net/;
+    homepage = "https://rednotebook.sourceforge.io/";
     description = "A modern journal that includes a calendar navigation, customizable templates, export functionality and word clouds";
     license = licenses.gpl2;
     maintainers = with maintainers; [ orivej tstrobel ];
diff --git a/pkgs/applications/editors/retext/default.nix b/pkgs/applications/editors/retext/default.nix
index d1028ec6ce8d..e97423892616 100644
--- a/pkgs/applications/editors/retext/default.nix
+++ b/pkgs/applications/editors/retext/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, python3, fetchFromGitHub, makeWrapper, buildEnv, aspellDicts
+{ stdenv, python3, fetchFromGitHub, wrapQtAppsHook, buildEnv, aspellDicts
 # Use `lib.collect lib.isDerivation aspellDicts;` to make all dictionaries
 # available.
 , enchantAspellDicts ? with aspellDicts; [ en en-computers en-science ]
@@ -9,7 +9,7 @@ let
   python = let
     packageOverrides = self: super: {
       markdown = super.markdown.overridePythonAttrs(old: {
-        src =  super.fetchPypi {
+        src = super.fetchPypi {
           version = "3.0.1";
           pname = "Markdown";
           sha256 = "d02e0f9b04c500cde6637c11ad7c72671f359b87b9fe924b2383649d8841db7c";
@@ -17,11 +17,12 @@ let
       });
 
       chardet = super.chardet.overridePythonAttrs(old: {
-        src =  super.fetchPypi {
+        src = super.fetchPypi {
           version = "2.3.0";
           pname = "chardet";
           sha256 = "e53e38b3a4afe6d1132de62b7400a4ac363452dc5dfcf8d88e8e0cce663c68aa";
         };
+        patches = [];
       });
     };
     in python3.override { inherit packageOverrides; };
@@ -41,12 +42,11 @@ in python.pkgs.buildPythonApplication {
 
   doCheck = false;
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ wrapQtAppsHook ];
   propagatedBuildInputs = [ pythonEnv ];
 
   postInstall = ''
-    mv $out/bin/retext $out/bin/.retext
-    makeWrapper "$out/bin/.retext" "$out/bin/retext" \
+    wrapQtApp "$out/bin/retext" \
       --set ASPELL_CONF "dict-dir ${buildEnv {
         name = "aspell-all-dicts";
         paths = map (path: "${path}/lib/aspell") enchantAspellDicts;
diff --git a/pkgs/applications/editors/texstudio/default.nix b/pkgs/applications/editors/texstudio/default.nix
index f986d79ec50b..13b7f4db0c5b 100644
--- a/pkgs/applications/editors/texstudio/default.nix
+++ b/pkgs/applications/editors/texstudio/default.nix
@@ -1,5 +1,5 @@
 { lib, mkDerivation, fetchFromGitHub, qmake, qtbase, qtscript, qtsvg,
-  poppler, zlib, pkgconfig }:
+  wrapQtAppsHook, poppler, zlib, pkgconfig }:
 
 mkDerivation rec {
   pname = "texstudio";
@@ -12,7 +12,7 @@ mkDerivation rec {
     sha256 = "0ck65fvz6mzfpqdb1ndgyvgxdnslrwhdr1swgck4gaghcrgbg3gq";
   };
 
-  nativeBuildInputs = [ qmake pkgconfig ];
+  nativeBuildInputs = [ qmake wrapQtAppsHook pkgconfig ];
   buildInputs = [ qtbase qtscript qtsvg poppler zlib ];
 
   qmakeFlags = [ "NO_APPDATA=True" ];
diff --git a/pkgs/applications/editors/thonny/default.nix b/pkgs/applications/editors/thonny/default.nix
index a6179452f4d5..e1c939c93c93 100644
--- a/pkgs/applications/editors/thonny/default.nix
+++ b/pkgs/applications/editors/thonny/default.nix
@@ -4,13 +4,13 @@ with python3.pkgs;
 
 buildPythonApplication rec {
   pname = "thonny";
-  version = "3.2.0b7";
+  version = "3.2.3";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0p0hi5rj873cszx9rpbjjq51vs6xys3rlq9v1rya710i3fnw0hqh";
+    sha256 = "0wgjwjh6296vs8awl4rylb5nshj9q9kzxv7j4vlmiabll06mx6gi";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -22,6 +22,7 @@ buildPythonApplication rec {
     mypy
     pyperclip
     asttokens
+    send2trash
   ];
 
   preInstall = ''
diff --git a/pkgs/applications/editors/tiled/default.nix b/pkgs/applications/editors/tiled/default.nix
index fa9cc155f36a..e66530aaf769 100644
--- a/pkgs/applications/editors/tiled/default.nix
+++ b/pkgs/applications/editors/tiled/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "tiled";
-  version = "1.2.5";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "bjorn";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0sz8klz0nz60dhvz7pdn44zwr9q578pq50sxsbynz7irhrv02b52";
+    sha256 = "1vhg8m1b7ccccrzlp0pyf3qskgvlf6sn1w956zsczmndrixbli9a";
   };
 
   nativeBuildInputs = [ pkgconfig qmake ];
diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix
index d21d0ad5ee00..bb3d571e6f86 100644
--- a/pkgs/applications/editors/vim/configurable.nix
+++ b/pkgs/applications/editors/vim/configurable.nix
@@ -145,7 +145,12 @@ in stdenv.mkDerivation rec {
       cp ${vimPlugins.vim-nix.src}/syntax/nix.vim runtime/syntax/nix.vim
     '';
 
+  preInstall = ''
+    mkdir -p $out/share/applications $out/share/icons/{hicolor,locolor}/{16x16,32x32,48x48}/apps
+  '';
+
   postInstall = ''
+    ln -s $out/bin/vim $out/bin/vi
   '' + stdenv.lib.optionalString stdenv.isLinux ''
     patchelf --set-rpath \
       "$(patchelf --print-rpath $out/bin/vim):${stdenv.lib.makeLibraryPath buildInputs}" \
@@ -177,9 +182,5 @@ in stdenv.mkDerivation rec {
     rewrap gvimdiff -gd
   '';
 
-  preInstall = ''
-    mkdir -p $out/share/applications $out/share/icons/{hicolor,locolor}/{16x16,32x32,48x48}/apps
-  '';
-
-  dontStrip = 1;
+  dontStrip = true;
 }
diff --git a/pkgs/applications/editors/vim/macvim.nix b/pkgs/applications/editors/vim/macvim.nix
index 043948df7b43..ede12f50feca 100644
--- a/pkgs/applications/editors/vim/macvim.nix
+++ b/pkgs/applications/editors/vim/macvim.nix
@@ -76,6 +76,7 @@ stdenv.mkDerivation {
       "--with-tclsh=${tcl}/bin/tclsh"
       "--with-tlib=ncurses"
       "--with-compiledby=Nix"
+      "LDFLAGS=-headerpad_max_install_names"
   ];
 
   makeFlags = ''PREFIX=$(out) CPPFLAGS="-Wno-error"'';
diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix
index c6ea333b3a31..f914c90dd79d 100644
--- a/pkgs/applications/editors/vscode/vscode.nix
+++ b/pkgs/applications/editors/vscode/vscode.nix
@@ -11,13 +11,13 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "1jxjf1yg17l61n8qmnh4916426da8asp8p36lfyawxif8m9sx8ag";
-    x86_64-darwin = "1yxxvqpk849dzbzhdqz0j16f50z4slcx51bkv2svfb36nxdaahl1";
+    x86_64-linux = "1zxj1vav7swjmvvgcn1y61figjhqrczf8d16rk6yayja1pfjgvs5";
+    x86_64-darwin = "0f6ck40rkngzcm5xih1rbwpz905r533n2z08maycgf4iajgwrn43";
   }.${system};
 in
   callPackage ./generic.nix rec {
 
-    version = "1.40.0";
+    version = "1.40.1";
     pname = "vscode";
 
     executableName = "code" + lib.optionalString isInsiders "-insiders";
diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix
index e2386bc11189..b8010cab181a 100644
--- a/pkgs/applications/editors/vscode/vscodium.nix
+++ b/pkgs/applications/editors/vscode/vscodium.nix
@@ -11,8 +11,8 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "013jhmc29angqh9qb8jj0jqk4whqb59id61njm8gwz977sdgpf9l";
-    x86_64-darwin = "09jfii132cib1kn3bghwchdlvi4cfjqz5hvw6j5gr53h7j35k37j";
+    x86_64-linux = "0yi1ghliivhb50153dvv9q5gbbgh2dd1m3xrl1i097b3phrzb0j4";
+    x86_64-darwin = "1slf4h8yhhzlr6cm839y3zx7k831zl24xasi88z6xvib32rh9qxs";
   }.${system};
 
   sourceRoot = {
@@ -23,7 +23,7 @@ in
   callPackage ./generic.nix rec {
     inherit sourceRoot;
 
-    version = "1.39.2";
+    version = "1.40.0";
     pname = "vscodium";
 
     executableName = "codium";
@@ -50,7 +50,7 @@ in
       homepage = https://github.com/VSCodium/vscodium;
       downloadPage = https://github.com/VSCodium/vscodium/releases;
       license = licenses.mit;
-      maintainers = with maintainers; [];
+      maintainers = with maintainers; [ synthetica ];
       platforms = [ "x86_64-linux" "x86_64-darwin" ];
     };
   }
diff --git a/pkgs/applications/gis/saga/default.nix b/pkgs/applications/gis/saga/default.nix
index feb79f444b81..90e7af9944d3 100644
--- a/pkgs/applications/gis/saga/default.nix
+++ b/pkgs/applications/gis/saga/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gdal, wxGTK30, proj, libiodbc, lzma, jasper,
+{ stdenv, fetchurl, gdal, wxGTK30, proj, libiodbc, lzma,
   libharu, opencv, vigra, postgresql, Cocoa,
   unixODBC , poppler, hdf4, hdf5, netcdf, sqlite, qhull, giflib }:
 
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   # See https://groups.google.com/forum/#!topic/nix-devel/h_vSzEJAPXs
   # for why the have additional buildInputs on darwin
   buildInputs = [ gdal wxGTK30 proj libharu opencv vigra postgresql libiodbc lzma
-                  jasper qhull giflib ]
+                  qhull giflib ]
                 ++ stdenv.lib.optionals stdenv.isDarwin
                   [ Cocoa unixODBC poppler hdf4.out hdf5 netcdf sqlite ];
 
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix
index 2a4845659565..9cfccc7425bb 100644
--- a/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/pkgs/applications/graphics/ImageMagick/default.nix
@@ -13,8 +13,8 @@ let
     else throw "ImageMagick is not supported on this platform.";
 
   cfg = {
-    version = "6.9.10-69";
-    sha256 = "0l4lllis16gbwjpvvsyfz91i9nq11zb3lg2zlmyay7v5697jshh6";
+    version = "6.9.10-71";
+    sha256 = "0c69xmr8k8c4dplgzxydm30s2dr8biq71x07hc15bw196nsx3srr";
     patches = [];
   }
     # Freeze version on mingw so we don't need to port the patch too often.
diff --git a/pkgs/applications/graphics/antimony/default.nix b/pkgs/applications/graphics/antimony/default.nix
index 04e64b76d3f8..5966d6427ed6 100644
--- a/pkgs/applications/graphics/antimony/default.nix
+++ b/pkgs/applications/graphics/antimony/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, libpng, python3
-, libGLU_combined, qtbase, wrapQtAppsHook, ncurses
+, libGLU, libGL, qtbase, wrapQtAppsHook, ncurses
 , cmake, flex, lemon
 }:
 
@@ -29,7 +29,7 @@ in
 
     buildInputs = [
       libpng python3 python3.pkgs.boost
-      libGLU_combined qtbase wrapQtAppsHook
+      libGLU libGL qtbase wrapQtAppsHook
       ncurses
     ];
 
diff --git a/pkgs/applications/graphics/avocode/default.nix b/pkgs/applications/graphics/avocode/default.nix
index 1497fe199914..e2a7a9fe5c42 100644
--- a/pkgs/applications/graphics/avocode/default.nix
+++ b/pkgs/applications/graphics/avocode/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "avocode";
-  version = "3.9.6";
+  version = "4.0.1";
 
   src = fetchurl {
     url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
-    sha256 = "0jnl461dg2s5panrw12707bv34g6wxc1pxc90awnja13yq0z6bfc";
+    sha256 = "13jwxwvwb9nnjxcnh9vfi22n4c00bhdypl84wrpdg5xw9325zhvy";
   };
 
   libPath = stdenv.lib.makeLibraryPath (with xorg; [
diff --git a/pkgs/applications/graphics/cinepaint/default.nix b/pkgs/applications/graphics/cinepaint/default.nix
index 57cf6c3f13f4..2b70ea3b4507 100644
--- a/pkgs/applications/graphics/cinepaint/default.nix
+++ b/pkgs/applications/graphics/cinepaint/default.nix
@@ -2,7 +2,7 @@
   flex, libtiff, libjpeg, libpng, libexif, zlib, perlPackages, libX11,
   pythonPackages, gettext, intltool, babl, gegl,
   glib, makedepend, xorgproto, libXmu, openexr,
-  libGLU_combined, libXext, libXpm, libXau, libXxf86vm, pixman, libpthreadstubs, fltk } :
+  libGLU, libGL, libXext, libXpm, libXau, libXxf86vm, pixman, libpthreadstubs, fltk } :
 
 let
   inherit (pythonPackages) python pygtk;
@@ -16,7 +16,7 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [ libpng gtk2 freetype fontconfig lcms flex libtiff libjpeg
     libexif zlib libX11 python pygtk gettext intltool babl
-    gegl glib makedepend xorgproto libXmu openexr libGLU_combined
+    gegl glib makedepend xorgproto libXmu openexr libGLU libGL
     libXext libXpm libXau libXxf86vm pixman libpthreadstubs fltk
   ] ++ (with perlPackages; [ perl XMLParser ]);
 
diff --git a/pkgs/applications/graphics/cq-editor/default.nix b/pkgs/applications/graphics/cq-editor/default.nix
new file mode 100644
index 000000000000..32d079d85ff3
--- /dev/null
+++ b/pkgs/applications/graphics/cq-editor/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, mkDerivationWith
+, python3Packages
+, fetchFromGitHub
+}:
+
+mkDerivationWith python3Packages.buildPythonApplication rec {
+  pname = "cq-editor";
+  version = "0.1RC1";
+
+  src = fetchFromGitHub {
+    owner = "CadQuery";
+    repo = "CQ-editor";
+    rev = version;
+    sha256 = "0iwcpnj15s64k16948sakvkn1lb4mqwrhmbxk3r03bczs0z33zax";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    cadquery
+    Logbook
+    pyqt5
+    pyparsing
+    pyqtgraph
+    spyder
+    pathpy
+    qtconsole
+    requests
+  ];
+
+  postFixup = ''
+    wrapQtApp "$out/bin/cq-editor"
+  '';
+
+  checkInputs = with python3Packages; [
+    pytest
+    pytest-xvfb
+    pytest-mock
+    pytestcov
+    pytest-repeat
+    pytest-qt
+  ];
+
+  checkPhase = ''
+    pytest --no-xvfb
+  '';
+
+  # requires X server
+  doCheck = false;
+
+  meta = with lib; {
+    description = "CadQuery GUI editor based on PyQT";
+    homepage = "https://github.com/CadQuery/CQ-editor";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ costrouc marcus7070 ];
+  };
+
+}
diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/applications/graphics/digikam/default.nix
index 1fc15af72441..1d9b06de29f6 100644
--- a/pkgs/applications/graphics/digikam/default.nix
+++ b/pkgs/applications/graphics/digikam/default.nix
@@ -26,7 +26,7 @@
 , exiv2
 , ffmpeg
 , flex
-, jasper
+, jasper ? null, withJpeg2k ? false  # disable JPEG2000 support, jasper has unfixed CVE
 , lcms2
 , lensfun
 , libgphoto2
@@ -70,7 +70,6 @@ mkDerivation rec {
     exiv2
     ffmpeg
     flex
-    jasper
     lcms2
     lensfun
     libgphoto2
@@ -103,7 +102,8 @@ mkDerivation rec {
     marble
     oxygen
     threadweaver
-  ];
+  ]
+  ++ lib.optionals withJpeg2k [ jasper ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/graphics/draftsight/default.nix b/pkgs/applications/graphics/draftsight/default.nix
index e59d14f7dd6e..144c723da20f 100644
--- a/pkgs/applications/graphics/draftsight/default.nix
+++ b/pkgs/applications/graphics/draftsight/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, dpkg, makeWrapper, gcc, libGLU_combined, xdg_utils,
+{ stdenv, fetchurl, dpkg, makeWrapper, gcc, libGLU, libGL, xdg_utils,
   dbus, alsaLib, cups, fontconfig, glib, icu, libpng12,
   xkeyboard_config, zlib, libxslt, libxml2, sqlite, orc,
   libX11, libXcursor, libXrandr, libxcb, libXi, libSM, libICE,
@@ -71,7 +71,7 @@ stdenv.mkDerivation {
     sha256 = "05lrvml0zkzqg0sj6sj2h8h66hxdmsw5fg9fwz923r1y8j48qxdx";
   };
 
-  libPath = stdenv.lib.makeLibraryPath [ gcc.cc libGLU_combined xdg_utils
+  libPath = stdenv.lib.makeLibraryPath [ gcc.cc libGLU libGL xdg_utils
     dbus alsaLib cups.lib fontconfig glib icu libpng12
     xkeyboard_config zlib libxslt libxml2 sqlite orc libX11
     libXcursor libXrandr libxcb libXi libSM libICE libXrender
diff --git a/pkgs/applications/graphics/drawpile/default.nix b/pkgs/applications/graphics/drawpile/default.nix
index b4f6776e02cb..c284f15a8747 100644
--- a/pkgs/applications/graphics/drawpile/default.nix
+++ b/pkgs/applications/graphics/drawpile/default.nix
@@ -60,11 +60,11 @@ let
 
 in mkDerivation rec {
   pname = "drawpile";
-  version = "2.1.13";
+  version = "2.1.14";
 
   src = fetchurl {
     url = "https://drawpile.net/files/src/drawpile-${version}.tar.gz";
-    sha256 = "0r56hkzjdlg4615zvrjv60i3f06pv7ssh6bs6jb46qs8wbsawsxf";
+    sha256 = "0vpsq8swvli6xiykjqjmdcz33jd44nvhq1n350dm9qap9s9wdr47";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/exrdisplay/default.nix b/pkgs/applications/graphics/exrdisplay/default.nix
index 562fb8c11dc3..d8b08faf2398 100644
--- a/pkgs/applications/graphics/exrdisplay/default.nix
+++ b/pkgs/applications/graphics/exrdisplay/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, fltk, openexr, libGLU_combined, ctl }:
+{ stdenv, fetchurl, pkgconfig, fltk, openexr, libGLU, libGL, ctl }:
 
 stdenv.mkDerivation {
   name ="openexr_viewers-2.2.1";
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   '';
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ openexr fltk libGLU_combined ctl ];
+  buildInputs = [ openexr fltk libGLU libGL ctl ];
 
   meta = {
     description = "Application for viewing OpenEXR images on a display at various exposure settings";
diff --git a/pkgs/applications/graphics/fbida/default.nix b/pkgs/applications/graphics/fbida/default.nix
index f5560a9b2032..3e64783df316 100644
--- a/pkgs/applications/graphics/fbida/default.nix
+++ b/pkgs/applications/graphics/fbida/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "Image viewing and manipulation programs";
+    description = "Image viewing and manipulation programs including fbi, fbgs, ida, exiftran and thumbnail.cgi";
     homepage = https://www.kraxel.org/blog/linux/fbida/;
     license = licenses.gpl2;
     maintainers = with maintainers; [ pSub ];
diff --git a/pkgs/applications/graphics/fig2dev/default.nix b/pkgs/applications/graphics/fig2dev/default.nix
index ae38730226a4..c364badc1742 100644
--- a/pkgs/applications/graphics/fig2dev/default.nix
+++ b/pkgs/applications/graphics/fig2dev/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, ghostscript, libpng } :
 
 let
-  version = "3.2.7a";
+  version = "3.2.7b";
 
 in stdenv.mkDerivation {
   pname = "fig2dev";
@@ -9,7 +9,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/mcj/fig2dev-${version}.tar.xz";
-    sha256 = "0a7vkfl38fvkhg3na5gr9c4fskas9wbs84y9djg85nzwbshik8mx";
+    sha256 = "1ck8gnqgg13xkxq4hrdy706i4xdgrlckx6bi6wxm1g514121pp27";
   };
 
   buildInputs = [ libpng ];
diff --git a/pkgs/applications/graphics/freepv/default.nix b/pkgs/applications/graphics/freepv/default.nix
index 0bd3421f1b10..57321220fb14 100644
--- a/pkgs/applications/graphics/freepv/default.nix
+++ b/pkgs/applications/graphics/freepv/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libjpeg, libGLU_combined, freeglut, zlib, cmake, libX11, libxml2, libpng,
+{ stdenv, fetchurl, libjpeg, libGLU, libGL, freeglut, zlib, cmake, libX11, libxml2, libpng,
   libXxf86vm }:
 
 stdenv.mkDerivation {
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
     sha256 = "1w19abqjn64w47m35alg7bcdl1p97nf11zn64cp4p0dydihmhv56";
   };
 
-  buildInputs = [ libjpeg libGLU_combined freeglut zlib cmake libX11 libxml2 libpng
+  buildInputs = [ libjpeg libGLU libGL freeglut zlib cmake libX11 libxml2 libpng
     libXxf86vm ];
 
   postPatch = ''
diff --git a/pkgs/applications/graphics/gimp/default.nix b/pkgs/applications/graphics/gimp/default.nix
index e53deb99b5bd..a67a03b3e070 100644
--- a/pkgs/applications/graphics/gimp/default.nix
+++ b/pkgs/applications/graphics/gimp/default.nix
@@ -52,6 +52,8 @@ in stdenv.mkDerivation rec {
   pname = "gimp";
   version = "2.10.14";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchurl {
     url = "http://download.gimp.org/pub/gimp/v${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
     sha256 = "0m6wdnfvsxyhimdd4v3351g4r1fklllnbipbwcfym3h7q88hz6yz";
diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix
index 29c1445b9ce8..fa29c979b050 100644
--- a/pkgs/applications/graphics/gimp/plugins/default.nix
+++ b/pkgs/applications/graphics/gimp/plugins/default.nix
@@ -68,13 +68,20 @@ stdenv.lib.makeScope pkgs.newScope (self: with self; {
        Filters/Generic/FFT Forward
        Filters/Generic/FFT Inverse
     */
-    name = "fourier-0.4.1";
+    name = "fourier-0.4.3";
     buildInputs = with pkgs; [ fftw ];
-    postInstall = "fail";
-    installPhase = "installPlugins fourier";
+
     src = fetchurl {
-      url = "http://registry.gimp.org/files/${name}.tar.gz";
-      sha256 = "1pr3y3zl9w8xs1circdrxpr98myz9m8wfzy022al79z4pdanwvs1";
+      url = "https://www.lprp.fr/files/old-web/soft/gimp/${name}.tar.gz";
+      sha256 = "0mf7f8vaqs2madx832x3kcxw3hv3w3wampvzvaps1mkf2kvrjbsn";
+    };
+
+    installPhase = "installPlugins fourier";
+
+    meta = with stdenv.lib; {
+      description = "GIMP plug-in to do the fourier transform";
+      homepage = "https://people.via.ecp.fr/~remi/soft/gimp/gimp_plugin_en.php3#fourier";
+      license = with licenses; [ gpl3Plus ];
     };
   };
 
diff --git a/pkgs/applications/graphics/glabels/default.nix b/pkgs/applications/graphics/glabels/default.nix
index 3bfd51d0370d..fef296f45be2 100644
--- a/pkgs/applications/graphics/glabels/default.nix
+++ b/pkgs/applications/graphics/glabels/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, barcode, gnome3, autoreconfHook
 , gtk3, gtk-doc, libxml2, librsvg , libtool, libe-book, gsettings-desktop-schemas
-, intltool, itstool, makeWrapper, pkgconfig
+, intltool, itstool, makeWrapper, pkgconfig, yelp-tools
 }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook pkgconfig makeWrapper intltool ];
   buildInputs = [
-    barcode gtk3 gtk-doc gnome3.yelp-tools
+    barcode gtk3 gtk-doc yelp-tools
     gnome3.gnome-common gsettings-desktop-schemas
     itstool libxml2 librsvg libe-book libtool
   ];
diff --git a/pkgs/applications/graphics/gthumb/default.nix b/pkgs/applications/graphics/gthumb/default.nix
index d7c0f0e0a0cf..f0057f3a1a88 100644
--- a/pkgs/applications/graphics/gthumb/default.nix
+++ b/pkgs/applications/graphics/gthumb/default.nix
@@ -33,11 +33,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gthumb";
-  version = "3.8.1";
+  version = "3.8.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "184zn79w4s9y1zy42ar31p3jsg8rmkxy8k6iry51nz8aizbcs7jb";
+    sha256 = "15wqks35ks5dm7zj046dfd45vvrilan2ayfy2sxiprv7q74cip2q";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/hugin/default.nix b/pkgs/applications/graphics/hugin/default.nix
index d7888da15ef6..8f7800a7323a 100644
--- a/pkgs/applications/graphics/hugin/default.nix
+++ b/pkgs/applications/graphics/hugin/default.nix
@@ -1,7 +1,7 @@
 { stdenv, cmake, fetchurl, gnumake, makeWrapper, pkgconfig, fetchpatch
 , autopanosiftc, boost, cairo, enblend-enfuse, exiv2, fftw, flann, gettext
 , glew, ilmbase, lcms2, lensfun, libjpeg, libpng, libtiff, libX11, libXi
-, libXmu, libGLU_combined, openexr, panotools, perlPackages, sqlite, vigra, wxGTK, zlib
+, libXmu, libGLU, libGL, openexr, panotools, perlPackages, sqlite, vigra, wxGTK, zlib
 }:
 
 stdenv.mkDerivation rec {
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     boost cairo exiv2 fftw flann gettext glew ilmbase lcms2 lensfun libjpeg
-    libpng libtiff libX11 libXi libXmu libGLU_combined openexr panotools sqlite vigra
+    libpng libtiff libX11 libXi libXmu libGLU libGL openexr panotools sqlite vigra
     wxGTK zlib
   ];
 
diff --git a/pkgs/applications/graphics/ideogram/default.nix b/pkgs/applications/graphics/ideogram/default.nix
index 61b45ce16032..36afe8dd3e00 100644
--- a/pkgs/applications/graphics/ideogram/default.nix
+++ b/pkgs/applications/graphics/ideogram/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ideogram";
-  version = "1.2.2";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "cassidyjames";
     repo = pname;
     rev = version;
-    sha256 = "1qakgg3y4n2vcnykk2004ndvwmjbk2yy0p4j30mlb7p14dxscif6";
+    sha256 = "0ghc7hk4b4r3a0x9r30rrgv3rarxyjr2hf9ig244xwvhh5rn3j10";
   };
 
   nativeBuildInputs = [
@@ -45,14 +45,6 @@ stdenv.mkDerivation rec {
     xorg.libXtst
   ];
 
-  patches = [
-    # See: https://github.com/cassidyjames/ideogram/issues/26
-    (fetchpatch {
-      url = "https://github.com/cassidyjames/ideogram/commit/65994ee11bd21f8316b057cec01afbf50639a708.patch";
-      sha256 = "12vrvvggpqq53dmhbm7gbbbigncn19m1fjln9wxaady21m0w776c";
-    })
-  ];
-
   postPatch = ''
     chmod +x meson/post_install.py
     patchShebangs meson/post_install.py
diff --git a/pkgs/applications/graphics/k3d/default.nix b/pkgs/applications/graphics/k3d/default.nix
index 1487fb8adbac..317987d8d911 100644
--- a/pkgs/applications/graphics/k3d/default.nix
+++ b/pkgs/applications/graphics/k3d/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, fetchpatch, ftgl, glew, asciidoc
-, cmake, ninja, libGLU_combined, zlib, python, expat, libxml2, libsigcxx, libuuid, freetype
+, cmake, ninja, libGLU, libGL, zlib, python, expat, libxml2, libsigcxx, libuuid, freetype
 , libpng, boost, doxygen, cairomm, pkgconfig, imagemagick, libjpeg, libtiff
 , gettext, intltool, perl, gtkmm2, glibmm, gtkglext, pangox_compat, libXmu }:
 
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ninja gettext intltool doxygen pkgconfig perl asciidoc ];
 
   buildInputs = [
-     libGLU_combined zlib python expat libxml2 libsigcxx libuuid freetype libpng
+     libGLU libGL zlib python expat libxml2 libsigcxx libuuid freetype libpng
      boost cairomm imagemagick libjpeg libtiff
      ftgl glew gtkmm2 glibmm gtkglext pangox_compat libXmu
     ];
diff --git a/pkgs/applications/graphics/kodelife/default.nix b/pkgs/applications/graphics/kodelife/default.nix
index 961b0175da9f..47a0687e79da 100644
--- a/pkgs/applications/graphics/kodelife/default.nix
+++ b/pkgs/applications/graphics/kodelife/default.nix
@@ -3,17 +3,17 @@
 , alsaLib
 , glib
 , gst_all_1
-, libGLU_combined
+, libGLU, libGL
 , xorg
 }:
 
 stdenv.mkDerivation rec {
   pname = "kodelife";
-  version = "0.8.6.101";
+  version = "0.8.7.105";
 
   src = fetchzip {
     url = "https://hexler.net/pub/${pname}/${pname}-${version}-linux-x86_64.zip";
-    sha256 = "1ldab1famdcby2djfys657g85d46s8k96m6mr71riw4v336ar238";
+    sha256 = "0ld4lwigzwlikx04qy3gskqqg0wzlk8m3ccrd704ifl8lsp46n5r";
   };
 
   dontConfigure = true;
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
       glib
       gst_all_1.gstreamer
       gst_all_1.gst-plugins-base
-      libGLU_combined
+      libGLU libGL
       xorg.libX11
     ];
   in ''
diff --git a/pkgs/applications/graphics/mypaint/default.nix b/pkgs/applications/graphics/mypaint/default.nix
index c08bbbea7668..1acaf4850ebe 100644
--- a/pkgs/applications/graphics/mypaint/default.nix
+++ b/pkgs/applications/graphics/mypaint/default.nix
@@ -1,8 +1,22 @@
-{ stdenv, fetchFromGitHub, gtk3, intltool, json_c, lcms2, libpng, librsvg, gobject-introspection
-, gdk-pixbuf, pkgconfig, python2Packages, scons, swig, wrapGAppsHook }:
+{ stdenv
+, fetchFromGitHub
+, gtk3
+, intltool
+, json_c
+, lcms2
+, libpng
+, librsvg
+, gobject-introspection
+, gdk-pixbuf
+, pkgconfig
+, python2
+, scons
+, swig
+, wrapGAppsHook
+}:
 
 let
-  inherit (python2Packages) python pycairo pygobject3 numpy;
+  inherit (python2.pkgs) pycairo pygobject3 numpy;
 in stdenv.mkDerivation {
   pname = "mypaint";
   version = "1.2.1";
@@ -16,18 +30,32 @@ in stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [
-    intltool pkgconfig scons swig wrapGAppsHook
+    intltool
+    pkgconfig
+    scons
+    swig
+    wrapGAppsHook
     gobject-introspection # for setup hook
   ];
 
   buildInputs = [
-    gtk3 gdk-pixbuf json_c lcms2 libpng librsvg pycairo pygobject3 python
+    gtk3
+    gdk-pixbuf
+    json_c
+    lcms2
+    libpng
+    librsvg
+    pycairo
+    pygobject3
+    python2
   ];
 
-  propagatedBuildInputs = [ numpy ];
+  propagatedBuildInputs = [
+    numpy
+  ];
 
   postInstall = ''
-    sed -i -e 's|/usr/bin/env python2.7|${python}/bin/python|' $out/bin/mypaint
+    sed -i -e 's|/usr/bin/env python2.7|${python2}/bin/python|' $out/bin/mypaint
   '';
 
   preFixup = ''
@@ -36,7 +64,7 @@ in stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "A graphics application for digital painters";
-    homepage = http://mypaint.org/;
+    homepage = "http://mypaint.org/";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ goibhniu jtojnar ];
diff --git a/pkgs/applications/graphics/nomacs/default.nix b/pkgs/applications/graphics/nomacs/default.nix
index 62fae518b929..48a79e8844e8 100644
--- a/pkgs/applications/graphics/nomacs/default.nix
+++ b/pkgs/applications/graphics/nomacs/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , mkDerivation
 , fetchFromGitHub
+, fetchpatch
 , cmake
 , pkgconfig
 
@@ -9,7 +10,7 @@
 , qtsvg
 
 , exiv2
-, opencv
+, opencv4
 , libraw
 , libtiff
 , quazip
@@ -28,6 +29,12 @@ mkDerivation rec {
 
   patches = [
     ./nomacs-iostream.patch
+    (fetchpatch {
+      name = "darwin-less-restrictive-opencv.patch";
+      url = "https://github.com/nomacs/nomacs/commit/d182fce4bcd9a25bd15e3de065ca67849a32458c.patch";
+      sha256 = "0j6sviwrjn69nqf59hjn30c4j838h8az7rnlwcx8ymlb21vd9x2h";
+      stripLen = 1;
+    })
   ];
 
   enableParallelBuilding = true;
@@ -43,7 +50,7 @@ mkDerivation rec {
                  qttools
                  qtsvg
                  exiv2
-                 opencv
+                 opencv4
                  libraw
                  libtiff
                  quazip];
diff --git a/pkgs/applications/graphics/openimageio/2.x.nix b/pkgs/applications/graphics/openimageio/2.x.nix
index 69cc323b40f4..bbd2f0b59298 100644
--- a/pkgs/applications/graphics/openimageio/2.x.nix
+++ b/pkgs/applications/graphics/openimageio/2.x.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openimageio";
-  version = "2.0.11";
+  version = "2.0.12";
 
   src = fetchFromGitHub {
     owner = "OpenImageIO";
     repo = "oiio";
     rev = "Release-${version}";
-    sha256 = "1kasp9as81wjvys9qrx10mgdf9bjbdgryhdgjqn05zdmv2rs95nc";
+    sha256 = "0v3k33jb0glb30jdhq3c732a9dxvnidaclz6b2wpqwik8l3658mj";
   };
 
   outputs = [ "bin" "out" "dev" "doc" ];
diff --git a/pkgs/applications/graphics/openscad/default.nix b/pkgs/applications/graphics/openscad/default.nix
index 9f7fbc8421ba..2c95f6d403f2 100644
--- a/pkgs/applications/graphics/openscad/default.nix
+++ b/pkgs/applications/graphics/openscad/default.nix
@@ -7,7 +7,7 @@
 , flex
 , eigen
 , boost
-, libGLU_combined
+, libGLU, libGL
 , glew
 , opencsg
 , cgal
@@ -44,7 +44,7 @@ mkDerivation rec {
     eigen boost glew opencsg cgal mpfr gmp glib
     harfbuzz lib3mf libzip double-conversion freetype fontconfig
     qtbase qtmultimedia qscintilla
-  ] ++ stdenv.lib.optional stdenv.isLinux libGLU_combined
+  ] ++ stdenv.lib.optionals stdenv.isLinux [ libGLU libGL ]
     ++ stdenv.lib.optional stdenv.isDarwin qtmacextras
   ;
 
diff --git a/pkgs/applications/graphics/paraview/default.nix b/pkgs/applications/graphics/paraview/default.nix
index fdda8062a433..1a47a3557493 100644
--- a/pkgs/applications/graphics/paraview/default.nix
+++ b/pkgs/applications/graphics/paraview/default.nix
@@ -1,6 +1,6 @@
 {
 stdenv, fetchFromGitHub, cmake, makeWrapper
-,qtbase, qttools, python, libGLU_combined
+,qtbase, qttools, python, libGLU, libGL
 ,libXt, qtx11extras, qtxmlpatterns
 , mkDerivation
 }:
@@ -43,7 +43,7 @@ mkDerivation rec {
   buildInputs = [
     python
     python.pkgs.numpy
-    libGLU_combined
+    libGLU libGL
     libXt
     qtbase
     qtx11extras
diff --git a/pkgs/applications/graphics/pdfcpu/default.nix b/pkgs/applications/graphics/pdfcpu/default.nix
index 3d6d04db5539..3df2ab4ab406 100644
--- a/pkgs/applications/graphics/pdfcpu/default.nix
+++ b/pkgs/applications/graphics/pdfcpu/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pdfcpu";
-  version = "0.2.5";
+  version = "0.3";
 
   src = fetchFromGitHub {
     owner = "pdfcpu";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0fgdq8byb9pp9wiq3dm0vxw32kbspczqnk41agxpzjf303zmv75y";
+    sha256 = "03v4wc531dwmbjqgs3y3ncdn6g3xirv1w6h1mfgglb6sjll8jxp5";
   };
 
   modSha256 = "1nagb3k2ghfw27g4vcmn7v8s5flg387jpf1l18gw6c44a1xjcivs";
diff --git a/pkgs/applications/graphics/rawtherapee/default.nix b/pkgs/applications/graphics/rawtherapee/default.nix
index 74e8c0e6b434..bda164465245 100644
--- a/pkgs/applications/graphics/rawtherapee/default.nix
+++ b/pkgs/applications/graphics/rawtherapee/default.nix
@@ -1,24 +1,24 @@
 { stdenv, fetchFromGitHub, pkgconfig, cmake, pixman, libpthreadstubs, gtkmm3, libXau
 , libXdmcp, lcms2, libiptcdata, libcanberra-gtk3, fftw, expat, pcre, libsigcxx, wrapGAppsHook
-, lensfun
+, lensfun, librsvg
 }:
 
 stdenv.mkDerivation rec {
-  version = "5.5";
-  name = "rawtherapee-" + version;
+  version = "5.7";
+  pname = "rawtherapee";
 
   src = fetchFromGitHub {
     owner = "Beep6581";
     repo = "RawTherapee";
     rev = version;
-    sha256 = "13clnx7rwkfa7wxgsim1xdx2pd7gwmmdad1m8a3fvywr20ml8xzk";
+    sha256 = "0j3887a3683fqpvp66kaw6x81ai3gf5nvrbmb4cc8rb0lgj2xv2g";
   };
 
   nativeBuildInputs = [ cmake pkgconfig wrapGAppsHook ];
 
   buildInputs = [
     pixman libpthreadstubs gtkmm3 libXau libXdmcp
-    lcms2 libiptcdata libcanberra-gtk3 fftw expat pcre libsigcxx lensfun
+    lcms2 libiptcdata libcanberra-gtk3 fftw expat pcre libsigcxx lensfun librsvg
   ];
 
   cmakeFlags = [
diff --git a/pkgs/applications/graphics/sane/backends/default.nix b/pkgs/applications/graphics/sane/backends/default.nix
index 20d5629b83a9..4245acf716d5 100644
--- a/pkgs/applications/graphics/sane/backends/default.nix
+++ b/pkgs/applications/graphics/sane/backends/default.nix
@@ -5,7 +5,7 @@ callPackage ./generic.nix (args // rec {
   src = fetchurl {
     sha256 = "1j9nbqspaj0rlgalafb5z6r606k0i22kz0rcpd744p176yzlfdr9";
     urls = [
-      "https://alioth.debian.org/frs/download.php/latestfile/176/sane-backends-${version}.tar.gz"
+      "https://alioth-archive.debian.org/releases/sane/sane-backends/${version}/sane-backends-${version}.tar.gz"
     ];
   };
 })
diff --git a/pkgs/applications/graphics/sane/backends/git.nix b/pkgs/applications/graphics/sane/backends/git.nix
index e746f83e5d49..2edd739068d9 100644
--- a/pkgs/applications/graphics/sane/backends/git.nix
+++ b/pkgs/applications/graphics/sane/backends/git.nix
@@ -5,6 +5,6 @@ callPackage ./generic.nix (args // {
   src = fetchgit {
     sha256 = "0qf7d7268kdxnb723c03m6icxhbgx0vw8gqvck2q1w5b948dy9g8";
     rev = "e895ee55bec8a3320a0e972b32c05d35b47fe226";
-    url = "git://alioth.debian.org/git/sane/sane-backends.git";
+    url = "https://gitlab.com/sane-project/backends.git";
   };
 })
diff --git a/pkgs/applications/graphics/sane/frontends.nix b/pkgs/applications/graphics/sane/frontends.nix
index 66473c4a155f..b00f8f6c58d7 100644
--- a/pkgs/applications/graphics/sane/frontends.nix
+++ b/pkgs/applications/graphics/sane/frontends.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.0.14";
 
   src = fetchurl {
-    url = "https://alioth.debian.org/frs/download.php/latestfile/175/${pname}-${version}.tar.gz";
+    url = "https://alioth-archive.debian.org/releases/sane/${pname}/${version}/${pname}-${version}.tar.gz";
     sha256 = "1ad4zr7rcxpda8yzvfkq1rfjgx9nl6lan5a628wvpdbh3fn9v0z7";
   };
 
diff --git a/pkgs/applications/graphics/seg3d/cstdio.patch b/pkgs/applications/graphics/seg3d/cstdio.patch
deleted file mode 100644
index 0d9eed07a367..000000000000
--- a/pkgs/applications/graphics/seg3d/cstdio.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-diff --git a/Core/Geometry/Transform.cc b/Core/Geometry/Transform.cc
-index 4f16fdc..0da4679 100644
---- a/Core/Geometry/Transform.cc
-+++ b/Core/Geometry/Transform.cc
-@@ -28,6 +28,7 @@
- 
- #include <cassert>
- #include <cstring>
-+#include <cstdio>
- 
- #include <Core/Util/TypeDescription.h>
- #include <Core/Geometry/Transform.h>
-diff --git a/Core/Util/FullFileName.cc b/Core/Util/FullFileName.cc
-index 7a2cad7..7710e92 100644
---- a/Core/Util/FullFileName.cc
-+++ b/Core/Util/FullFileName.cc
-@@ -29,6 +29,7 @@
- 
- #include <Core/Util/FullFileName.h>
- #include <iostream>
-+#include <cstdio>
- 
- namespace SCIRun {
- 
-diff --git a/Externals/particle-system-mm/src/sizingfield/LFS.cxx b/Externals/particle-system-mm/src/sizingfield/LFS.cxx
-index d1fa5aa..a5a4358 100644
---- a/Externals/particle-system-mm/src/sizingfield/LFS.cxx
-+++ b/Externals/particle-system-mm/src/sizingfield/LFS.cxx
-@@ -1,5 +1,6 @@
- #include <cstdlib>
- #include <iostream>
-+#include <cstdio>
- #include <LFS.h>
- 
- using namespace std;
-diff --git a/Externals/slivr/Point.cc b/Externals/slivr/Point.cc
-index d3be03e..ed4e503 100644
---- a/Externals/slivr/Point.cc
-+++ b/Externals/slivr/Point.cc
-@@ -42,6 +42,7 @@
- #include <slivr/Point.h>
- #include <slivr/Vector.h>
- #include <iostream>
-+#include <cstdio>
- 
- namespace SLIVR {
- 
-diff --git a/Externals/slivr/Transform.cc b/Externals/slivr/Transform.cc
-index c0a4430..520179f 100644
---- a/Externals/slivr/Transform.cc
-+++ b/Externals/slivr/Transform.cc
-@@ -47,6 +47,7 @@
- #include <math.h>
- #include <string.h>
- #include <iostream>
-+#include <cstdio>
- 
- using namespace SLIVR;
- using namespace std;
-diff --git a/Externals/slivr/Vector.cc b/Externals/slivr/Vector.cc
-index 8370d65..8b04bb9 100644
---- a/Externals/slivr/Vector.cc
-+++ b/Externals/slivr/Vector.cc
-@@ -43,6 +43,7 @@
- #include <slivr/Point.h>
- #include <assert.h>
- #include <iostream>
-+#include <cstdio>
- 
- using std::istream;
- using std::ostream;
-diff --git a/Externals/vispack/src/image/imagefile.txx b/Externals/vispack/src/image/imagefile.txx
-index ced2590..13a32b2 100644
---- a/Externals/vispack/src/image/imagefile.txx
-+++ b/Externals/vispack/src/image/imagefile.txx
-@@ -1,3 +1,5 @@
-+#include <cstdio>
-+
- template <class T>
- int write_raw(const char* name, const VISImage<T>& im)
- {
diff --git a/pkgs/applications/graphics/seg3d/default.nix b/pkgs/applications/graphics/seg3d/default.nix
deleted file mode 100644
index 58cec2ec1703..000000000000
--- a/pkgs/applications/graphics/seg3d/default.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ fetchurl, stdenv, cmake, wxGTK, itk, libGLU_combined, libXft, libXext, libXi, zlib, libXmu,
-libuuid }:
-
-assert (stdenv ? glibc);
-
-stdenv.mkDerivation {
-  name = "seg3d-1.12_20090930";
-  src = fetchurl {
-    url = https://www.sci.utah.edu/releases/seg3d_v1.12/Seg3D_1.12_20090930_source.tgz;
-    sha256 = "1wr6rc6v5qjjkmws8yrc03z35h3iydxk1z28p06v1wdnca0y71z8";
-  };
-
-  patches = [ ./cstdio.patch ];
-
-  cmakeFlags = [
-    "-DM_LIBRARY=${stdenv.glibc.out}/lib/libm.so"
-    "-DDL_LIBRARY=${stdenv.glibc.out}/lib/libdl.so"
-    "-DBUILD_UTILS=1"
-    "-DBUILD_SEG3D=1"
-    "-DBUILD_DATAFLOW=0"
-    "-DBUILD_SHARED_LIBS=0"
-    "-DWITH_X11=1"
-    "-DBUILD_BIOMESH3D=1"
-    "-DWITH_TETGEN=1"
-    "-DBUILD_TYPE=Release"
-    "-DWITH_WXWIDGETS=ON"
-    "-DITK_DIR=${itk}/lib/InsightToolkit"
-    "-DGDCM_LIBRARY=${itk}/lib/libitkgdcm.a"
-  ];
-
-
-  makeFlags = "VERBOSE=1";
-
-  preBuild = ''
-    export LD_LIBRARY_PATH=`pwd`/lib
-    export NIX_LDFLAGS="$NIX_LDFLAGS -lGLU -lSM -lICE -lX11 -lXext -luuid";
-  '';
-
-  preUnpack = ''
-    set -x
-    sourceRoot=`pwd`/src
-  '';
-
-  postInstall = ''
-    cp Seg3D $out/bin
-    exit 1
-  '';
-
-  buildInputs = [ cmake wxGTK itk libGLU_combined libXft libXext libXi zlib libXmu libuuid ];
-
-  meta = {
-    broken = true;
-  };
-}
diff --git a/pkgs/applications/graphics/xournalpp/default.nix b/pkgs/applications/graphics/xournalpp/default.nix
index 3597b97fae63..76f8e03fa13f 100644
--- a/pkgs/applications/graphics/xournalpp/default.nix
+++ b/pkgs/applications/graphics/xournalpp/default.nix
@@ -23,13 +23,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xournalpp";
-  version = "1.0.15";
+  version = "1.0.16";
 
   src = fetchFromGitHub {
     owner = "xournalpp";
     repo = pname;
     rev = version;
-    sha256 = "1q716hn2ajkxfba0dxp7vcnqfa31hx36ax09yz4d13sdw43rfjf4";
+    sha256 = "1bdmxxkcqpjvkckizmrz2839b4yspw4xv69bqkrrgkcyvxsr804w";
   };
 
   nativeBuildInputs = [ cmake gettext pkgconfig wrapGAppsHook ];
diff --git a/pkgs/applications/kde/kcachegrind.nix b/pkgs/applications/kde/kcachegrind.nix
index 91faaef623a4..16fc6c517774 100644
--- a/pkgs/applications/kde/kcachegrind.nix
+++ b/pkgs/applications/kde/kcachegrind.nix
@@ -1,7 +1,8 @@
 {
   mkDerivation, lib,
   extra-cmake-modules, kdoctools,
-  karchive, ki18n, kio, perl, python, php, qttools,
+  karchive, ki18n, kio, perl, python, php, qttools
+  , kdbusaddons
 }:
 
 mkDerivation {
@@ -11,5 +12,5 @@ mkDerivation {
     maintainers = with lib.maintainers; [ orivej ];
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  buildInputs = [ karchive ki18n kio perl python php qttools ];
+  buildInputs = [ karchive ki18n kio perl python php qttools kdbusaddons ];
 }
diff --git a/pkgs/applications/misc/alacritty/default.nix b/pkgs/applications/misc/alacritty/default.nix
index 24f788ef4687..4b4148bdc63d 100644
--- a/pkgs/applications/misc/alacritty/default.nix
+++ b/pkgs/applications/misc/alacritty/default.nix
@@ -52,16 +52,16 @@ let
   ];
 in buildRustPackage rec {
   pname = "alacritty";
-  version = "0.3.3";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "jwilm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1h9zid7bi19qga3a8a2d4x3ma9wf1njmj74s4xnw7nzqqf3dh750";
+    sha256 = "0adaqdbma6gskb2g14yscrgr9gch5wf2g2clchplv72c2qr1k427";
   };
 
-  cargoSha256 = "1rxb5ljgvn881jkxm8772kf815mmp08ci7sqmn2x1jwdcrphhxr1";
+  cargoSha256 = "1r267g8f986nxh8ms5yhp50qy1yl8gly2jr78p738qqc6frlxlhv";
 
   nativeBuildInputs = [
     cmake
@@ -76,10 +76,6 @@ in buildRustPackage rec {
     ++ lib.optionals stdenv.isDarwin [ AppKit CoreGraphics CoreServices CoreText Foundation OpenGL ];
 
   outputs = [ "out" "terminfo" ];
-  postPatch = ''
-    substituteInPlace alacritty_terminal/src/config/mouse.rs \
-      --replace xdg-open ${xdg_utils}/bin/xdg-open
-  '';
 
   postBuild = lib.optionalString stdenv.isDarwin "make app";
 
@@ -118,7 +114,7 @@ in buildRustPackage rec {
     description = "GPU-accelerated terminal emulator";
     homepage = https://github.com/jwilm/alacritty;
     license = with licenses; [ asl20 ];
-    maintainers = with maintainers; [ mic92 ];
+    maintainers = with maintainers; [ filalex77 mic92 ];
     platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" ];
   };
 }
diff --git a/pkgs/applications/misc/birdtray/default.nix b/pkgs/applications/misc/birdtray/default.nix
new file mode 100644
index 000000000000..c6321dd83c06
--- /dev/null
+++ b/pkgs/applications/misc/birdtray/default.nix
@@ -0,0 +1,40 @@
+{ mkDerivation
+  , lib
+  , fetchFromGitHub
+
+  , cmake
+  , pkgconfig
+  , qtbase
+  , qttools
+  , qtx11extras
+  , sqlite
+}:
+
+mkDerivation rec {
+  pname = "birdtray";
+  version = "1.6";
+
+  src = fetchFromGitHub {
+    owner = "gyunaev";
+    repo = pname;
+    rev = "RELEASE_${version}";
+    sha256 = "0n6qr224ir59ncid4xbdilk5642z0kcaylzbil1bdcv3h32ysjym";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [
+    qtbase qtx11extras sqlite
+  ];
+
+  installPhase = ''
+    install -Dm755 birdtray $out/bin/birdtray
+  '';
+
+  meta = with lib; {
+    description = "Mail system tray notification icon for Thunderbird";
+    homepage = https://github.com/gyunaev/birdtray;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ Flakebi ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index 3b98114c7107..8c4833be3e6c 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -1,7 +1,8 @@
 { config, stdenv, lib, fetchurl, boost, cmake, ffmpeg, gettext, glew
 , ilmbase, libXi, libX11, libXext, libXrender
 , libjpeg, libpng, libsamplerate, libsndfile
-, libtiff, libGLU_combined, openal, opencolorio, openexr, openimageio, openjpeg_1, python3Packages
+, libtiff, libGLU, libGL, openal, opencolorio, openexr, openimageio, openjpeg_1, python3Packages
+, openvdb, libXxf86vm, tbb
 , zlib, fftw, opensubdiv, freetype, jemalloc, ocl-icd, addOpenGLRunpath
 , jackaudioSupport ? false, libjack2
 , cudaSupport ? config.cudaSupport or false, cudatoolkit
@@ -15,20 +16,21 @@ let python = python3Packages.python; in
 
 stdenv.mkDerivation rec {
   pname = "blender";
-  version = "2.80";
+  version = "2.81";
 
   src = fetchurl {
-    url = "https://download.blender.org/source/${pname}-${version}.tar.gz";
-    sha256 = "1h550jisdbis50hxwk5kxrvrk1a6sh2fsri3yyj66vhzbi87x7fd";
+    url = "https://download.blender.org/source/${pname}-${version}.tar.xz";
+    sha256 = "1prp0f2152f1sz23jlc86vndfvmplb7qhllikkirq7hgpykrshna";
   };
 
   nativeBuildInputs = [ cmake ] ++ optional cudaSupport addOpenGLRunpath;
   buildInputs =
     [ boost ffmpeg gettext glew ilmbase
       libXi libX11 libXext libXrender
-      freetype libjpeg libpng libsamplerate libsndfile libtiff libGLU_combined openal
+      freetype libjpeg libpng libsamplerate libsndfile libtiff libGLU libGL openal
       opencolorio openexr openimageio openjpeg_1 python zlib fftw jemalloc
       (opensubdiv.override { inherit cudaSupport; })
+      openvdb libXxf86vm tbb
       makeWrapper
     ]
     ++ optional jackaudioSupport libjack2
@@ -56,6 +58,9 @@ stdenv.mkDerivation rec {
       "-DWITH_PYTHON_INSTALL=OFF"
       "-DWITH_PYTHON_INSTALL_NUMPY=OFF"
       "-DPYTHON_NUMPY_PATH=${python3Packages.numpy}/${python.sitePackages}"
+      "-DWITH_OPENVDB=ON"
+      "-DWITH_TBB=ON"
+      "-DWITH_IMAGE_OPENJPEG=ON"
     ]
     ++ optional jackaudioSupport "-DWITH_JACK=ON"
     ++ optional cudaSupport "-DWITH_CYCLES_CUDA_BINARIES=ON"
diff --git a/pkgs/applications/misc/blugon/default.nix b/pkgs/applications/misc/blugon/default.nix
new file mode 100644
index 000000000000..e6f956cc0910
--- /dev/null
+++ b/pkgs/applications/misc/blugon/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, python3, libX11, libXrandr }:
+
+stdenv.mkDerivation rec {
+  pname = "blugon";
+  version = "1.11.4";
+
+  src = fetchFromGitHub {
+    owner = "jumper149";
+    repo = pname;
+    rev = version;
+    sha256 = "0x320w2h5nlcgha4345i8ns15akb4kmrdgkh710s4r1n1by4x11r";
+  };
+
+  buildInputs = [ python3 libX11 libXrandr ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "Simple and configurable Blue Light Filter for X";
+    longDescription = ''
+      blugon is a simple and fast Blue Light Filter, that is highly configurable and provides a command line interface.
+      The program can be run just once or as a daemon (manually or via systemd).
+      There are several different backends available.
+      blugon calculates the screen color from your local time and configuration.
+    '';
+    license = licenses.asl20;
+    homepage = "https://github.com/jumper149/blugon";
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ jumper149 ];
+  };
+}
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index 22ae573353ea..9701db3c0b79 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -47,7 +47,7 @@ mkDerivation rec {
     poppler_utils libpng imagemagick libjpeg
     fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils
   ] ++ (with pypkgs; [
-    apsw cssselect css-parser dateutil dnspython html5-parser lxml markdown netifaces pillow
+    apsw cssselect css-parser dateutil dnspython feedparser html5-parser lxml markdown netifaces pillow
     python pyqt5_with_qtwebkit sip
     regex msgpack beautifulsoup4 html2text
     # the following are distributed with calibre, but we use upstream instead
diff --git a/pkgs/applications/misc/clight/clightd.nix b/pkgs/applications/misc/clight/clightd.nix
index 43ff1d73f78f..f9c08d1f00a1 100644
--- a/pkgs/applications/misc/clight/clightd.nix
+++ b/pkgs/applications/misc/clight/clightd.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "clightd";
-  version = "3.4";
+  version = "4.0";
 
   src = fetchFromGitHub {
     owner = "FedeDP";
     repo = "Clightd";
     rev = version;
-    sha256 = "0g6kawizwfhvigkwm7rbfq6rg872xn8igy8n355w4d7mmcxk0jf8";
+    sha256 = "0cskxy3xsy187in5vg8xcs3kwcx2s160qv009v0ahkcalp29ghz4";
   };
 
   # dbus-1.pc has datadir=/etc
diff --git a/pkgs/applications/misc/clight/default.nix b/pkgs/applications/misc/clight/default.nix
index 829fd4e12231..a2e452562698 100644
--- a/pkgs/applications/misc/clight/default.nix
+++ b/pkgs/applications/misc/clight/default.nix
@@ -1,18 +1,18 @@
 { lib, stdenv, fetchFromGitHub
 , dbus, cmake, pkgconfig, bash-completion
-, gsl, popt, clightd, systemd, libconfig
+, gsl, popt, clightd, systemd, libconfig, libmodule
 , withGeoclue ? true, geoclue2
 , withUpower ? true, upower }:
 
 stdenv.mkDerivation rec {
   pname = "clight";
-  version = "3.1";
+  version = "4.0";
 
   src = fetchFromGitHub {
     owner = "FedeDP";
     repo = "Clight";
     rev = version;
-    sha256 = "0rzcr1x9h4llnmklhgzs9r7xwhsrw1qkqvfffkp8fs90nycaqx81";
+    sha256 = "101fp9kwmfmfffpdvv41wf96kdjw0b16xk49g43w32a5wlr74zrq";
   };
 
   # bash-completion.pc completionsdir=${bash-completion.out}
@@ -42,6 +42,7 @@ stdenv.mkDerivation rec {
     systemd
     geoclue2
     libconfig
+    libmodule
   ] ++ optional withGeoclue geoclue2
     ++ optional withUpower upower;
 
diff --git a/pkgs/applications/misc/cmatrix/default.nix b/pkgs/applications/misc/cmatrix/default.nix
index cc57e58c56a4..9f86ec94f184 100644
--- a/pkgs/applications/misc/cmatrix/default.nix
+++ b/pkgs/applications/misc/cmatrix/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
       CMatrix simulates the display from "The Matrix" and is based
       on the screensaver from the movie's website.
     '';
-    homepage = http://www.asty.org/cmatrix/;
+    homepage = https://github.com/abishekvashok/cmatrix;
     platforms = ncurses.meta.platforms;
     maintainers = [ maintainers.AndersonTorres ];
   };
diff --git a/pkgs/applications/misc/cointop/default.nix b/pkgs/applications/misc/cointop/default.nix
index cba9c1d4227b..29700774219e 100644
--- a/pkgs/applications/misc/cointop/default.nix
+++ b/pkgs/applications/misc/cointop/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "cointop";
-  version = "1.3.6";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "miguelmota";
     repo = pname;
     rev = version;
-    sha256 = "0xm616yjqf6qq98yjbdj6lihib2p4fh6jd91dcb59arkbs2l1nbg";
+    sha256 = "067jsn66xs30d5yz9z8cvpxbvh8a95kllkb2wk134c43bfxy2m34";
   };
 
   goPackagePath = "github.com/miguelmota/cointop";
diff --git a/pkgs/applications/misc/copyq/default.nix b/pkgs/applications/misc/copyq/default.nix
index 825053483a4b..58a85f8f6e97 100644
--- a/pkgs/applications/misc/copyq/default.nix
+++ b/pkgs/applications/misc/copyq/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   pname = "CopyQ";
-  version = "3.9.2";
+  version = "3.9.3";
 
   src  = fetchFromGitHub {
     owner = "hluk";
     repo = "CopyQ";
     rev = "v${version}";
-    sha256 = "02zs444i7hnqishs1i6vp8ffjxlxk3xkrw935pdwnwppv9s9v202";
+    sha256 = "0wlwq9xg8rzsbj0b29z358k4mbrqy04iraa8x0p26pa95yskgcma";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/cpp-ethereum/default.nix b/pkgs/applications/misc/cpp-ethereum/default.nix
index 0e9ff40cffa4..dae25f6b8176 100644
--- a/pkgs/applications/misc/cpp-ethereum/default.nix
+++ b/pkgs/applications/misc/cpp-ethereum/default.nix
@@ -13,7 +13,7 @@
 , miniupnpc
 , libmicrohttpd
 , gmp
-, libGLU_combined
+, libGLU, libGL
 , extraCmakeFlags ? []
 }:
 stdenv.mkDerivation rec {
@@ -69,7 +69,7 @@ stdenv.mkDerivation rec {
     miniupnpc
     libmicrohttpd
     gmp
-    libGLU_combined
+    libGLU libGL
   ];
 
   dontStrip = true;
diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix
index 1549ab00a4f7..e3d9e8be0b28 100644
--- a/pkgs/applications/misc/dbeaver/default.nix
+++ b/pkgs/applications/misc/dbeaver/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "dbeaver-ce";
-  version = "6.2.4";
+  version = "6.2.5";
 
   desktopItem = makeDesktopItem {
     name = "dbeaver";
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "1k3aan290kfy2b53gl8r4yxvb8jas6sms1r052m3jld3i8frqgva";
+    sha256 = "1bg5cq7ivf263mjr8g9qwdhp9x0gm04nqiya4fyw0k33yiab85zn";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/misc/electrum/dash.nix b/pkgs/applications/misc/electrum/dash.nix
index 8ba562de1cb7..fc5192bb5e47 100644
--- a/pkgs/applications/misc/electrum/dash.nix
+++ b/pkgs/applications/misc/electrum/dash.nix
@@ -42,5 +42,6 @@ python2Packages.buildPythonApplication rec {
     homepage = https://github.com/dashpay/electrum-dash;
     license = licenses.gpl3;
     maintainers = with maintainers; [ np ];
+    knownVulnerabilities = [ "CVE-2018-1000022" ];
   };
 }
diff --git a/pkgs/applications/misc/elogind/default.nix b/pkgs/applications/misc/elogind/default.nix
index acfbc7ec917f..c5978dac2d55 100644
--- a/pkgs/applications/misc/elogind/default.nix
+++ b/pkgs/applications/misc/elogind/default.nix
@@ -29,13 +29,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "elogind";
-  version = "239.5";
+  version = "241.3";
 
   src = fetchFromGitHub {
     owner = "elogind";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1gdiy4vbx4gs2hnb79x14zi530mlq26glxpzp3c95w8l058wj4ba";
+    sha256 = "0jpb55prqq5cm3w2gy9766cbaqknjvbrbniyshb8bz1q31vf4jlq";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/et/default.nix b/pkgs/applications/misc/et/default.nix
index d8b355efe86d..2cf8813aac40 100644
--- a/pkgs/applications/misc/et/default.nix
+++ b/pkgs/applications/misc/et/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "et";
-  version = "0.1.1";
+  version = "0.1.2";
 
   src = fetchFromGitHub {
     owner = "geistesk";
     repo = "et";
     rev = version;
-    sha256 = "167w9qwfpd63rgy0xmkkkh5krmd91q42c3ijy3j099krgdfbb9bc";
+    sha256 = "0i0lgmnly8n7y4y6pb10pxgxyz8s5zk26k8z1g1578v1wan01lnq";
   };
 
   buildInputs = [ libnotify gdk-pixbuf ];
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Minimal libnotify-based (egg) timer";
-    homepage = https://github.com/geistesk/et;
+    homepage = "https://github.com/geistesk/et";
     license = licenses.gpl3;
     platforms = platforms.unix;
     maintainers = with maintainers; [ geistesk ];
diff --git a/pkgs/applications/misc/fetchmail/default.nix b/pkgs/applications/misc/fetchmail/default.nix
index bbbf1a0aff9b..6c4ecf6fa392 100644
--- a/pkgs/applications/misc/fetchmail/default.nix
+++ b/pkgs/applications/misc/fetchmail/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   configureFlags = [ "--with-ssl=${openssl.dev}" ];
 
   meta = {
-    homepage = http://www.fetchmail.info/;
+    homepage = https://www.fetchmail.info/;
     description = "A full-featured remote-mail retrieval and forwarding utility";
     longDescription = ''
       A full-featured, robust, well-documented remote-mail retrieval and
diff --git a/pkgs/applications/misc/font-manager/default.nix b/pkgs/applications/misc/font-manager/default.nix
index dad954900124..edb47e11dd7f 100644
--- a/pkgs/applications/misc/font-manager/default.nix
+++ b/pkgs/applications/misc/font-manager/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, meson, ninja, gettext, python3, fetchpatch,
-  pkgconfig, libxml2, json-glib , sqlite, itstool, librsvg,
+  pkgconfig, libxml2, json-glib , sqlite, itstool, librsvg, yelp-tools,
   vala, gtk3, gnome3, desktop-file-utils, wrapGAppsHook, gobject-introspection
 }:
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     itstool
     desktop-file-utils
     vala
-    gnome3.yelp-tools
+    yelp-tools
     wrapGAppsHook
     # For https://github.com/FontManager/master/blob/master/lib/unicode/meson.build
     gobject-introspection
diff --git a/pkgs/applications/misc/formatter/default.nix b/pkgs/applications/misc/formatter/default.nix
index d81e21f73ed9..26478c7f2ed0 100644
--- a/pkgs/applications/misc/formatter/default.nix
+++ b/pkgs/applications/misc/formatter/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "formatter";
-  version = "0.3.0";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "Djaler";
     repo = "Formatter";
     rev = version;
-    sha256 = "145742dk16736zxj30rzn61h4k0xpggfsbqkxllxd302mgbmxlzq";
+    sha256 = "1ghxd2h0pklhlrjslfr46vza1kjsm3mr0sdzzjiqi9jd6hddnk7i";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/gallery-dl/default.nix b/pkgs/applications/misc/gallery-dl/default.nix
index b1cd6a36e085..1a9789114dca 100644
--- a/pkgs/applications/misc/gallery-dl/default.nix
+++ b/pkgs/applications/misc/gallery-dl/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "gallery_dl";
-  version = "1.10.6";
+  version = "1.11.1";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "0jbfp072rnb3pkqp10xds57bnlcn87vqjaz68nhpzkwvwhs3hr4w";
+    sha256 = "08py1f48ylw83712h8313rxz55igbszxcwr2yxkchpr4233avzph";
   };
 
   doCheck = false;
diff --git a/pkgs/applications/misc/geoipupdate/default.nix b/pkgs/applications/misc/geoipupdate/default.nix
new file mode 100644
index 000000000000..57060179473f
--- /dev/null
+++ b/pkgs/applications/misc/geoipupdate/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "geoipupdate";
+  version = "4.1.5";
+
+  src = fetchFromGitHub {
+    owner = "maxmind";
+    repo = "geoipupdate";
+    rev = "v${version}";
+    sha256 = "1k0bmsqgw35sdmaafinlr4qd5910fi598i8irxrz11394d3c8giv";
+  };
+
+  modSha256 = "0mk6zp6byq3jc6wipx53bg5igry114klq5w8isc0z6r63zjsk6f6";
+
+  meta = with stdenv.lib; {
+    description = "Automatic GeoIP database updater";
+    homepage = "https://github.com/maxmind/geoipupdate";
+    license = with licenses; [ asl20 ];
+    platforms = platforms.all;
+    maintainers = with maintainers; [ das_j ];
+  };
+}
diff --git a/pkgs/applications/misc/glava/default.nix b/pkgs/applications/misc/glava/default.nix
index 6f5146161a6d..519df42c789a 100644
--- a/pkgs/applications/misc/glava/default.nix
+++ b/pkgs/applications/misc/glava/default.nix
@@ -8,7 +8,7 @@ let
   wrapperScript = writeScript "glava" ''
     #!${runtimeShell}
     case "$1" in
-      --copy-config)
+      --copy-config|-C)
         # The binary would symlink it, which won't work in Nix because the
         # garbage collector will eventually remove the original files after
         # updates
@@ -45,6 +45,14 @@ in
     ];
 
     preConfigure = ''
+      for f in $(find -type f);do
+        substituteInPlace $f \
+          --replace /etc/xdg $out/etc/xdg
+      done
+
+      substituteInPlace Makefile \
+        --replace '$(DESTDIR)$(SHADERDIR)' '$(SHADERDIR)'
+
       substituteInPlace Makefile \
         --replace 'unknown' 'v${version}'
 
diff --git a/pkgs/applications/misc/glom/default.nix b/pkgs/applications/misc/glom/default.nix
index 9e71837c0f5d..b8f13d01424c 100644
--- a/pkgs/applications/misc/glom/default.nix
+++ b/pkgs/applications/misc/glom/default.nix
@@ -30,6 +30,7 @@
 , postgresql
 , gnome3
 , gobject-introspection
+, yelp-tools
 , wrapGAppsHook
 }:
 
@@ -67,7 +68,7 @@ in stdenv.mkDerivation rec {
     libtool
     mm-common
     intltool
-    gnome3.yelp-tools
+    yelp-tools
     itstool
     doxygen
     graphviz
diff --git a/pkgs/applications/misc/gollum/Gemfile.lock b/pkgs/applications/misc/gollum/Gemfile.lock
index 6cd77318754c..b80d31cee9ae 100644
--- a/pkgs/applications/misc/gollum/Gemfile.lock
+++ b/pkgs/applications/misc/gollum/Gemfile.lock
@@ -1,7 +1,7 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    charlock_holmes (0.7.6)
+    charlock_holmes (0.7.7)
     diff-lcs (1.3)
     gemojione (3.3.0)
       json
@@ -31,12 +31,12 @@ GEM
       twitter-text (= 1.14.7)
     json (2.2.0)
     kramdown (1.9.0)
-    mime-types (3.2.2)
+    mime-types (3.3)
       mime-types-data (~> 3.2015)
-    mime-types-data (3.2019.0331)
+    mime-types-data (3.2019.1009)
     mini_portile2 (2.4.0)
     mustache (0.99.8)
-    nokogiri (1.10.4)
+    nokogiri (1.10.5)
       mini_portile2 (~> 2.4.0)
     posix-spawn (0.3.13)
     rack (1.6.11)
@@ -50,7 +50,7 @@ GEM
       rack-protection (~> 1.4)
       tilt (>= 1.3, < 3)
     stringex (2.8.5)
-    tilt (2.0.9)
+    tilt (2.0.10)
     twitter-text (1.14.7)
       unf (~> 0.1.0)
     unf (0.1.4)
@@ -65,4 +65,4 @@ DEPENDENCIES
   gollum
 
 BUNDLED WITH
-   1.17.2
+   1.17.3
diff --git a/pkgs/applications/misc/gollum/gemset.nix b/pkgs/applications/misc/gollum/gemset.nix
index f9bdf94db179..080c5b8b0987 100644
--- a/pkgs/applications/misc/gollum/gemset.nix
+++ b/pkgs/applications/misc/gollum/gemset.nix
@@ -4,10 +4,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nf1l31n10yaark2rrg5qzyzcx9w80681449s3j09qmnipsl8rl5";
+      sha256 = "0hybw8jw9ryvz5zrki3gc9r88jqy373m6v46ynxsdzv1ysiyr40p";
       type = "gem";
     };
-    version = "0.7.6";
+    version = "0.7.7";
   };
   diff-lcs = {
     groups = ["default"];
@@ -110,20 +110,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk";
+      sha256 = "0g7l18igjb9z7q4b2ykvyxyvjxlx5pwsmx5z3ibdbr6372xgfglk";
       type = "gem";
     };
-    version = "3.2.2";
+    version = "3.3";
   };
   mime-types-data = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a";
+      sha256 = "18x61fc36951vw7f74gq8cyybdpxvyg5d0azvqhrs82ddw3v16xh";
       type = "gem";
     };
-    version = "3.2019.0331";
+    version = "3.2019.1009";
   };
   mini_portile2 = {
     groups = ["default"];
@@ -151,10 +151,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
+      sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
       type = "gem";
     };
-    version = "1.10.4";
+    version = "1.10.5";
   };
   posix-spawn = {
     groups = ["default"];
@@ -234,10 +234,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ca4k0clwf0rkvy7726x4nxpjxkpv67w043i39saxgldxd97zmwz";
+      sha256 = "0rn8z8hda4h41a64l0zhkiwz2vxw9b1nb70gl37h1dg2k874yrlv";
       type = "gem";
     };
-    version = "2.0.9";
+    version = "2.0.10";
   };
   twitter-text = {
     dependencies = ["unf"];
diff --git a/pkgs/applications/misc/googleearth/default.nix b/pkgs/applications/misc/googleearth/default.nix
index 961efe4b0576..181273752ea8 100644
--- a/pkgs/applications/misc/googleearth/default.nix
+++ b/pkgs/applications/misc/googleearth/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, glibc, libGLU_combined, freetype, glib, libSM, libICE, libXi, libXv
+{ stdenv, fetchurl, glibc, libGLU, libGL, freetype, glib, libSM, libICE, libXi, libXv
 , libXrender, libXrandr, libXfixes, libXcursor, libXinerama, libXext, libX11
 , zlib, fontconfig, dpkg, libproxy, libxml2, gstreamer, gst_all_1, dbus }:
 
@@ -20,7 +20,7 @@ let
     libICE
     libXi
     libXv
-    libGLU_combined
+    libGLU libGL
     libXrender
     libXrandr
     libXfixes
diff --git a/pkgs/applications/misc/gpscorrelate/default.nix b/pkgs/applications/misc/gpscorrelate/default.nix
index bf7bec38afb5..07918d3d599d 100644
--- a/pkgs/applications/misc/gpscorrelate/default.nix
+++ b/pkgs/applications/misc/gpscorrelate/default.nix
@@ -3,17 +3,15 @@
 
 stdenv.mkDerivation rec {
   pname = "gpscorrelate";
-  version = "unstable-2019-09-03";
+  version = "2.0";
 
   src = fetchFromGitHub {
     owner = "dfandrich";
     repo = pname;
-    rev = "e1dd44a34f67b1ab7201440e60a840258ee448d2";
-    sha256 = "0gjwwdqh9dprzylmmnk3gm41khka9arkij3i9amd8y7d49pm9rlv";
+    rev = version;
+    sha256 = "1wkpb0nqnm0ik46hp2sibf96h2gxi6n951zm8c72scgmh4ciq4fl";
   };
 
-  patches = [ ./fix-localedir.diff ];
-
   nativeBuildInputs = [
     desktop-file-utils
     docbook_xml_dtd_42
@@ -30,7 +28,6 @@ stdenv.mkDerivation rec {
 
   makeFlags = [
     "prefix=${placeholder "out"}"
-    "GTK=3"
     "CC=cc"
     "CXX=c++"
     "CFLAGS=-DENABLE_NLS"
@@ -60,7 +57,7 @@ stdenv.mkDerivation rec {
     '';
 
     license = licenses.gpl2Plus;
-    homepage = "https://github.com/dfandrich/gpscorrelate";
+    homepage = "https://dfandrich.github.io/gpscorrelate/";
     platforms = platforms.linux;
     maintainers = with maintainers; [ sikmir ];
   };
diff --git a/pkgs/applications/misc/gpscorrelate/fix-localedir.diff b/pkgs/applications/misc/gpscorrelate/fix-localedir.diff
deleted file mode 100644
index 5f9cb296ecd5..000000000000
--- a/pkgs/applications/misc/gpscorrelate/fix-localedir.diff
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git i/Makefile w/Makefile
-index 47919ca..408fd68 100644
---- i/Makefile
-+++ w/Makefile
-@@ -33,8 +33,9 @@ datadir  = $(prefix)/share
- mandir   = $(datadir)/man
- docdir   = $(datadir)/doc/gpscorrelate
- applicationsdir = $(datadir)/applications
-+localedir = ${datadir}/locale
- 
--DEFS = -DPACKAGE_VERSION=\"$(PACKAGE_VERSION)\"
-+DEFS = -DPACKAGE_VERSION=\"$(PACKAGE_VERSION)\" -DPACKAGE_LOCALE_DIR=\"$(localedir)\"
- 
- TARGETS = gpscorrelate-gui$(EXEEXT) gpscorrelate$(EXEEXT) doc/gpscorrelate.1 doc/gpscorrelate.html
- 
-diff --git i/main-gui.c w/main-gui.c
-index fdace6f..8a6197b 100644
---- i/main-gui.c
-+++ w/main-gui.c
-@@ -40,6 +40,7 @@
- int main(int argc, char* argv[])
- {
- 	/* Initialize gettext (gtk_init initializes the locale) */
-+	(void) bindtextdomain(TEXTDOMAIN, PACKAGE_LOCALE_DIR);
- 	(void) textdomain(TEXTDOMAIN);
- 	(void) bind_textdomain_codeset(TEXTDOMAIN, "UTF-8");
- 
diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix
index 674b0061d6da..9a9edba512aa 100644
--- a/pkgs/applications/misc/gpxsee/default.nix
+++ b/pkgs/applications/misc/gpxsee/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "gpxsee";
-  version = "7.16";
+  version = "7.18";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = version;
-    sha256 = "1mkfhb2c9qafjpva600nyn6yik49l4q1k6id1xvrci37wsn6ijav";
+    sha256 = "1z3knfqfv0rwsq66adk0qngw1r500yvy4z259bygqkzbn2l5fcjk";
   };
 
   nativeBuildInputs = [ qmake ];
diff --git a/pkgs/applications/misc/houdini/runtime.nix b/pkgs/applications/misc/houdini/runtime.nix
index 88c87eaca871..279791561d90 100644
--- a/pkgs/applications/misc/houdini/runtime.nix
+++ b/pkgs/applications/misc/houdini/runtime.nix
@@ -1,4 +1,4 @@
-{ stdenv, requireFile, zlib, libpng, libSM, libICE, fontconfig, xorg, libGLU, libGL, alsaLib, dbus, xkeyboardconfig, bc }:
+{ stdenv, requireFile, zlib, libpng, libSM, libICE, fontconfig, xorg, libGLU, libGL, alsaLib, dbus, xkeyboardconfig, bc, addOpenGLRunpath }:
 
 let
   ld_library_path = builtins.concatStringsSep ":" [
@@ -24,19 +24,20 @@ let
       zlib
       libpng
       dbus
+      addOpenGLRunpath.driverLink
     ])
   ];
   license_dir = "~/.config/houdini";
 in
 stdenv.mkDerivation rec {
-  version = "17.0.352";
+  version = "17.5.327";
   pname = "houdini-runtime";
   src = requireFile rec {
     name = "houdini-${version}-linux_x86_64_gcc6.3.tar.gz";
-    sha256 = "0cl5fkgaplb0cvv7mli06ffc9j4ngpy8hl5zqabj3d645gcgafjg";
+    sha256 = "1byigmhmby8lgi2vmgxy9jlrrqk7jyr507zqkihq5bv8kfsanv1x";
     message = ''
       This nix expression requires that ${name} is already part of the store.
-      Download it from https://sidefx.com and add it to the nix store with:
+      Download it from https://www.sidefx.com and add it to the nix store with:
 
           nix-prefetch-url <URL>
 
@@ -77,7 +78,7 @@ stdenv.mkDerivation rec {
   '';
   meta = {
     description = "3D animation application software";
-    homepage = https://sidefx.com;
+    homepage = https://www.sidefx.com;
     license = stdenv.lib.licenses.unfree;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.canndrew ];
diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix
index 840f4c32e52a..c2065d943534 100644
--- a/pkgs/applications/misc/hugo/default.nix
+++ b/pkgs/applications/misc/hugo/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "hugo";
-  version = "0.58.3";
+  version = "0.60.0";
 
   goPackagePath = "github.com/gohugoio/hugo";
 
@@ -10,10 +10,10 @@ buildGoModule rec {
     owner  = "gohugoio";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "00dhb6xilkwr9yhncpyc6alzqw77ch3vd85dc7lzsmhw1c80n0lc";
+    sha256 = "0g8rq79xp7c9p31xc0anfjyz7xp8n7qzv3vmvg2nmzl7nayg88aa";
   };
 
-  modSha256 = "0d6zc7hxb246zsvwsjz4ds6gdd2m95x6l3djh3mmciwfg9cd7prx";
+  modSha256 = "12h1ik1hgs4lkmk699wpa34rnycnm03qyr2vp1y5lywz1h93by20";
 
   buildFlags = "-tags extended";
 
diff --git a/pkgs/applications/misc/icesl/default.nix b/pkgs/applications/misc/icesl/default.nix
index c197e1a8fd38..3ee4fd8259a9 100644
--- a/pkgs/applications/misc/icesl/default.nix
+++ b/pkgs/applications/misc/icesl/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, lib, fetchzip, freeglut, libXmu, libXi, libX11, libICE, libGLU_combined, libSM, libXext, dialog, makeWrapper }:
+{ stdenv, lib, fetchzip, freeglut, libXmu, libXi, libX11, libICE, libGLU, libGL, libSM, libXext, dialog, makeWrapper }:
 let
-  lpath = stdenv.lib.makeLibraryPath [ libXmu libXi libX11 freeglut libICE libGLU_combined libSM libXext ];
+  lpath = stdenv.lib.makeLibraryPath [ libXmu libXi libX11 freeglut libICE libGLU libGL libSM libXext ];
 in
 stdenv.mkDerivation rec {
   pname = "iceSL";
diff --git a/pkgs/applications/misc/jekyll/basic/Gemfile.lock b/pkgs/applications/misc/jekyll/basic/Gemfile.lock
index 54c703bb8592..f75889904326 100644
--- a/pkgs/applications/misc/jekyll/basic/Gemfile.lock
+++ b/pkgs/applications/misc/jekyll/basic/Gemfile.lock
@@ -1,28 +1,28 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (6.0.0)
+    activesupport (6.0.1)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
       tzinfo (~> 1.1)
-      zeitwerk (~> 2.1, >= 2.1.8)
-    addressable (2.6.0)
-      public_suffix (>= 2.0.2, < 4.0)
+      zeitwerk (~> 2.2)
+    addressable (2.7.0)
+      public_suffix (>= 2.0.2, < 5.0)
     colorator (1.1.0)
     concurrent-ruby (1.1.5)
     em-websocket (0.5.1)
       eventmachine (>= 0.12.9)
       http_parser.rb (~> 0.6.0)
     eventmachine (1.2.7)
-    ffi (1.11.1)
+    ffi (1.11.2)
     forwardable-extended (2.6.0)
     gemoji (3.0.1)
-    html-pipeline (2.12.0)
+    html-pipeline (2.12.2)
       activesupport (>= 2)
       nokogiri (>= 1.4)
     http_parser.rb (0.6.0)
-    i18n (1.6.0)
+    i18n (1.7.0)
       concurrent-ruby (~> 1.0)
     jekyll (4.0.0)
       addressable (~> 2.4)
@@ -44,7 +44,7 @@ GEM
     jekyll-mentions (1.5.1)
       html-pipeline (~> 2.3)
       jekyll (>= 3.7, < 5.0)
-    jekyll-sass-converter (2.0.0)
+    jekyll-sass-converter (2.0.1)
       sassc (> 2.0.1, < 3.0)
     jekyll-seo-tag (2.6.1)
       jekyll (>= 3.3, < 5.0)
@@ -60,25 +60,23 @@ GEM
     kramdown-parser-gfm (1.1.0)
       kramdown (~> 2.0)
     liquid (4.0.3)
-    listen (3.1.5)
-      rb-fsevent (~> 0.9, >= 0.9.4)
-      rb-inotify (~> 0.9, >= 0.9.7)
-      ruby_dep (~> 1.2)
+    listen (3.2.0)
+      rb-fsevent (~> 0.10, >= 0.10.3)
+      rb-inotify (~> 0.9, >= 0.9.10)
     mercenary (0.3.6)
     mini_portile2 (2.4.0)
-    minitest (5.11.3)
-    nokogiri (1.10.4)
+    minitest (5.13.0)
+    nokogiri (1.10.5)
       mini_portile2 (~> 2.4.0)
     pathutil (0.16.2)
       forwardable-extended (~> 2.6)
-    public_suffix (3.1.1)
+    public_suffix (4.0.1)
     rb-fsevent (0.10.3)
     rb-inotify (0.10.0)
       ffi (~> 1.0)
-    rouge (3.9.0)
-    ruby_dep (1.5.0)
+    rouge (3.13.0)
     safe_yaml (1.0.5)
-    sassc (2.1.0)
+    sassc (2.2.1)
       ffi (~> 1.9)
     terminal-table (1.8.0)
       unicode-display_width (~> 1.1, >= 1.1.1)
@@ -86,7 +84,7 @@ GEM
     tzinfo (1.2.5)
       thread_safe (~> 0.1)
     unicode-display_width (1.6.0)
-    zeitwerk (2.1.9)
+    zeitwerk (2.2.1)
 
 PLATFORMS
   ruby
@@ -100,4 +98,4 @@ DEPENDENCIES
   jemoji
 
 BUNDLED WITH
-   1.17.2
+   1.17.3
diff --git a/pkgs/applications/misc/jekyll/basic/gemset.nix b/pkgs/applications/misc/jekyll/basic/gemset.nix
index 41e599c02020..7fd9abd82a3f 100644
--- a/pkgs/applications/misc/jekyll/basic/gemset.nix
+++ b/pkgs/applications/misc/jekyll/basic/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0b24ch7zmrdb4h6aismahk9785lc4ij30lmdr6ydv19kkljsjq5v";
+      sha256 = "190xv21yz03zz8nlfly557ir859jr5zkwi89naziy65hskdnkw1s";
       type = "gem";
     };
-    version = "6.0.0";
+    version = "6.0.1";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l";
+      sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
       type = "gem";
     };
-    version = "2.6.0";
+    version = "2.7.0";
   };
   colorator = {
     groups = ["default"];
@@ -67,10 +67,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
+      sha256 = "0cbads5da12lb3j0mg2hjrd57s5qkkairxh2y6r9bqyblb5b8xbw";
       type = "gem";
     };
-    version = "1.11.1";
+    version = "1.11.2";
   };
   forwardable-extended = {
     groups = ["default"];
@@ -98,10 +98,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0f7x70p3fda7i5wfjjljjgjgqwx8m12345bs4xpnh7fhnis42fkk";
+      sha256 = "19hc7njr029pzqljpfhzhdi0p2rgn8ihn3bdnai2apy6nj1g1sg2";
       type = "gem";
     };
-    version = "2.12.0";
+    version = "2.12.2";
   };
   "http_parser.rb" = {
     groups = ["default"];
@@ -119,10 +119,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hfxnlyr618s25xpafw9mypa82qppjccbh292c4l3bj36az7f6wl";
+      sha256 = "0hmypvx9iyc0b4hski7aic2xzm09cg1c7q1qlpnk3k8s5acxzyhl";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.7.0";
   };
   jekyll = {
     dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"];
@@ -163,10 +163,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fbc25p8vqyzmg8wpmgacqjkk3jhrr6kz9y45m43ygck74h2cad2";
+      sha256 = "0xjzqpp35qr2vnf2zpak0srn773mp21glcq81a0iqpnrva7h80m3";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "2.0.1";
   };
   jekyll-seo-tag = {
     dependencies = ["jekyll"];
@@ -244,15 +244,15 @@
     version = "4.0.3";
   };
   listen = {
-    dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"];
+    dependencies = ["rb-fsevent" "rb-inotify"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx";
+      sha256 = "1j3s7bprp2jfhgb959wd1h98978zg3207nl87yg8k5w7k08f7snb";
       type = "gem";
     };
-    version = "3.1.5";
+    version = "3.2.0";
   };
   mercenary = {
     groups = ["default"];
@@ -279,10 +279,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
+      sha256 = "0w16p7cvslh3hxd3cia8jg4pd85z7rz7xqb16vh42gj4rijn8rmi";
       type = "gem";
     };
-    version = "5.11.3";
+    version = "5.13.0";
   };
   nokogiri = {
     dependencies = ["mini_portile2"];
@@ -290,10 +290,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
+      sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
       type = "gem";
     };
-    version = "1.10.4";
+    version = "1.10.5";
   };
   pathutil = {
     dependencies = ["forwardable-extended"];
@@ -311,10 +311,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0g9ds2ffzljl6jjmkjffwxc1z6lh5nkqqmhhkxjk71q5ggv0rkpm";
+      sha256 = "0xnfv2j2bqgdpg2yq9i2rxby0w2sc9h5iyjkpaas2xknwrgmhdb0";
       type = "gem";
     };
-    version = "3.1.1";
+    version = "4.0.1";
   };
   rb-fsevent = {
     groups = ["default"];
@@ -342,20 +342,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cn6fin40ngrasqi6qis85mqwx6phnbkzhkkd93acm9vrcf3rkl3";
-      type = "gem";
-    };
-    version = "3.9.0";
-  };
-  ruby_dep = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5";
+      sha256 = "1y90nx9ph9adnrpcsvs2adca2l3dyz8am2d2kzxkwd3a086ji7aw";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "3.13.0";
   };
   safe_yaml = {
     groups = ["default"];
@@ -373,10 +363,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06kwfqvpwf33cvkvbv1l9g5ln3q721hz5d3dyasq0k9d28x9w4fs";
+      sha256 = "09bnid7r5z5hcin5hykvpvv8xig27wbbckxwis60z2aaxq4j9siz";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "2.2.1";
   };
   terminal-table = {
     dependencies = ["unicode-display_width"];
@@ -425,9 +415,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gaiqg207j99cvqpgmn4ps6a14hz1rrh5zaxfdkiiavapbc5vpzw";
+      sha256 = "0w7w7y4jr6pcbgnzmh113fh8wz0f00xixl7qvf2rpvnanb68d5gw";
       type = "gem";
     };
-    version = "2.1.9";
+    version = "2.2.1";
   };
 }
\ No newline at end of file
diff --git a/pkgs/applications/misc/jekyll/full/Gemfile.lock b/pkgs/applications/misc/jekyll/full/Gemfile.lock
index 6410b885ea47..43a2d0cf2d0b 100644
--- a/pkgs/applications/misc/jekyll/full/Gemfile.lock
+++ b/pkgs/applications/misc/jekyll/full/Gemfile.lock
@@ -1,14 +1,14 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (6.0.0)
+    activesupport (6.0.1)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
       tzinfo (~> 1.1)
-      zeitwerk (~> 2.1, >= 2.1.8)
-    addressable (2.6.0)
-      public_suffix (>= 2.0.2, < 4.0)
+      zeitwerk (~> 2.2)
+    addressable (2.7.0)
+      public_suffix (>= 2.0.2, < 5.0)
     classifier-reborn (2.2.0)
       fast-stemmer (~> 1.0)
     coderay (1.1.2)
@@ -23,17 +23,17 @@ GEM
       http_parser.rb (~> 0.6.0)
     eventmachine (1.2.7)
     execjs (2.7.0)
-    faraday (0.15.4)
+    faraday (0.17.0)
       multipart-post (>= 1.2, < 3)
     fast-stemmer (1.0.2)
-    ffi (1.11.1)
+    ffi (1.11.2)
     forwardable-extended (2.6.0)
     gemoji (3.0.1)
-    html-pipeline (2.12.0)
+    html-pipeline (2.12.2)
       activesupport (>= 2)
       nokogiri (>= 1.4)
     http_parser.rb (0.6.0)
-    i18n (1.6.0)
+    i18n (1.7.0)
       concurrent-ruby (~> 1.0)
     jekyll (4.0.0)
       addressable (~> 2.4)
@@ -52,10 +52,10 @@ GEM
       terminal-table (~> 1.8)
     jekyll-avatar (0.7.0)
       jekyll (>= 3.0, < 5.0)
-    jekyll-coffeescript (1.2.2)
+    jekyll-coffeescript (2.0.0)
       coffee-script (~> 2.2)
       coffee-script-source (~> 1.12)
-    jekyll-feed (0.12.1)
+    jekyll-feed (0.13.0)
       jekyll (>= 3.7, < 5.0)
     jekyll-gist (1.5.0)
       octokit (~> 4.2)
@@ -65,7 +65,7 @@ GEM
     jekyll-paginate (1.1.0)
     jekyll-redirect-from (0.15.0)
       jekyll (>= 3.3, < 5.0)
-    jekyll-sass-converter (2.0.0)
+    jekyll-sass-converter (2.0.1)
       sassc (> 2.0.1, < 3.0)
     jekyll-seo-tag (2.6.1)
       jekyll (>= 3.3, < 5.0)
@@ -86,32 +86,30 @@ GEM
     liquid (4.0.3)
     liquid-c (4.0.0)
       liquid (>= 3.0.0)
-    listen (3.1.5)
-      rb-fsevent (~> 0.9, >= 0.9.4)
-      rb-inotify (~> 0.9, >= 0.9.7)
-      ruby_dep (~> 1.2)
+    listen (3.2.0)
+      rb-fsevent (~> 0.10, >= 0.10.3)
+      rb-inotify (~> 0.9, >= 0.9.10)
     mercenary (0.3.6)
-    mime-types (3.2.2)
+    mime-types (3.3)
       mime-types-data (~> 3.2015)
-    mime-types-data (3.2019.0331)
+    mime-types-data (3.2019.1009)
     mini_portile2 (2.4.0)
-    minitest (5.11.3)
+    minitest (5.13.0)
     multipart-post (2.1.1)
-    nokogiri (1.10.4)
+    nokogiri (1.10.5)
       mini_portile2 (~> 2.4.0)
     octokit (4.14.0)
       sawyer (~> 0.8.0, >= 0.5.3)
     pathutil (0.16.2)
       forwardable-extended (~> 2.6)
-    public_suffix (3.1.1)
+    public_suffix (4.0.1)
     rb-fsevent (0.10.3)
     rb-inotify (0.10.0)
       ffi (~> 1.0)
-    rdoc (6.1.1)
-    rouge (3.9.0)
-    ruby_dep (1.5.0)
+    rdoc (6.2.0)
+    rouge (3.13.0)
     safe_yaml (1.0.5)
-    sassc (2.1.0)
+    sassc (2.2.1)
       ffi (~> 1.9)
     sawyer (0.8.2)
       addressable (>= 2.3.5)
@@ -124,7 +122,7 @@ GEM
       thread_safe (~> 0.1)
     unicode-display_width (1.6.0)
     yajl-ruby (1.4.1)
-    zeitwerk (2.1.9)
+    zeitwerk (2.2.1)
 
 PLATFORMS
   ruby
@@ -150,4 +148,4 @@ DEPENDENCIES
   yajl-ruby (~> 1.4)
 
 BUNDLED WITH
-   1.17.2
+   1.17.3
diff --git a/pkgs/applications/misc/jekyll/full/gemset.nix b/pkgs/applications/misc/jekyll/full/gemset.nix
index 80d67022e7af..2b1c03ce882d 100644
--- a/pkgs/applications/misc/jekyll/full/gemset.nix
+++ b/pkgs/applications/misc/jekyll/full/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0b24ch7zmrdb4h6aismahk9785lc4ij30lmdr6ydv19kkljsjq5v";
+      sha256 = "190xv21yz03zz8nlfly557ir859jr5zkwi89naziy65hskdnkw1s";
       type = "gem";
     };
-    version = "6.0.0";
+    version = "6.0.1";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -16,10 +16,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bcm2hchn897xjhqj9zzsxf3n9xhddymj4lsclz508f4vw3av46l";
+      sha256 = "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy";
       type = "gem";
     };
-    version = "2.6.0";
+    version = "2.7.0";
   };
   classifier-reborn = {
     dependencies = ["fast-stemmer"];
@@ -132,10 +132,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s72m05jvzc1pd6cw1i289chas399q0a14xrwg4rvkdwy7bgzrh0";
+      sha256 = "0jk2bar4x6miq2cr73lv0lsbmw4cymiljvp29xb85jifsb3ba6az";
       type = "gem";
     };
-    version = "0.15.4";
+    version = "0.17.0";
   };
   fast-stemmer = {
     groups = ["default"];
@@ -164,10 +164,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
+      sha256 = "0cbads5da12lb3j0mg2hjrd57s5qkkairxh2y6r9bqyblb5b8xbw";
       type = "gem";
     };
-    version = "1.11.1";
+    version = "1.11.2";
   };
   forwardable-extended = {
     groups = ["default"];
@@ -195,10 +195,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0f7x70p3fda7i5wfjjljjgjgqwx8m12345bs4xpnh7fhnis42fkk";
+      sha256 = "19hc7njr029pzqljpfhzhdi0p2rgn8ihn3bdnai2apy6nj1g1sg2";
       type = "gem";
     };
-    version = "2.12.0";
+    version = "2.12.2";
   };
   "http_parser.rb" = {
     groups = ["default"];
@@ -216,10 +216,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1hfxnlyr618s25xpafw9mypa82qppjccbh292c4l3bj36az7f6wl";
+      sha256 = "0hmypvx9iyc0b4hski7aic2xzm09cg1c7q1qlpnk3k8s5acxzyhl";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.7.0";
   };
   jekyll = {
     dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table"];
@@ -249,10 +249,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "040i6cyv20qmxlpm74kh5hfci8208ja4903yxdv4x0qs0z172kl9";
+      sha256 = "17fjk0bfm0rs3myid24y2scsf5vzzza185bissjmcc44cbxp571j";
       type = "gem";
     };
-    version = "1.2.2";
+    version = "2.0.0";
   };
   jekyll-feed = {
     dependencies = ["jekyll"];
@@ -260,10 +260,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01f0ivjdr3qc9dh9n8lj6paiy7zmlb7hs9nk6rgni6jjn5plslg3";
+      sha256 = "1lx8nvkhd8l1wm3b6s506rycwbmpbzbsbjl65p21asjz6vbwf1ir";
       type = "gem";
     };
-    version = "0.12.1";
+    version = "0.13.0";
   };
   jekyll-gist = {
     dependencies = ["octokit"];
@@ -314,10 +314,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fbc25p8vqyzmg8wpmgacqjkk3jhrr6kz9y45m43ygck74h2cad2";
+      sha256 = "0xjzqpp35qr2vnf2zpak0srn773mp21glcq81a0iqpnrva7h80m3";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "2.0.1";
   };
   jekyll-seo-tag = {
     dependencies = ["jekyll"];
@@ -441,15 +441,15 @@
     version = "4.0.0";
   };
   listen = {
-    dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"];
+    dependencies = ["rb-fsevent" "rb-inotify"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx";
+      sha256 = "1j3s7bprp2jfhgb959wd1h98978zg3207nl87yg8k5w7k08f7snb";
       type = "gem";
     };
-    version = "3.1.5";
+    version = "3.2.0";
   };
   mercenary = {
     groups = ["default"];
@@ -467,20 +467,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fjxy1jm52ixpnv3vg9ld9pr9f35gy0jp66i1njhqjvmnvq0iwwk";
+      sha256 = "0g7l18igjb9z7q4b2ykvyxyvjxlx5pwsmx5z3ibdbr6372xgfglk";
       type = "gem";
     };
-    version = "3.2.2";
+    version = "3.3";
   };
   mime-types-data = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m00pg19cm47n1qlcxgl91ajh2yq0fszvn1vy8fy0s1jkrp9fw4a";
+      sha256 = "18x61fc36951vw7f74gq8cyybdpxvyg5d0azvqhrs82ddw3v16xh";
       type = "gem";
     };
-    version = "3.2019.0331";
+    version = "3.2019.1009";
   };
   mini_portile2 = {
     groups = ["default"];
@@ -497,10 +497,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0icglrhghgwdlnzzp4jf76b0mbc71s80njn5afyfjn4wqji8mqbq";
+      sha256 = "0w16p7cvslh3hxd3cia8jg4pd85z7rz7xqb16vh42gj4rijn8rmi";
       type = "gem";
     };
-    version = "5.11.3";
+    version = "5.13.0";
   };
   multipart-post = {
     groups = ["default"];
@@ -518,10 +518,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
+      sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
       type = "gem";
     };
-    version = "1.10.4";
+    version = "1.10.5";
   };
   octokit = {
     dependencies = ["sawyer"];
@@ -550,10 +550,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0g9ds2ffzljl6jjmkjffwxc1z6lh5nkqqmhhkxjk71q5ggv0rkpm";
+      sha256 = "0xnfv2j2bqgdpg2yq9i2rxby0w2sc9h5iyjkpaas2xknwrgmhdb0";
       type = "gem";
     };
-    version = "3.1.1";
+    version = "4.0.1";
   };
   rb-fsevent = {
     groups = ["default"];
@@ -581,30 +581,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07b7ac2nls2yskaicqshxgip6dwpxl80hlx4pslq90jgpxgs2kkp";
+      sha256 = "1gh7sc3xd4rgl9z90181cq580r1xqn063mmv51wdrhhsrkkw2bi9";
       type = "gem";
     };
-    version = "6.1.1";
+    version = "6.2.0";
   };
   rouge = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cn6fin40ngrasqi6qis85mqwx6phnbkzhkkd93acm9vrcf3rkl3";
-      type = "gem";
-    };
-    version = "3.9.0";
-  };
-  ruby_dep = {
-    groups = ["default"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5";
+      sha256 = "1y90nx9ph9adnrpcsvs2adca2l3dyz8am2d2kzxkwd3a086ji7aw";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "3.13.0";
   };
   safe_yaml = {
     groups = ["default"];
@@ -622,10 +612,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06kwfqvpwf33cvkvbv1l9g5ln3q721hz5d3dyasq0k9d28x9w4fs";
+      sha256 = "09bnid7r5z5hcin5hykvpvv8xig27wbbckxwis60z2aaxq4j9siz";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "2.2.1";
   };
   sawyer = {
     dependencies = ["addressable" "faraday"];
@@ -717,9 +707,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gaiqg207j99cvqpgmn4ps6a14hz1rrh5zaxfdkiiavapbc5vpzw";
+      sha256 = "0w7w7y4jr6pcbgnzmh113fh8wz0f00xixl7qvf2rpvnanb68d5gw";
       type = "gem";
     };
-    version = "2.1.9";
+    version = "2.2.1";
   };
 }
\ No newline at end of file
diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix
index 857cc6c74560..a3cbdabeacf6 100644
--- a/pkgs/applications/misc/josm/default.nix
+++ b/pkgs/applications/misc/josm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "josm";
-  version = "15390";
+  version = "15492";
 
   src = fetchurl {
     url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
-    sha256 = "1wxncd3mjd4j14svgpmvrxc0nkzfkpn0xlci7m7wp9hfp1l81v9f";
+    sha256 = "0x7ndcrlvrvk2fd4pyn10npr3778khcwg6xzzh19vdw4glh5zfcl";
   };
 
   buildInputs = [ jdk11 makeWrapper ];
diff --git a/pkgs/applications/misc/k2pdfopt/default.nix b/pkgs/applications/misc/k2pdfopt/default.nix
index a2eba8e08c27..aedfff40d702 100644
--- a/pkgs/applications/misc/k2pdfopt/default.nix
+++ b/pkgs/applications/misc/k2pdfopt/default.nix
@@ -3,7 +3,7 @@
 , enableGSL ? true, gsl
 , enableGhostScript ? true, ghostscript
 , enableMuPDF ? true, mupdf
-, enableJPEG2K ? true, jasper
+, enableJPEG2K ? false, jasper ? null  # disabled by default, jasper has unfixed CVE
 , enableDJVU ? true, djvulibre
 , enableGOCR ? false, gocr # Disabled by default due to crashes
 , enableTesseract ? true, leptonica, tesseract4
diff --git a/pkgs/applications/misc/kanboard/default.nix b/pkgs/applications/misc/kanboard/default.nix
index 0bdf8e49d969..d3cef00bbe8a 100644
--- a/pkgs/applications/misc/kanboard/default.nix
+++ b/pkgs/applications/misc/kanboard/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "kanboard";
-  version = "1.2.11";
+  version = "1.2.12";
 
   src = fetchFromGitHub {
     owner = "kanboard";
     repo = "kanboard";
     rev = "v${version}";
-    sha256 = "0if5nh4m4y3xlvlv86jph7ix5nvpgc1zjkp4cq5iig6z0041bw98";
+    sha256 = "1m1drgbyk1m6mf69xqlz9gqcj650n9m4y2fdj7d2yv20q8r31489";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/misc/kdeconnect/default.nix b/pkgs/applications/misc/kdeconnect/default.nix
index ed3c86722699..e8bdcb371189 100644
--- a/pkgs/applications/misc/kdeconnect/default.nix
+++ b/pkgs/applications/misc/kdeconnect/default.nix
@@ -16,6 +16,7 @@
 , sshfs
 , makeWrapper
 , kwayland
+, kio
 }:
 
 mkDerivation rec {
@@ -30,7 +31,7 @@ mkDerivation rec {
   buildInputs = [
     libfakekey libXtst
     ki18n kiconthemes kcmutils kconfigwidgets kdbusaddons knotifications
-    qca-qt5 qtx11extras makeWrapper kwayland
+    qca-qt5 qtx11extras makeWrapper kwayland kio
   ];
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/misc/keepassx/community.nix b/pkgs/applications/misc/keepassx/community.nix
index 6701c910a1fc..06fc04ba8fb4 100644
--- a/pkgs/applications/misc/keepassx/community.nix
+++ b/pkgs/applications/misc/keepassx/community.nix
@@ -34,13 +34,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "keepassxc";
-  version = "2.5.0";
+  version = "2.5.1";
 
   src = fetchFromGitHub {
     owner = "keepassxreboot";
     repo = "keepassxc";
     rev = version;
-    sha256 = "053z6mzcn22w3vkf09i7kdi5p0c6zcd9g62v3p5i3yhd14cgviqr";
+    sha256 = "0dkya9smx81c5cgcwk2gi2m1pabfff1v9gd3ngl42sdvyb63wgdq";
   };
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang [
diff --git a/pkgs/applications/misc/kitty/default.nix b/pkgs/applications/misc/kitty/default.nix
index e87d09b50ccf..cd04fdb25740 100644
--- a/pkgs/applications/misc/kitty/default.nix
+++ b/pkgs/applications/misc/kitty/default.nix
@@ -21,14 +21,14 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "kitty";
-  version = "0.14.6";
+  version = "0.15.0";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "kovidgoyal";
     repo = "kitty";
     rev = "v${version}";
-    sha256 = "1rb5ys9xsdhd2qa3kz5gqzz111c6b14za98va6hlglk69wqlmb51";
+    sha256 = "1gh8lcyqpkwvmjxwiq5d43sd43bg3c49fyy2x8drqdzj34gc49qg";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/misc/kitty/no-werror.patch b/pkgs/applications/misc/kitty/no-werror.patch
index 8217b5ef51a6..92a652588550 100644
--- a/pkgs/applications/misc/kitty/no-werror.patch
+++ b/pkgs/applications/misc/kitty/no-werror.patch
@@ -1,11 +1,11 @@
 --- a/setup.py
 +++ b/setup.py
-@@ -212,7 +212,7 @@
+@@ -217,7 +217,7 @@ def init_env(
      cflags = os.environ.get(
          'OVERRIDE_CFLAGS', (
-             '-Wextra -Wno-missing-field-initializers -Wall -Wstrict-prototypes -std=c11'
+             '-Wextra {} -Wno-missing-field-initializers -Wall -Wstrict-prototypes -std={}11'
 -            ' -pedantic-errors -Werror {} {} -fwrapv {} {} -pipe {} -fvisibility=hidden'
 +            ' {} {} -fwrapv {} {} -pipe {} -fvisibility=hidden'
          ).format(
+             float_conversion, std,
              optimize,
-             ' '.join(sanitize_args),
diff --git a/pkgs/applications/misc/llpp/default.nix b/pkgs/applications/misc/llpp/default.nix
index 2c2acb6a7434..25f9b10b1e85 100644
--- a/pkgs/applications/misc/llpp/default.nix
+++ b/pkgs/applications/misc/llpp/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, substituteAll, makeWrapper, fetchgit, ocaml, mupdf, libX11,
-libGLU_combined, freetype, xclip, inotify-tools, procps }:
+libGLU, libGL, freetype, xclip, inotify-tools, procps }:
 
 assert lib.versionAtLeast (lib.getVersion ocaml) "4.07";
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   });
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ ocaml mupdf libX11 libGLU_combined freetype ];
+  buildInputs = [ ocaml mupdf libX11 libGLU libGL freetype ];
 
   dontStrip = true;
 
diff --git a/pkgs/applications/misc/masterpdfeditor/default.nix b/pkgs/applications/misc/masterpdfeditor/default.nix
index 1474ea2fc4f2..5df4a1b8d93c 100644
--- a/pkgs/applications/misc/masterpdfeditor/default.nix
+++ b/pkgs/applications/misc/masterpdfeditor/default.nix
@@ -1,15 +1,12 @@
 { stdenv, fetchurl, sane-backends, qtbase, qtsvg, nss, autoPatchelfHook, lib, wrapQtAppsHook }:
 
-let
-  version = "5.4.10";
-
-in stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "masterpdfeditor";
-  inherit version;
+  version = "5.4.38";
 
   src = fetchurl {
-    url = "https://code-industry.net/public/master-pdf-editor-${version}_qt5.amd64.tar.gz";
-    sha256 = "1902ahb2g9xanrip1n0ihr31az8sv9fsvzddnzf70kbwlfclnqf7";
+    url = "https://code-industry.net/public/master-pdf-editor-${version}-qt5.amd64.tar.gz";
+    sha256 = "0fidy8gd4mqvyfgmrwdiz8z53dyzihqqhgfrffj0z0idm2zi4mcq";
   };
 
   nativeBuildInputs = [ autoPatchelfHook wrapQtAppsHook ];
diff --git a/pkgs/applications/misc/merkaartor/default.nix b/pkgs/applications/misc/merkaartor/default.nix
index 3023a5b5930c..e643c212225b 100644
--- a/pkgs/applications/misc/merkaartor/default.nix
+++ b/pkgs/applications/misc/merkaartor/default.nix
@@ -1,20 +1,20 @@
 { stdenv, fetchFromGitHub, makeWrapper, qmake, pkgconfig, boost, gdal, proj
-, qtbase, qtsvg, qtwebkit }:
+, qtbase, qtsvg, qtwebview, qtwebkit }:
 
 stdenv.mkDerivation rec {
   pname = "merkaartor";
-  version = "0.18.3";
+  version = "unstable-2019-11-12";
 
   src = fetchFromGitHub {
     owner = "openstreetmap";
     repo = "merkaartor";
-    rev = version;
-    sha256 = "0ls3q8m1hxiwyrypy6qca8wczhl4969ncl0sszfdwfv70rzxjk88";
+    rev = "29b3388680a03f1daac0037a2b504ea710da879a";
+    sha256 = "0h3d3srzl06p2ajq911j05zr4vkl88qij18plydx45yqmvyvh0xz";
   };
 
   nativeBuildInputs = [ makeWrapper qmake pkgconfig ];
 
-  buildInputs = [ boost gdal proj qtbase qtsvg qtwebkit ];
+  buildInputs = [ boost gdal proj qtbase qtsvg qtwebview qtwebkit ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/misc/minder/default.nix b/pkgs/applications/misc/minder/default.nix
index 4b92a43451a3..5c31cdf6e727 100644
--- a/pkgs/applications/misc/minder/default.nix
+++ b/pkgs/applications/misc/minder/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "minder";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "phase1geo";
     repo = pname;
     rev = version;
-    sha256 = "0lhmv3z2jifv4cksxa27jigdfj9n81myjsxg38xp28fx5x3h8bzc";
+    sha256 = "1z3if8bbiigb3m5py641y0j8d9z0s6kbb325waxbqs240pcxipml";
   };
 
   nativeBuildInputs = [ pkgconfig meson ninja python3 wrapGAppsHook vala shared-mime-info ];
diff --git a/pkgs/applications/misc/mlterm/default.nix b/pkgs/applications/misc/mlterm/default.nix
index 303b9fe5e8bc..0c8ad9ae1b3c 100644
--- a/pkgs/applications/misc/mlterm/default.nix
+++ b/pkgs/applications/misc/mlterm/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mlterm";
-  version = "3.8.8";
+  version = "3.8.9";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/mlterm/01release/${pname}-${version}/${pname}-${version}.tar.gz";
-    sha256 = "1jq3fv2wqhszfipkzj8d0lykr6g0zzksn7xy4d3kwincmzfskv7k";
+    sha256 = "1iy7wq953gcnygr1d04h5ddvhpmy8l575n5is2w0rj3ck31ihpqd";
   };
 
   nativeBuildInputs = [ pkgconfig autoconf ];
@@ -86,8 +86,9 @@ stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
+    description = "Multi Lingual TERMinal emulator on X11";
     homepage = http://mlterm.sourceforge.net/;
-    license = licenses.bsd2;
+    license = licenses.bsd3;
     maintainers = with maintainers; [ vrthra ramkromberg ];
     platforms = with platforms; linux;
   };
diff --git a/pkgs/applications/misc/multibootusb/default.nix b/pkgs/applications/misc/multibootusb/default.nix
index a2678d6067f9..142014832943 100644
--- a/pkgs/applications/misc/multibootusb/default.nix
+++ b/pkgs/applications/misc/multibootusb/default.nix
@@ -1,21 +1,33 @@
-{ stdenv, python36Packages, fetchFromGitHub, libxcb, mtools, p7zip, parted, procps, utillinux, qt5, runtimeShell }:
+{ fetchFromGitHub, libxcb, mtools, p7zip, parted, procps,
+  python36Packages, qt5, runtimeShell, stdenv, utillinux, wrapQtAppsHook }:
+
+# Note: Multibootusb is tricky to maintain. It relies on the
+# $PYTHONPATH variable containing some of their code, so that
+# something like:
+#
+# from scripts import config
+#
+# works. It also relies on the current directory to find some runtime
+# resources thanks to a use of __file__.
+#
+# https://github.com/mbusb/multibootusb/blob/0d34d70c3868f1d7695cfd141141b17c075de967/scripts/osdriver.py#L59
+
 python36Packages.buildPythonApplication rec {
   pname = "multibootusb";
   name = "${pname}-${version}";
   version = "9.2.0";
 
+  nativeBuildInputs = [
+    wrapQtAppsHook
+  ];
+
   buildInputs = [
-    python36Packages.dbus-python
-    python36Packages.pyqt5
-    python36Packages.pytest-shutil
-    python36Packages.python
-    python36Packages.pyudev
-    python36Packages.six
     libxcb
     mtools
     p7zip
     parted
     procps
+    python36Packages.python
     qt5.full
     utillinux
   ];
@@ -28,32 +40,42 @@ python36Packages.buildPythonApplication rec {
     sha256 = "0wlan0cp6c2i0nahixgpmkm0h4n518gj8rc515d579pqqp91p2h3";
   };
 
-  # Skip the fixup stage where stuff is shrinked (can't shrink text files)
-  phases = [ "unpackPhase" "installPhase" ];
-
-  installPhase = ''
-    share="$out/share/${pname}"
-    mkdir -p "$share"
-    cp -r data "$share/data"
-    cp -r scripts "$share/scripts"
-    cp "${pname}" "$share/${pname}"
-
-    mkdir "$out/bin"
-    cat > "$out/bin/${pname}" <<EOF
-      #!${runtimeShell}
-      cd "$share"
-      export PYTHONPATH="$PYTHONPATH:$share"
-      export PATH="$PATH:${parted}/bin:${procps}/bin"
-
-      "${python36Packages.python}/bin/python" "${pname}"
-    EOF
-    chmod +x "$out/bin/${pname}"
+  # Tests can't run inside the NixOS sandbox
+  # "Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory"
+  doCheck = false;
+
+  pythonPath = [
+    python36Packages.dbus-python
+    python36Packages.pyqt5
+    python36Packages.pytest-shutil
+    python36Packages.pyudev
+    python36Packages.six
+  ];
+
+  makeWrapperArgs = [
+    # Firstly, add all necessary QT variables
+    "\${qtWrapperArgs[@]}"
+
+    # Then, add the installed scripts/ directory to the python path
+    "--prefix" "PYTHONPATH" ":" "$out/lib/${python36Packages.python.libPrefix}/site-packages"
+
+    # Finally, move to directory that contains data
+    "--run" "\"cd $out/share/${pname}\""
+  ];
+
+  postInstall = ''
+    # This script doesn't work and it doesn't add much anyway
+    rm $out/bin/multibootusb-pkexec
+
+    # The installed data isn't sufficient for whatever reason, missing gdisk/gdisk.exe
+    mkdir -p "$out/share/${pname}"
+    cp -r data "$out/share/${pname}/data"
   '';
 
   meta = with stdenv.lib; {
     description = "Multiboot USB creator for Linux live disks";
     homepage = http://multibootusb.org/;
     license = licenses.gpl2;
-    maintainers = with maintainers; [ jD91mZM2 ];
+    maintainers = []; # Looking for a maintainer!
   };
 }
diff --git a/pkgs/applications/misc/navit/default.nix b/pkgs/applications/misc/navit/default.nix
index 4d95f0b52388..29e768c257f1 100644
--- a/pkgs/applications/misc/navit/default.nix
+++ b/pkgs/applications/misc/navit/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pkgconfig, gtk2, fontconfig, freetype, imlib2
-, SDL_image, libGLU_combined, libXmu, freeglut, pcre, dbus, dbus-glib, glib
+, SDL_image, libGLU, libGL, libXmu, freeglut, pcre, dbus, dbus-glib, glib
 , librsvg, freeimage, libxslt, cairo, gdk-pixbuf, pango
 , atk, patchelf, fetchurl, bzip2, python, gettext, quesoglc
 , gd, cmake, shapelib, SDL_ttf, fribidi, makeWrapper
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gtk2 fontconfig freetype imlib2 libGLU_combined freeimage
+    gtk2 fontconfig freetype imlib2 libGLU libGL freeimage
     libxslt libXmu freeglut python gettext quesoglc gd
     fribidi pcre  dbus dbus-glib librsvg shapelib glib
     cairo gdk-pixbuf pango atk
diff --git a/pkgs/applications/misc/notable/default.nix b/pkgs/applications/misc/notable/default.nix
index 055728ee046c..085dff7ce04e 100644
--- a/pkgs/applications/misc/notable/default.nix
+++ b/pkgs/applications/misc/notable/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "notable";
-  version = "1.4.0";
+  version = "1.7.3";
 in
 appimageTools.wrapType2 rec {
   name = "${pname}-${version}";
   src = fetchurl {
-    url = "https://github.com/notable/notable/releases/download/v${version}/Notable.${version}.AppImage";
-    sha256 = "0ldmxnhqcphr92rb7imgb1dfx7bb3p515nrdds8jn4b8x6jgmnjr";
+    url = "https://github.com/notable/notable/releases/download/v${version}/Notable-${version}.AppImage";
+    sha256 = "1a7xpdk23np398nrgivyp8z54idqm72dfwx67i2rmxa3dnmcxkvl";
   };
 
   profile = ''
@@ -17,7 +17,7 @@ appimageTools.wrapType2 rec {
   '';
 
   multiPkgs = null; # no 32bit needed
-  extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
+  extraPkgs = p: (appimageTools.defaultFhsEnvArgs.multiPkgs p) ++ [ p.at-spi2-atk p.at-spi2-core ];
   extraInstallCommands = "mv $out/bin/{${name},${pname}}";
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/nut/default.nix b/pkgs/applications/misc/nut/default.nix
index ec5ee031a5be..8b0cab315888 100644
--- a/pkgs/applications/misc/nut/default.nix
+++ b/pkgs/applications/misc/nut/default.nix
@@ -1,17 +1,27 @@
 { stdenv, fetchurl, pkgconfig, neon, libusb, openssl, udev, avahi, freeipmi
-, libtool, makeWrapper, nss }:
+, libtool, makeWrapper, autoreconfHook, fetchpatch
+}:
 
 stdenv.mkDerivation rec {
-  name = "nut-2.7.4";
+  pname = "nut";
+  version = "2.7.4";
 
   src = fetchurl {
-    url = "http://www.networkupstools.org/source/2.7/${name}.tar.gz";
+    url = "https://networkupstools.org/source/2.7/${pname}-${version}.tar.gz";
     sha256 = "19r5dm07sfz495ckcgbfy0pasx0zy3faa0q7bih69lsjij8q43lq";
   };
 
-  buildInputs = [ neon libusb openssl udev avahi freeipmi libtool nss ];
+  patches = [
+    (fetchpatch {
+      # Fix build with openssl >= 1.1.0
+      url = "https://github.com/networkupstools/nut/commit/612c05efb3c3b243da603a3a050993281888b6e3.patch";
+      sha256 = "0jdbii1z5sqyv24286j5px65j7b3gp8zk3ahbph83pig6g46m3hs";
+    })
+  ];
 
-  nativeBuildInputs = [ pkgconfig makeWrapper ];
+  buildInputs = [ neon libusb openssl udev avahi freeipmi ];
+
+  nativeBuildInputs = [ autoreconfHook libtool pkgconfig makeWrapper ];
 
   configureFlags =
     [ "--with-all"
@@ -26,7 +36,6 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-
   postInstall = ''
     wrapProgram $out/bin/nut-scanner --prefix LD_LIBRARY_PATH : \
       "$out/lib:${neon}/lib:${libusb.out}/lib:${avahi}/lib:${freeipmi}/lib"
@@ -39,7 +48,7 @@ stdenv.mkDerivation rec {
       interface for monitoring and administering UPS, PDU and SCD hardware.
       It uses a layered approach to connect all of the parts.
     '';
-    homepage = http://www.networkupstools.org/;
+    homepage = https://networkupstools.org/;
     repositories.git = https://github.com/networkupstools/nut.git;
     platforms = platforms.linux;
     maintainers = [ maintainers.pierron ];
diff --git a/pkgs/applications/misc/onboard/default.nix b/pkgs/applications/misc/onboard/default.nix
index 79e3317e64da..1e578cde512a 100644
--- a/pkgs/applications/misc/onboard/default.nix
+++ b/pkgs/applications/misc/onboard/default.nix
@@ -7,7 +7,7 @@
 , bash
 , glib
 , glibcLocales
-, gnome3
+, dconf
 , gobject-introspection
 , gsettings-desktop-schemas
 , gtk3
@@ -66,7 +66,7 @@ python3.pkgs.buildPythonApplication rec {
   buildInputs = [
     bash
     glib
-    gnome3.dconf
+    dconf
     gsettings-desktop-schemas
     gtk3
     hunspell
@@ -89,7 +89,7 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   propagatedUserEnvPkgs = [
-    gnome3.dconf
+    dconf
   ];
 
   checkInputs = [
diff --git a/pkgs/applications/misc/openbrf/default.nix b/pkgs/applications/misc/openbrf/default.nix
index b8b6e42d5cf5..e943263600cd 100644
--- a/pkgs/applications/misc/openbrf/default.nix
+++ b/pkgs/applications/misc/openbrf/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, qtbase, vcg, glew, qmake, libGLU_combined }:
+{ stdenv, fetchFromGitHub, qtbase, vcg, glew, qmake, libGLU, libGL }:
 
 
 stdenv.mkDerivation {
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
     install -Dm644 reference.brf $out/share/openBrf/reference.brf
 
     patchelf  \
-      --set-rpath "${stdenv.lib.makeLibraryPath [ qtbase glew stdenv.cc.cc libGLU_combined ]}" \
+      --set-rpath "${stdenv.lib.makeLibraryPath [ qtbase glew stdenv.cc.cc libGLU libGL ]}" \
       $out/share/openBrf/openBrf
 
     mkdir -p "$out/bin"
diff --git a/pkgs/applications/misc/opencpn/default.nix b/pkgs/applications/misc/opencpn/default.nix
index 9240b5d8910e..375552aaa33a 100644
--- a/pkgs/applications/misc/opencpn/default.nix
+++ b/pkgs/applications/misc/opencpn/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "opencpn-unstable";
-  version = "2019-05-15";
+  version = "2019-11-21";
 
   src = fetchFromGitHub {
     owner = "OpenCPN";
     repo = "OpenCPN";
-    rev = "83a3c4b5ff011d4eb070f009e0a46d194b177047";
-    sha256 = "00s1mxnkf1gg41hrz0zp8ypkp98py0m1c22im2zd09k6lcddxw5p";
+    rev = "e73dc935545b2bbcf193cc61d987a0178c52d7a7";
+    sha256 = "0yiqahkzwcbzgabc5xgxmwlngapkfiaqyva3mwz29xj0c5lg2bdk";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/misc/orca/default.nix b/pkgs/applications/misc/orca/default.nix
index 37b93eecf391..1dc6a9cfee56 100644
--- a/pkgs/applications/misc/orca/default.nix
+++ b/pkgs/applications/misc/orca/default.nix
@@ -1,21 +1,47 @@
-{ stdenv, pkgconfig, fetchurl, buildPythonApplication
-, autoreconfHook, wrapGAppsHook, gobject-introspection
-, gettext, yelp-tools, itstool, libxmlxx3
-, python, pygobject3, gtk3, gnome3, substituteAll
-, at-spi2-atk, at-spi2-core, pyatspi, dbus, dbus-python, pyxdg
-, xkbcomp, procps, lsof, coreutils, gsettings-desktop-schemas
-, speechd, brltty, liblouis, setproctitle, gst_all_1, gst-python
+{ stdenv
+, pkgconfig
+, fetchurl
+, buildPythonApplication
+, autoreconfHook
+, wrapGAppsHook
+, gobject-introspection
+, gettext
+, yelp-tools
+, itstool
+, libxmlxx3
+, python
+, pygobject3
+, gtk3
+, gnome3
+, substituteAll
+, at-spi2-atk
+, at-spi2-core
+, pyatspi
+, dbus
+, dbus-python
+, pyxdg
+, xkbcomp
+, procps
+, lsof
+, coreutils
+, gsettings-desktop-schemas
+, speechd
+, brltty
+, liblouis
+, setproctitle
+, gst_all_1
+, gst-python
 }:
 
 buildPythonApplication rec {
   pname = "orca";
-  version = "3.34.0";
+  version = "3.34.1";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "10h258cprsxzb2hz9wqrkzv1yrsm19ws46l6fsnspywza5wq0z4p";
+    sha256 = "1q38n7hyshkiszmn361skxjynxr31lcms7a1iny6d0zlpmh1vnk4";
   };
 
   patches = [
@@ -29,19 +55,40 @@ buildPythonApplication rec {
   ];
 
   nativeBuildInputs = [
-    autoreconfHook wrapGAppsHook pkgconfig libxmlxx3
-    gettext yelp-tools itstool gobject-introspection
+    autoreconfHook
+    wrapGAppsHook
+    pkgconfig
+    libxmlxx3
+    gettext
+    yelp-tools
+    itstool
+    gobject-introspection
   ];
 
   propagatedBuildInputs = [
-    pygobject3 pyatspi dbus-python pyxdg brltty liblouis speechd gst-python setproctitle
+    pygobject3
+    pyatspi
+    dbus-python
+    pyxdg
+    brltty
+    liblouis
+    speechd
+    gst-python
+    setproctitle
   ];
 
   strictDeps = false;
 
   buildInputs = [
-    python gtk3 at-spi2-atk at-spi2-core dbus gsettings-desktop-schemas
-    gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
+    python
+    gtk3
+    at-spi2-atk
+    at-spi2-core
+    dbus
+    gsettings-desktop-schemas
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gst_all_1.gst-plugins-good
   ];
 
   passthru = {
@@ -51,7 +98,7 @@ buildPythonApplication rec {
   };
 
   meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Projects/Orca;
+    homepage = "https://wiki.gnome.org/Projects/Orca";
     description = "Screen reader";
     longDescription = ''
       A free, open source, flexible and extensible screen reader that provides
diff --git a/pkgs/applications/misc/osmium-tool/default.nix b/pkgs/applications/misc/osmium-tool/default.nix
index 19657da607fc..82144e9689f8 100644
--- a/pkgs/applications/misc/osmium-tool/default.nix
+++ b/pkgs/applications/misc/osmium-tool/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "osmium-tool";
-  version = "1.11.0";
+  version = "1.11.1";
 
   src = fetchFromGitHub {
     owner = "osmcode";
     repo = "osmium-tool";
     rev = "v${version}";
-    sha256 = "164r1w539dzy67ir2rqh21kwdvkjv87isd18gp51qyxbsprz6kq5";
+    sha256 = "199dvajik5d56nybk2061vdjyxwakngfd7frxj99wr2vsrp4aw2b";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/plank/default.nix b/pkgs/applications/misc/plank/default.nix
index dfc92e38f63c..0ae9e7379e7c 100644
--- a/pkgs/applications/misc/plank/default.nix
+++ b/pkgs/applications/misc/plank/default.nix
@@ -3,6 +3,7 @@
 , vala
 , atk
 , cairo
+, dconf
 , glib
 , gnome3
 , gtk3
@@ -51,7 +52,7 @@ stdenv.mkDerivation rec {
     gdk-pixbuf
     glib
     gnome-menus
-    gnome3.dconf
+    dconf
     gtk3
     libX11
     libXfixes
diff --git a/pkgs/applications/misc/polybar/default.nix b/pkgs/applications/misc/polybar/default.nix
index 9ca8c696184c..fcc6ead550a8 100644
--- a/pkgs/applications/misc/polybar/default.nix
+++ b/pkgs/applications/misc/polybar/default.nix
@@ -1,5 +1,5 @@
 { cairo, cmake, fetchFromGitHub, libXdmcp, libpthreadstubs, libxcb, pcre, pkgconfig
-, python2, stdenv, xcbproto, xcbutil, xcbutilcursor, xcbutilimage
+, python3, stdenv, xcbproto, xcbutil, xcbutilcursor, xcbutilimage
 , xcbutilrenderutil, xcbutilwm, xcbutilxrm, makeWrapper
 
 # optional packages-- override the variables ending in 'Support' to enable or
@@ -24,15 +24,16 @@ assert nlSupport     -> ! iwSupport && libnl         != null;
 assert i3Support     -> ! i3GapsSupport && jsoncpp != null && i3      != null;
 assert i3GapsSupport -> ! i3Support     && jsoncpp != null && i3-gaps != null;
 
-stdenv.mkDerivation rec {
+let xcbproto-py3 = xcbproto.override { python = python3; };
+in stdenv.mkDerivation rec {
     pname = "polybar";
-    version = "3.4.0";
+    version = "3.4.1";
 
     src = fetchFromGitHub {
-      owner = "jaagr";
+      owner = pname;
       repo = pname;
       rev = version;
-      sha256 = "1g3zj0788cdlm8inpl19279bw8zjcy7dzj7q4f1l2d8c8g1jhv0m";
+      sha256 = "1z1m6dxh2i5vsnkzaccb9j02ab05wgmcgig5d0l9w856g5jp3zmy";
       fetchSubmodules = true;
     };
 
@@ -45,12 +46,12 @@ stdenv.mkDerivation rec {
         having a black belt in shell scripting.
       '';
       license = licenses.mit;
-      maintainers = [ maintainers.afldcr ];
-      platforms = platforms.unix;
+      maintainers = with maintainers; [ afldcr filalex77 ];
+      platforms = platforms.linux;
     };
 
     buildInputs = [
-      cairo libXdmcp libpthreadstubs libxcb pcre python2 xcbproto xcbutil
+      cairo libXdmcp libpthreadstubs libxcb pcre python3 xcbproto-py3 xcbutil
       xcbutilcursor xcbutilimage xcbutilrenderutil xcbutilwm xcbutilxrm
 
       (if alsaSupport   then alsaLib       else null)
diff --git a/pkgs/development/python-modules/cerberus11/default.nix b/pkgs/applications/misc/pyditz/cerberus.nix
index 81f6ef1e8371..614e3ca81350 100644
--- a/pkgs/development/python-modules/cerberus11/default.nix
+++ b/pkgs/applications/misc/pyditz/cerberus.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "Cerberus";
-  version = "1.3.1";
+  version = "1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0be48fc0dc84f83202a5309c0aa17cd5393e70731a1698a50d118b762fbe6875";
+    sha256 = "1pxzr8sfm2hc5s96m9k044i44nwkva70n0ypr6a35v73zn891cx5";
   };
 
   checkInputs = [ pytestrunner pytest ];
diff --git a/pkgs/applications/misc/pyditz/default.nix b/pkgs/applications/misc/pyditz/default.nix
index 0f4e743aba4e..60de2f9abdc9 100644
--- a/pkgs/applications/misc/pyditz/default.nix
+++ b/pkgs/applications/misc/pyditz/default.nix
@@ -1,18 +1,22 @@
 { stdenv, pythonPackages }:
 
-pythonPackages.buildPythonApplication rec {
+with pythonPackages;
+
+let
+  cerberus_1_1 = callPackage ./cerberus.nix { };
+in buildPythonApplication rec {
   pname = "pyditz";
   version = "0.10.3";
 
-  src = pythonPackages.fetchPypi {
+  src = fetchPypi {
     inherit pname version;
     sha256 = "0hxxz7kxv9gsrr86ccsc31g7bc2agw1ihbxhd659c2m6nrqq5qaf";
   };
-  nativeBuildInputs = [ pythonPackages.setuptools_scm ];
-  propagatedBuildInputs = with pythonPackages; [ pyyaml six jinja2 cerberus11 ];
+  nativeBuildInputs = [ setuptools_scm ];
+  propagatedBuildInputs = [ pyyaml six jinja2 cerberus_1_1 ];
 
   checkPhase = ''
-    ${pythonPackages.python.interpreter} -m unittest discover
+    ${python.interpreter} -m unittest discover
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/qdirstat/default.nix b/pkgs/applications/misc/qdirstat/default.nix
index 1f35643dd761..21d4b0031792 100644
--- a/pkgs/applications/misc/qdirstat/default.nix
+++ b/pkgs/applications/misc/qdirstat/default.nix
@@ -19,7 +19,7 @@ in mkDerivation rec {
 
   buildInputs = [ perlPackages.perl ];
 
-  preBuild = ''
+  postPatch = ''
     substituteInPlace scripts/scripts.pro \
       --replace /bin/true ${coreutils}/bin/true
 
@@ -37,9 +37,8 @@ in mkDerivation rec {
     substituteInPlace src/StdCleanup.cpp \
       --replace /bin/bash ${bash}/bin/bash
   '';
-  postPatch = ''
-    export qmakeFlags="$qmakeFlags INSTALL_PREFIX=$out"
-  '';
+
+  qmakeFlags = [ "INSTALL_PREFIX=${placeholder "out"}" ];
 
   postInstall = ''
     wrapProgram $out/bin/qdirstat-cache-writer \
diff --git a/pkgs/applications/misc/qtpass/default.nix b/pkgs/applications/misc/qtpass/default.nix
index 1256bb96608f..f185524da587 100644
--- a/pkgs/applications/misc/qtpass/default.nix
+++ b/pkgs/applications/misc/qtpass/default.nix
@@ -1,5 +1,5 @@
 { lib, mkDerivation, fetchFromGitHub
-, git, gnupg, pass, pwgen
+, git, gnupg, pass, pwgen, qrencode
 , qtbase, qtsvg, qttools, qmake
 }:
 
@@ -14,6 +14,11 @@ mkDerivation rec {
     sha256 = "0748hjvhjrybi33ci3c8hcr74k9pdrf5jv8npf9hrsrmdyy1kr9x";
   };
 
+  postPatch = ''
+    substituteInPlace src/qtpass.cpp \
+      --replace "/usr/bin/qrencode" "${qrencode}/bin/qrencode"
+  '';
+
   buildInputs = [ git gnupg pass qtbase qtsvg ];
 
   nativeBuildInputs = [ qmake qttools ];
diff --git a/pkgs/applications/misc/redshift/default.nix b/pkgs/applications/misc/redshift/default.nix
index b751560b301a..e9862041f4a8 100644
--- a/pkgs/applications/misc/redshift/default.nix
+++ b/pkgs/applications/misc/redshift/default.nix
@@ -11,82 +11,108 @@
 , withGeoclue ? withGeolocation && stdenv.isLinux, geoclue
 }:
 
-stdenv.mkDerivation rec {
-  pname = "redshift";
-  version = "1.12";
-
-  src = fetchFromGitHub {
-    owner = "jonls";
-    repo = "redshift";
-    rev = "v${version}";
-    sha256 = "12cb4gaqkybp4bkkns8pam378izr2mwhr2iy04wkprs2v92j7bz6";
+let
+  mkRedshift =
+    { pname, version, src, meta }:
+    stdenv.mkDerivation rec {
+      inherit pname version src meta;
+
+      patches = [
+        # https://github.com/jonls/redshift/pull/575
+        ./575.patch
+      ];
+
+      nativeBuildInputs = [
+        autoconf
+        automake
+        gettext
+        intltool
+        libtool
+        pkgconfig
+        wrapGAppsHook
+        wrapPython
+      ];
+
+      configureFlags = [
+        "--enable-randr=${if withRandr then "yes" else "no"}"
+        "--enable-geoclue2=${if withGeoclue then "yes" else "no"}"
+        "--enable-drm=${if withDrm then "yes" else "no"}"
+        "--enable-quartz=${if withQuartz then "yes" else "no"}"
+        "--enable-corelocation=${if withCoreLocation then "yes" else "no"}"
+      ];
+
+      buildInputs = [
+        gobject-introspection
+        gtk3
+        python
+      ] ++ stdenv.lib.optional  withRandr        libxcb
+        ++ stdenv.lib.optional  withGeoclue      geoclue
+        ++ stdenv.lib.optional  withDrm          libdrm
+        ++ stdenv.lib.optional  withQuartz       ApplicationServices
+        ++ stdenv.lib.optionals withCoreLocation [ CoreLocation Foundation Cocoa ]
+        ;
+
+      pythonPath = [ pygobject3 pyxdg ];
+
+      preConfigure = "./bootstrap";
+
+      postFixup = "wrapPythonPrograms";
+
+      # the geoclue agent may inspect these paths and expect them to be
+      # valid without having the correct $PATH set
+      postInstall = ''
+        substituteInPlace $out/share/applications/redshift.desktop \
+          --replace 'Exec=redshift' "Exec=$out/bin/redshift"
+        substituteInPlace $out/share/applications/redshift.desktop \
+          --replace 'Exec=redshift-gtk' "Exec=$out/bin/redshift-gtk"
+      '';
+
+      enableParallelBuilding = true;
+    };
+in
+rec {
+  redshift = mkRedshift rec {
+    pname = "redshift";
+    version = "1.12";
+
+    src = fetchFromGitHub {
+      owner = "jonls";
+      repo = "redshift";
+      rev = "v${version}";
+      sha256 = "12cb4gaqkybp4bkkns8pam378izr2mwhr2iy04wkprs2v92j7bz6";
+    };
+
+    meta = with stdenv.lib; {
+      description = "Screen color temperature manager";
+      longDescription = ''
+        Redshift adjusts the color temperature according to the position
+        of the sun. A different color temperature is set during night and
+        daytime. During twilight and early morning, the color temperature
+        transitions smoothly from night to daytime temperature to allow
+        your eyes to slowly adapt. At night the color temperature should
+        be set to match the lamps in your room.
+      '';
+      license = licenses.gpl3Plus;
+      homepage = http://jonls.dk/redshift;
+      platforms = platforms.unix;
+      maintainers = with maintainers; [ yegortimoshenko globin ];
+    };
   };
 
-  patches = [
-    # https://github.com/jonls/redshift/pull/575
-    ./575.patch
-  ];
-
-  nativeBuildInputs = [
-    autoconf
-    automake
-    gettext
-    intltool
-    libtool
-    pkgconfig
-    wrapGAppsHook
-    wrapPython
-  ];
-
-  configureFlags = [
-    "--enable-randr=${if withRandr then "yes" else "no"}"
-    "--enable-geoclue2=${if withGeoclue then "yes" else "no"}"
-    "--enable-drm=${if withDrm then "yes" else "no"}"
-    "--enable-quartz=${if withQuartz then "yes" else "no"}"
-    "--enable-corelocation=${if withCoreLocation then "yes" else "no"}"
-  ];
-
-  buildInputs = [
-    gobject-introspection
-    gtk3
-    python
-  ] ++ stdenv.lib.optional  withRandr        libxcb
-    ++ stdenv.lib.optional  withGeoclue      geoclue
-    ++ stdenv.lib.optional  withDrm          libdrm
-    ++ stdenv.lib.optional  withQuartz       ApplicationServices
-    ++ stdenv.lib.optionals withCoreLocation [ CoreLocation Foundation Cocoa ]
-    ;
-
-  pythonPath = [ pygobject3 pyxdg ];
-
-  preConfigure = "./bootstrap";
-
-  postFixup = "wrapPythonPrograms";
-
-  # the geoclue agent may inspect these paths and expect them to be
-  # valid without having the correct $PATH set
-  postInstall = ''
-    substituteInPlace $out/share/applications/redshift.desktop \
-      --replace 'Exec=redshift' "Exec=$out/bin/redshift"
-    substituteInPlace $out/share/applications/redshift.desktop \
-      --replace 'Exec=redshift-gtk' "Exec=$out/bin/redshift-gtk"
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    description = "Screen color temperature manager";
-    longDescription = ''
-      Redshift adjusts the color temperature according to the position
-      of the sun. A different color temperature is set during night and
-      daytime. During twilight and early morning, the color temperature
-      transitions smoothly from night to daytime temperature to allow
-      your eyes to slowly adapt. At night the color temperature should
-      be set to match the lamps in your room.
-    '';
-    license = licenses.gpl3Plus;
-    homepage = http://jonls.dk/redshift;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ yegortimoshenko globin ];
+  redshift-wlr = mkRedshift {
+    pname = "redshift-wlr";
+    version = "2019-04-17";
+
+    src = fetchFromGitHub {
+      owner = "minus7";
+      repo = "redshift";
+      rev = "eecbfedac48f827e96ad5e151de8f41f6cd3af66";
+      sha256 = "0rs9bxxrw4wscf4a8yl776a8g880m5gcm75q06yx2cn3lw2b7v22";
+    };
+
+    meta = redshift.meta // {
+      description = redshift.meta.description + "(with wlroots patches)";
+      homepage = https://github.com/minus7/redshift;
+    };
   };
 }
diff --git a/pkgs/applications/misc/sidequest/default.nix b/pkgs/applications/misc/sidequest/default.nix
index c403f4751685..30aa45c14ffa 100644
--- a/pkgs/applications/misc/sidequest/default.nix
+++ b/pkgs/applications/misc/sidequest/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchurl, buildFHSUserEnv, makeDesktopItem, makeWrapper, atomEnv, libuuid, at-spi2-atk, icu, openssl, zlib }:
 	let
 		pname = "sidequest";
-		version = "0.7.5";
+		version = "0.7.6";
 
 		desktopItem = makeDesktopItem rec {
 			name = "SideQuest";
@@ -16,7 +16,7 @@
 
 			src = fetchurl {
 				url = "https://github.com/the-expanse/SideQuest/releases/download/v${version}/SideQuest-${version}.tar.xz";
-				sha256 = "1a77slpm7yga5vh3j1y440dq2xgv4pa6h8xg29rdcs6zig55pa97";
+				sha256 = "1yyba5495ydyyfl62pjd4hbga86k7f2a72ds2j2qzkinngyl14j8";
 			};
 
 			buildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/simplenote/default.nix b/pkgs/applications/misc/simplenote/default.nix
index be8e21054010..1829407705b9 100644
--- a/pkgs/applications/misc/simplenote/default.nix
+++ b/pkgs/applications/misc/simplenote/default.nix
@@ -1,23 +1,37 @@
-{ atomEnv, autoPatchelfHook, dpkg, fetchurl, makeDesktopItem, makeWrapper
-, stdenv, udev, wrapGAppsHook }:
+{ atomEnv
+, autoPatchelfHook
+, dpkg
+, fetchurl
+, makeDesktopItem
+, makeWrapper
+, stdenv
+, udev
+, wrapGAppsHook
+}:
 
 let
   inherit (stdenv.hostPlatform) system;
 
+  throwSystem = throw "Unsupported system: ${system}";
+
   pname = "simplenote";
 
-  version = "1.9.1";
+  version = "1.11.0";
 
   sha256 = {
-    x86_64-linux = "1zqrjh1xfdpkpj1fsri9r4qkazh9j89pbj8vjr474b39v56v693j";
-  }.${system};
+    x86_64-linux = "1ljam1yfiy1lh6lrknrq7cdqpj1q7f655mxjiiwv3izp98qr1f8s";
+  }.${system} or throwSystem;
 
   meta = with stdenv.lib; {
     description = "The simplest way to keep notes";
     homepage = "https://github.com/Automattic/simplenote-electron";
     license = licenses.gpl2;
-    maintainers = with maintainers; [ kiwi ];
-    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [
+      kiwi
+    ];
+    platforms = [
+      "x86_64-linux"
+    ];
   };
 
   linux = stdenv.mkDerivation rec {
@@ -31,14 +45,14 @@ let
     };
 
     desktopItem = makeDesktopItem {
-      name = "simplenote";
+      categories = "Development";
       comment = "Simplenote for Linux";
+      desktopName = "Simplenote";
       exec = "simplenote %U";
       icon = "simplenote";
-      type = "Application";
+      name = "simplenote";
       startupNotify = "true";
-      desktopName = "Simplenote";
-      categories = "Development";
+      type = "Application";
     };
 
     dontBuild = true;
@@ -46,9 +60,14 @@ let
     dontPatchELF = true;
     dontWrapGApps = true;
 
-    buildInputs = atomEnv.packages;
+    nativeBuildInputs = [
+      autoPatchelfHook
+      dpkg
+      makeWrapper
+      wrapGAppsHook
+    ];
 
-    nativeBuildInputs = [ dpkg makeWrapper autoPatchelfHook wrapGAppsHook ];
+    buildInputs = atomEnv.packages;
 
     unpackPhase = "dpkg-deb -x $src .";
 
@@ -62,14 +81,15 @@ let
       cp "${desktopItem}/share/applications/"* "$out/share/applications"
     '';
 
-    runtimeDependencies = [ udev.lib ];
+    runtimeDependencies = [
+      udev.lib
+    ];
 
     postFixup = ''
-      ls -ahl $out
       makeWrapper $out/opt/Simplenote/simplenote $out/bin/simplenote \
-      "''${gappsWrapperArgs[@]}"
+        "''${gappsWrapperArgs[@]}"
     '';
   };
 
 in
-  linux
+linux
diff --git a/pkgs/applications/misc/slic3r/boost-compile-error.patch b/pkgs/applications/misc/slic3r/boost-compile-error.patch
new file mode 100644
index 000000000000..4dbdb85f743d
--- /dev/null
+++ b/pkgs/applications/misc/slic3r/boost-compile-error.patch
@@ -0,0 +1,12 @@
+diff --git a/xs/src/libslic3r/GCodeSender.hpp b/xs/src/libslic3r/GCodeSender.hpp
+index cc0b2983..0f39f5a3 100644
+--- a/xs/src/libslic3r/GCodeSender.hpp
++++ b/xs/src/libslic3r/GCodeSender.hpp
+@@ -9,6 +9,7 @@
+ #include <boost/asio.hpp>
+ #include <boost/bind.hpp>
+ #include <boost/thread.hpp>
++#include <boost/core/noncopyable.hpp>
+ 
+ namespace Slic3r {
+ 
diff --git a/pkgs/applications/misc/slic3r/default.nix b/pkgs/applications/misc/slic3r/default.nix
index cf9e93b87b39..8dbd0cd57767 100644
--- a/pkgs/applications/misc/slic3r/default.nix
+++ b/pkgs/applications/misc/slic3r/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchgit, perl, makeWrapper, makeDesktopItem
-, which, perlPackages, boost
+{ lib, stdenv, fetchgit, perl, makeWrapper
+, makeDesktopItem, which, perlPackages, boost
 }:
 
 stdenv.mkDerivation rec {
@@ -40,6 +40,11 @@ stdenv.mkDerivation rec {
     sed -i 's|"/usr/include/asm-generic/ioctls.h"|<asm-generic/ioctls.h>|g' xs/src/libslic3r/GCodeSender.cpp
   '';
 
+  # note the boost-compile-error is fixed in
+  # https://github.com/slic3r/Slic3r/commit/90f108ae8e7a4315f82e317f2141733418d86a68
+  # this patch can be probably be removed in the next version after 1.3.0
+  patches = lib.optional (lib.versionAtLeast boost.version "1.56.0") ./boost-compile-error.patch;
+
   buildPhase = ''
     export SLIC3R_NO_AUTO=true
     export LD=$CXX
diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix
index 9dcdf8fd2b0e..76a62d1762c2 100644
--- a/pkgs/applications/misc/sweethome3d/default.nix
+++ b/pkgs/applications/misc/sweethome3d/default.nix
@@ -3,8 +3,6 @@
 
 let
 
-  getDesktopFileName = drvName: (builtins.parseDrvName drvName).name;
-
   # TODO: Should we move this to `lib`? Seems like its would be useful in many cases.
   extensionOf = filePath:
     lib.concatStringsSep "." (lib.tail (lib.splitString "." (builtins.baseNameOf filePath)));
@@ -15,15 +13,15 @@ let
   '') icons);
 
   mkSweetHome3D =
-  { name, module, version, src, license, description, desktopName, icons }:
+  { pname, module, version, src, license, description, desktopName, icons }:
 
   stdenv.mkDerivation rec {
-    inherit name version src description;
+    inherit pname version src description;
     exec = stdenv.lib.toLower module;
     sweethome3dItem = makeDesktopItem {
       inherit exec desktopName;
-      name = getDesktopFileName name;
-      icon = getDesktopFileName name;
+      name = pname;
+      icon = pname;
       comment =  description;
       genericName = "Computer Aided (Interior) Design";
       categories = "Application;Graphics;2DGraphics;3DGraphics;";
@@ -49,7 +47,7 @@ let
       mkdir -p $out/bin
       cp install/${module}-${version}.jar $out/share/java/.
 
-      ${installIcons (getDesktopFileName name) icons}
+      ${installIcons pname icons}
 
       cp "${sweethome3dItem}/share/applications/"* $out/share/applications
 
@@ -74,9 +72,9 @@ let
 in {
 
   application = mkSweetHome3D rec {
+    pname = stdenv.lib.toLower module + "-application";
     version = "6.2";
     module = "SweetHome3D";
-    name = stdenv.lib.toLower module + "-application-" + version;
     description = "Design and visualize your future home";
     license = stdenv.lib.licenses.gpl2Plus;
     src = fetchsvn {
diff --git a/pkgs/applications/misc/sweethome3d/editors.nix b/pkgs/applications/misc/sweethome3d/editors.nix
index eef5185aaeed..1d3f1a41e162 100644
--- a/pkgs/applications/misc/sweethome3d/editors.nix
+++ b/pkgs/applications/misc/sweethome3d/editors.nix
@@ -7,20 +7,17 @@ let
     m: "sweethome3d-"
     + removeSuffix "libraryeditor" (toLower m)
     + "-editor";
-  sweetName = m: v: sweetExec m + "-" + v;
-
-  getDesktopFileName = drvName: (builtins.parseDrvName drvName).name;
 
   mkEditorProject =
-  { name, module, version, src, license, description, desktopName }:
+  { pname, module, version, src, license, description, desktopName }:
 
   stdenv.mkDerivation rec {
     application = sweethome3dApp;
-    inherit name module version src description;
+    inherit pname module version src description;
     exec = sweetExec module;
     editorItem = makeDesktopItem {
       inherit exec desktopName;
-      name = getDesktopFileName name;
+      name = pname;
       comment =  description;
       genericName = "Computer Aided (Interior) Design";
       categories = "Application;Graphics;2DGraphics;3DGraphics;";
@@ -66,7 +63,7 @@ in {
   textures-editor = mkEditorProject rec {
     version = "1.5";
     module = "TexturesLibraryEditor";
-    name = sweetName module version;
+    pname = module;
     description = "Easily create SH3T files and edit the properties of the texture images it contain";
     license = stdenv.lib.licenses.gpl2Plus;
     src = fetchcvs {
@@ -81,7 +78,7 @@ in {
   furniture-editor = mkEditorProject rec {
     version = "1.19";
     module = "FurnitureLibraryEditor";
-    name = sweetName module version;
+    pname = module;
     description = "Quickly create SH3F files and edit the properties of the 3D models it contain";
     license = stdenv.lib.licenses.gpl2;
     src = fetchcvs {
diff --git a/pkgs/applications/misc/syncthingtray/default.nix b/pkgs/applications/misc/syncthingtray/default.nix
index 816ae664f8e8..857dcfaf69f2 100644
--- a/pkgs/applications/misc/syncthingtray/default.nix
+++ b/pkgs/applications/misc/syncthingtray/default.nix
@@ -20,14 +20,14 @@
 }:
 
 mkDerivation rec {
-  version = "0.10.2";
+  version = "0.10.3";
   pname = "syncthingtray";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = "syncthingtray";
     rev = "v${version}";
-    sha256 = "09iq1rr70wwy5xk0jmfnwzvnigq409hvs2viy1j0khn9jhvnk6z0";
+    sha256 = "12s1v65h4z051k4gi1b5f3z4hpbgqnhkjnz2xv5bdwhs24zxrrif";
   };
 
   buildInputs = [ qtbase cpp-utilities qtutilities ]
diff --git a/pkgs/applications/misc/taskell/default.nix b/pkgs/applications/misc/taskell/default.nix
index 702c3124d8ab..488e49c21817 100644
--- a/pkgs/applications/misc/taskell/default.nix
+++ b/pkgs/applications/misc/taskell/default.nix
@@ -1,8 +1,8 @@
 { lib, haskellPackages, fetchFromGitHub }:
 
 let
-  version = "1.6.1";
-  sha256  = "047gvpq52pif9sfb4qcfdiwz50x3wlnjvsnnjzypm1qlwyl2rbz1";
+  version = "1.7.3";
+  sha256  = "1439fh79ilc6jvz894cfzhk7gy5r2sv4v79bvqmmqbzbqk9qsbvx";
 
 in (haskellPackages.mkDerivation {
   pname = "taskell";
diff --git a/pkgs/applications/misc/tasksh/default.nix b/pkgs/applications/misc/tasksh/default.nix
index feb06368de41..931a27fbeff6 100644
--- a/pkgs/applications/misc/tasksh/default.nix
+++ b/pkgs/applications/misc/tasksh/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
     homepage = http://tasktools.org;
     license = licenses.mit;
     maintainers = with maintainers; [ matthiasbeyer ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/misc/tilix/default.nix b/pkgs/applications/misc/tilix/default.nix
index 922b3fd20286..2fa193fc8e7a 100644
--- a/pkgs/applications/misc/tilix/default.nix
+++ b/pkgs/applications/misc/tilix/default.nix
@@ -6,7 +6,7 @@
 , python3
 , pkgconfig
 , dmd
-, gnome3
+, dconf
 , dbus
 , gsettings-desktop-schemas
 , desktop-file-utils
@@ -47,7 +47,7 @@ stdenv.mkDerivation {
   buildInputs = [
     dbus
     gettext
-    gnome3.dconf
+    dconf
     gsettings-desktop-schemas
     gtkd
     libsecret
diff --git a/pkgs/applications/misc/timewarrior/default.nix b/pkgs/applications/misc/timewarrior/default.nix
index d0419c414d7a..a8b86e71cb13 100644
--- a/pkgs/applications/misc/timewarrior/default.nix
+++ b/pkgs/applications/misc/timewarrior/default.nix
@@ -1,14 +1,17 @@
-{ stdenv, fetchurl, cmake }:
+{ stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
   pname = "timewarrior";
-  version = "1.1.1";
+  version = "1.2.0";
 
   enableParallelBuilding = true;
 
-  src = fetchurl {
-    url = "https://taskwarrior.org/download/timew-${version}.tar.gz";
-    sha256 = "1jfcfzdwk5qqhxznj1bgy0sx3lnp3z5lqr9kch9a7iazwmi9lz8z";
+  src = fetchFromGitHub {
+    owner = "GothenburgBitFactory";
+    repo = "timewarrior";
+    rev = "v${version}";
+    sha256 = "0ci8kb7gdp1dsv6xj30nbz8lidrmn50pbriw26wv8mdhs17rfk7w";
+    fetchSubmodules = true;
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/tnef/default.nix b/pkgs/applications/misc/tnef/default.nix
index cb70d57869c0..bbd3073a4d8e 100644
--- a/pkgs/applications/misc/tnef/default.nix
+++ b/pkgs/applications/misc/tnef/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  version = "1.4.17";
+  version = "1.4.18";
   pname = "tnef";
 
   src = fetchFromGitHub {
     owner  = "verdammelt";
     repo   = "tnef";
     rev    = version;
-    sha256 = "0cq2xh5wd74qn6k2nnw5rayxgqhjl3jbzf4zlc4babcwxrv32ldh";
+    sha256 = "104g48mcm00bgiyzas2vf86331w7bnw7h3bc11ib4lp7rz6zqfck";
   };
 
   doCheck = true;
diff --git a/pkgs/applications/misc/xchm/default.nix b/pkgs/applications/misc/xchm/default.nix
index 6a5e62f54e1e..fb1b59ed01fa 100644
--- a/pkgs/applications/misc/xchm/default.nix
+++ b/pkgs/applications/misc/xchm/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xchm";
-  version = "1.30";
+  version = "1.31";
 
   src = fetchFromGitHub {
     owner = "rzvncj";
     repo = "xCHM";
     rev = version;
-    sha256 = "1sjvh06m8jbb28k6y3knas3nkh1dfvff4mlwjs33x12ilhddhr8v";
+    sha256 = "1mzafbpc1c211byf8bnwl13by7vi8xvxlaykyrajb1bj0ynbmmgp";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/applications/misc/xmrig/default.nix b/pkgs/applications/misc/xmrig/default.nix
index 8bd45e2f6138..441cab3dd7b6 100644
--- a/pkgs/applications/misc/xmrig/default.nix
+++ b/pkgs/applications/misc/xmrig/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xmrig";
-  version = "3.2.0";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "xmrig";
     repo = "xmrig";
     rev = "v${version}";
-    sha256 = "1qb20v3wvd6scx0dnlcqvj947ng4h0lxlvl9kpz0a2a3l5425rjf";
+    sha256 = "1lkw7xrj20ppfmv7abki9i60yjks9i7nr8ni9p6n7rilfbp4603k";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/xmrig/proxy.nix b/pkgs/applications/misc/xmrig/proxy.nix
index 09eed4aa4912..fc3070d1dcb4 100644
--- a/pkgs/applications/misc/xmrig/proxy.nix
+++ b/pkgs/applications/misc/xmrig/proxy.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xmrig-proxy";
-  version = "3.2.0";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "xmrig";
     repo = "xmrig-proxy";
     rev = "v${version}";
-    sha256 = "0scz78cc5zcdd6z4gm0zqsb36jf0z8fyn2ki52814ndxrk7nr4xg";
+    sha256 = "0lp11p4lf03l9x2kcpq1j19z7c1zrdvjmcfh2xyvlbw8pqx0hxkv";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/xpdf/default.nix b/pkgs/applications/misc/xpdf/default.nix
index d524482dee70..f5ec9b71503e 100644
--- a/pkgs/applications/misc/xpdf/default.nix
+++ b/pkgs/applications/misc/xpdf/default.nix
@@ -1,20 +1,22 @@
-{ enableGUI ? true, enablePDFtoPPM ? true, useT1Lib ? false
-, stdenv, fetchurl, zlib, libpng, freetype ? null, t1lib ? null
-, cmake, qtbase ? null, qtsvg ? null, wrapQtAppsHook
+{ enableGUI ? true
+, enablePDFtoPPM ? true
+, enablePrinting ? true
+, stdenv, fetchzip, cmake, makeDesktopItem
+, zlib, libpng, cups ? null, freetype ? null
+, qtbase ? null, qtsvg ? null, wrapQtAppsHook
 }:
 
 assert enableGUI -> qtbase != null && qtsvg != null && freetype != null;
 assert enablePDFtoPPM -> freetype != null;
-assert useT1Lib -> t1lib != null;
+assert enablePrinting -> cups != null;
 
-assert !useT1Lib; # t1lib has multiple unpatched security vulnerabilities
+stdenv.mkDerivation rec {
+  pname = "xpdf";
+  version = "4.02";
 
-stdenv.mkDerivation {
-  name = "xpdf-4.00";
-
-   src = fetchurl {
-    url = http://www.xpdfreader.com/dl/xpdf-4.00.tar.gz;
-    sha256 = "1mhn89738vjva14xr5gblc2zrdgzmpqbbjdflqdmpqv647294ggz";
+  src = fetchzip {
+    url = "https://xpdfreader-dl.s3.amazonaws.com/${pname}-${version}.tar.gz";
+    sha256 = "0dzwq6fnk013wa4l5mjpvm4mms2mh5hbrxv4rhk2ab5ljbzz7b2w";
   };
 
   # Fix "No known features for CXX compiler", see
@@ -26,20 +28,33 @@ stdenv.mkDerivation {
     [ cmake ]
     ++ stdenv.lib.optional enableGUI wrapQtAppsHook;
 
-  cmakeFlags = ["-DSYSTEM_XPDFRC=/etc/xpdfrc" "-DA4_PAPER=ON"];
+  cmakeFlags = ["-DSYSTEM_XPDFRC=/etc/xpdfrc" "-DA4_PAPER=ON" "-DOPI_SUPPORT=ON"]
+    ++ stdenv.lib.optional (!enablePrinting) "-DXPDFWIDGET_PRINTING=OFF";
 
   buildInputs = [ zlib libpng ] ++
     stdenv.lib.optional enableGUI qtbase ++
-    stdenv.lib.optional useT1Lib t1lib ++
+    stdenv.lib.optional enablePrinting cups ++
     stdenv.lib.optional enablePDFtoPPM freetype;
 
-  # Debian uses '-fpermissive' to bypass some errors on char* constantness.
-  CXXFLAGS = "-O2 -fpermissive";
-
   hardeningDisable = [ "format" ];
 
+  desktopItem = makeDesktopItem {
+    name = "xpdf";
+    desktopName = "Xpdf";
+    comment = "Views Adobe PDF files";
+    icon = "xpdf";
+    exec = "xpdf %f";
+    categories = "Office;";
+    terminal = "false";
+  };
+
+  postInstall = ''
+    install -Dm644 ${desktopItem}/share/applications/xpdf.desktop $out/share/applications/xpdf.desktop
+    install -Dm644 $src/xpdf-qt/xpdf-icon.svg $out/share/pixmaps/xpdf.svg
+  '';
+
   meta = with stdenv.lib; {
-    homepage = https://www.xpdfreader.com;
+    homepage = "https://www.xpdfreader.com";
     description = "Viewer for Portable Document Format (PDF) files";
     longDescription = ''
       XPDF includes multiple tools for viewing and processing PDF files.
@@ -56,5 +71,13 @@ stdenv.mkDerivation {
     '';
     license = with licenses; [ gpl2 gpl3 ];
     platforms = platforms.unix;
+    maintainers = with maintainers; [ sikmir ];
+    knownVulnerabilities = [
+      "CVE-2018-7453: loop in PDF objects"
+      "CVE-2018-16369: loop in PDF objects"
+      "CVE-2019-9587: loop in PDF objects"
+      "CVE-2019-9588: loop in PDF objects"
+      "CVE-2019-16088: loop in PDF objects"
+    ];
   };
 }
diff --git a/pkgs/applications/misc/zola/cargo-lock.patch b/pkgs/applications/misc/zola/cargo-lock.patch
new file mode 100644
index 000000000000..b9d97e3c328a
--- /dev/null
+++ b/pkgs/applications/misc/zola/cargo-lock.patch
@@ -0,0 +1,28 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index df5fef3..80f071a 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -2158,12 +2158,12 @@ version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+  "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
+- "sass-sys 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "sass-sys 0.4.15 (registry+https://github.com/rust-lang/crates.io-index)",
+ ]
+ 
+ [[package]]
+ name = "sass-sys"
+-version = "0.4.13"
++version = "0.4.15"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ dependencies = [
+  "cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
+@@ -3410,7 +3410,7 @@ dependencies = [
+ "checksum safemem 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d2b08423011dae9a5ca23f07cf57dac3857f5c885d352b76f6d95f4aea9434d0"
+ "checksum same-file 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "585e8ddcedc187886a30fa705c47985c3fa88d06624095856b36ca0b82ff4421"
+ "checksum sass-rs 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "cabcf7c6e55053f359911187ac401409aad2dc14338cae972dec266fee486abd"
+-"checksum sass-sys 0.4.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6e16ac97c2335bc367e2d675f54c1823558f1b19a6c67671d48b70e30ae22972"
++"checksum sass-sys 0.4.15 (registry+https://github.com/rust-lang/crates.io-index)" = "304b6f9501d1da13f17404aeee85486d7383d06074906669b3ea032f81e83d22"
+ "checksum schannel 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "87f550b06b6cba9c8b8be3ee73f391990116bf527450d2556e9b9ce263b9a021"
+ "checksum scoped_threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8"
+ "checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27"
diff --git a/pkgs/applications/misc/zola/default.nix b/pkgs/applications/misc/zola/default.nix
index b9231f8f0935..178be4911693 100644
--- a/pkgs/applications/misc/zola/default.nix
+++ b/pkgs/applications/misc/zola/default.nix
@@ -8,10 +8,11 @@ rustPlatform.buildRustPackage rec {
     owner = "getzola";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0dbj2rkn4k5glnwdazsvjhah5pj9cbdb8hwlvm5q4njsmrgpyaw5";
+    sha256 = "13kbgxh7r6124d1fjdf0x599j1kpgixp1y9d299zb5vrd6rf5wy5";
   };
+  cargoPatches = [ ./cargo-lock.patch ];
 
-  cargoSha256 = "0i0xqbpbv3md42d2853cfzkhfwlkvxahhz5dldla5x96rm1i2hr8";
+  cargoSha256 = "03rwf5l1l3ap03qi0xqcxsbyvpg3cqmr50j8ql6c5v55xl0ki9w8";
 
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ openssl ]
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 3f7782bb9192..d49e2d731227 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -13,7 +13,7 @@
 , bison, gperf
 , glib, gtk3, dbus-glib
 , glibc
-, libXScrnSaver, libXcursor, libXtst, libGLU_combined, libGL
+, libXScrnSaver, libXcursor, libXtst, libGLU, libGL
 , protobuf, speechd, libXdamage, cups
 , ffmpeg, libxslt, libxml2, at-spi2-core
 , jdk
@@ -123,7 +123,7 @@ let
       utillinux alsaLib
       bison gperf kerberos
       glib gtk3 dbus-glib
-      libXScrnSaver libXcursor libXtst libGLU_combined
+      libXScrnSaver libXcursor libXtst libGLU libGL
       pciutils protobuf speechd libXdamage at-spi2-core
       jdk.jre
     ] ++ optional gnomeKeyringSupport libgnome-keyring3
@@ -150,13 +150,9 @@ let
       # ++ optionals (channel == "dev") [ ( githubPatch "<patch>" "0000000000000000000000000000000000000000000000000000000000000000" ) ]
       # ++ optional (versionRange "68" "72") ( githubPatch "<patch>" "0000000000000000000000000000000000000000000000000000000000000000" )
     ] ++ optionals (useVaapi) [
-      # source: https://aur.archlinux.org/cgit/aur.git/plain/chromium-vaapi.patch?h=chromium-vaapi
-      ./patches/chromium-vaapi.patch
-    ] ++ optional stdenv.isAarch64 (fetchpatch {
-      url       = https://raw.githubusercontent.com/OSSystems/meta-browser/e4a667deaaf9a26a3a1aeb355770d1f29da549ad/recipes-browser/chromium/files/aarch64-skia-build-fix.patch;
-      postFetch = "substituteInPlace $out --replace __aarch64__ SK_CPU_ARM64";
-      sha256    = "018fbdzyw9rvia8m0qkk5gv8q8gl7x34rrjbn7mi1fgxdsayn22s";
-    });
+      # source: https://aur.archlinux.org/cgit/aur.git/tree/vaapi-fix.patch?h=chromium-vaapi
+      ./patches/vaapi-fix.patch
+    ];
 
     postPatch = ''
       # We want to be able to specify where the sandbox is via CHROME_DEVEL_SANDBOX
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 8329bf3ef550..369367bae425 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -1,4 +1,4 @@
-{ newScope, config, stdenv, llvmPackages, gcc8Stdenv, llvmPackages_8
+{ newScope, config, stdenv, llvmPackages_8
 , makeWrapper, ed
 , glib, gtk3, gnome3, gsettings-desktop-schemas
 , libva ? null
@@ -20,11 +20,8 @@
 }:
 
 let
-  stdenv_ = if stdenv.isAarch64 then gcc8Stdenv else llvmPackages_8.stdenv;
-  llvmPackages_ = if stdenv.isAarch64 then llvmPackages else llvmPackages_8;
-in let
-  stdenv = stdenv_;
-  llvmPackages = llvmPackages_;
+  stdenv = llvmPackages_8.stdenv;
+  llvmPackages = llvmPackages_8;
 
   callPackage = newScope chromium;
 
diff --git a/pkgs/applications/networking/browsers/chromium/patches/chromium-vaapi.patch b/pkgs/applications/networking/browsers/chromium/patches/chromium-vaapi.patch
deleted file mode 100644
index 38d77e215516..000000000000
--- a/pkgs/applications/networking/browsers/chromium/patches/chromium-vaapi.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-From abc7295ca1653c85472916909f0eb76e28e79a58 Mon Sep 17 00:00:00 2001
-From: Akarshan Biswas <akarshan.biswas@gmail.com>
-Date: Thu, 24 Jan 2019 12:45:29 +0530
-Subject: [PATCH] Enable mojo with VDA2 on Linux
-
----
- chrome/browser/about_flags.cc                |  8 ++++----
- chrome/browser/flag_descriptions.cc          |  9 +++++++--
- chrome/browser/flag_descriptions.h           | 10 ++++++++--
- gpu/config/software_rendering_list.json      |  3 ++-
- media/media_options.gni                      |  9 ++++++---
- media/mojo/services/gpu_mojo_media_client.cc |  4 ++--
- 6 files changed, 29 insertions(+), 14 deletions(-)
-
-diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
-index 0a84c6ac1..be2aa1d8b 100644
---- a/chrome/browser/about_flags.cc
-+++ b/chrome/browser/about_flags.cc
-@@ -1714,7 +1714,7 @@ const FeatureEntry kFeatureEntries[] = {
-         "disable-accelerated-video-decode",
-         flag_descriptions::kAcceleratedVideoDecodeName,
-         flag_descriptions::kAcceleratedVideoDecodeDescription,
--        kOsMac | kOsWin | kOsCrOS | kOsAndroid,
-+        kOsMac | kOsWin | kOsCrOS | kOsAndroid | kOsLinux,
-         SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
-     },
- #if defined(OS_WIN)
-@@ -2345,12 +2345,12 @@ const FeatureEntry kFeatureEntries[] = {
-      FEATURE_VALUE_TYPE(service_manager::features::kXRSandbox)},
- #endif  // ENABLE_ISOLATED_XR_SERVICE
- #endif  // ENABLE_VR
--#if defined(OS_CHROMEOS)
-+#if defined(OS_CHROMEOS) || defined(OS_LINUX)
-     {"disable-accelerated-mjpeg-decode",
-      flag_descriptions::kAcceleratedMjpegDecodeName,
--     flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS,
-+     flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS | kOsLinux,
-      SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)},
--#endif  // OS_CHROMEOS
-+#endif  // OS_CHROMEOS // OS_LINUX
-     {"v8-cache-options", flag_descriptions::kV8CacheOptionsName,
-      flag_descriptions::kV8CacheOptionsDescription, kOsAll,
-      MULTI_VALUE_TYPE(kV8CacheOptionsChoices)},
-diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
-index 62637e092..86f89fc6e 100644
---- a/chrome/browser/flag_descriptions.cc
-+++ b/chrome/browser/flag_descriptions.cc
-@@ -3085,15 +3085,20 @@ const char kTextSuggestionsTouchBarDescription[] =
- 
- #endif
- 
--// Chrome OS -------------------------------------------------------------------
-+// Chrome OS Linux-------------------------------------------------------------------
- 
--#if defined(OS_CHROMEOS)
-+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
- 
- const char kAcceleratedMjpegDecodeName[] =
-     "Hardware-accelerated mjpeg decode for captured frame";
- const char kAcceleratedMjpegDecodeDescription[] =
-     "Enable hardware-accelerated mjpeg decode for captured frame where "
-     "available.";
-+#endif
-+
-+// Chrome OS --------------------------------------------------
-+
-+#if defined(OS_CHROMEOS)
- 
- const char kAllowTouchpadThreeFingerClickName[] = "Touchpad three-finger-click";
- const char kAllowTouchpadThreeFingerClickDescription[] =
-diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
-index 5dac660bb..6cc4115da 100644
---- a/chrome/browser/flag_descriptions.h
-+++ b/chrome/browser/flag_descriptions.h
-@@ -1846,13 +1846,19 @@ extern const char kPermissionPromptPersistenceToggleDescription[];
- 
- #endif  // defined(OS_MACOSX)
- 
--// Chrome OS ------------------------------------------------------------------
-+// Chrome OS and Linux ------------------------------------------------------------------
- 
--#if defined(OS_CHROMEOS)
-+#if defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
- 
- extern const char kAcceleratedMjpegDecodeName[];
- extern const char kAcceleratedMjpegDecodeDescription[];
- 
-+#endif // defined(OS_CHROMEOS) || (defined(OS_LINUX) && !defined(OS_ANDROID))
-+
-+// Chrome OS ------------------------------------------------------------------------
-+
-+#if defined(OS_CHROMEOS)
-+
- extern const char kAllowTouchpadThreeFingerClickName[];
- extern const char kAllowTouchpadThreeFingerClickDescription[];
- 
-diff --git a/gpu/config/software_rendering_list.json b/gpu/config/software_rendering_list.json
-index 65f37b3f1..ae8a1718f 100644
---- a/gpu/config/software_rendering_list.json
-+++ b/gpu/config/software_rendering_list.json
-@@ -371,11 +371,12 @@
-     },
-     {
-       "id": 48,
--      "description": "Accelerated video decode is unavailable on Linux",
-+      "description": "Accelerated VA-API video decode is not supported on NVIDIA platforms",
-       "cr_bugs": [137247],
-       "os": {
-         "type": "linux"
-       },
-+      "vendor_id": "0x10de",
-       "features": [
-         "accelerated_video_decode"
-       ]
--- 
-2.20.1
-
diff --git a/pkgs/applications/networking/browsers/chromium/patches/vaapi-fix.patch b/pkgs/applications/networking/browsers/chromium/patches/vaapi-fix.patch
new file mode 100644
index 000000000000..db9d6082756d
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/patches/vaapi-fix.patch
@@ -0,0 +1,54 @@
+--- a/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
++++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.cc
+@@ -635,6 +635,7 @@
+   // |vpp_vaapi_wrapper_| for VaapiPicture to DownloadFromSurface() the VA's
+   // internal decoded frame.
+   if (buffer_allocation_mode_ != BufferAllocationMode::kNone &&
++      buffer_allocation_mode_ != BufferAllocationMode::kWrapVdpau &&
+       !vpp_vaapi_wrapper_) {
+     vpp_vaapi_wrapper_ = VaapiWrapper::Create(
+         VaapiWrapper::kVideoProcess, VAProfileNone,
+@@ -650,7 +651,8 @@
+     // only used as a copy destination. Therefore, the VaapiWrapper used and
+     // owned by |picture| is |vpp_vaapi_wrapper_|.
+     std::unique_ptr<VaapiPicture> picture = vaapi_picture_factory_->Create(
+-        (buffer_allocation_mode_ == BufferAllocationMode::kNone)
++        ((buffer_allocation_mode_ == BufferAllocationMode::kNone) ||
++         (buffer_allocation_mode_ == BufferAllocationMode::kWrapVdpau))
+             ? vaapi_wrapper_
+             : vpp_vaapi_wrapper_,
+         make_context_current_cb_, bind_image_cb_, buffers[i]);
+@@ -1077,6 +1079,14 @@
+
+ VaapiVideoDecodeAccelerator::BufferAllocationMode
+ VaapiVideoDecodeAccelerator::DecideBufferAllocationMode() {
++  // NVIDIA blobs use VDPAU
++  if (base::StartsWith(VaapiWrapper::GetVendorStringForTesting(),
++              "Splitted-Desktop Systems VDPAU",
++              base::CompareCase::SENSITIVE)) {
++    LOG(INFO) << "VA-API driver on VDPAU backend";
++    return BufferAllocationMode::kWrapVdpau;
++  }
++
+   // TODO(crbug.com/912295): Enable a better BufferAllocationMode for IMPORT
+   // |output_mode_| as well.
+   if (output_mode_ == VideoDecodeAccelerator::Config::OutputMode::IMPORT)
+@@ -1089,7 +1099,7 @@
+   // depends on the bitstream and sometimes it's not enough to cover the amount
+   // of frames needed by the client pipeline (see b/133733739).
+   // TODO(crbug.com/911754): Enable for VP9 Profile 2.
+-  if (IsGeminiLakeOrLater() &&
++  if (false && IsGeminiLakeOrLater() &&
+       (profile_ == VP9PROFILE_PROFILE0 || profile_ == VP8PROFILE_ANY)) {
+     // Add one to the reference frames for the one being currently egressed, and
+     // an extra allocation for both |client_| and |decoder_|, see
+--- a/media/gpu/vaapi/vaapi_video_decode_accelerator.h
++++ b/media/gpu/vaapi/vaapi_video_decode_accelerator.h
+@@ -204,6 +204,7 @@
+     // Using |client_|s provided PictureBuffers and as many internally
+     // allocated.
+     kNormal,
++    kWrapVdpau,
+   };
+
+   // Decides the concrete buffer allocation mode, depending on the hardware
diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix
index 057118567439..3abdef62eefc 100644
--- a/pkgs/applications/networking/browsers/chromium/plugins.nix
+++ b/pkgs/applications/networking/browsers/chromium/plugins.nix
@@ -45,11 +45,11 @@ let
 
   flash = stdenv.mkDerivation rec {
     pname = "flashplayer-ppapi";
-    version = "32.0.0.270";
+    version = "32.0.0.293";
 
     src = fetchzip {
       url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz";
-      sha256 = "1z8nfw7b3dsy79gb50bmmdjz66j5gx6m0hkw1abp35xdgh2sz2ak";
+      sha256 = "0rgriqdbyrzpm1bcph35bhzd5dz21yim56z93hkmbpdqg7767dwm";
       stripRoot = false;
     };
 
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index 2e7fcb09560a..bc1b5e9b23c5 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -1,18 +1,18 @@
 # This file is autogenerated from update.sh in the same directory.
 {
   beta = {
-    sha256 = "1n45pfpjqrpzmy7k2ps498mm273bpzfda58dz78lbdm6r7z3s7av";
-    sha256bin64 = "1rf31v1ipix8c6q4blqjrn2ap3pxnlrpfx7037qjpg84zhip0zpc";
-    version = "79.0.3945.29";
+    sha256 = "0sm6x4z6i6p292l98k0h0v69f29hgfd9l46jg8xbh2jzg9f5fp78";
+    sha256bin64 = "1yvy0d2h09cf1w42c93kpw66a2v9yn079zs6qjiqzs07yzxvxjdm";
+    version = "79.0.3945.36";
   };
   dev = {
-    sha256 = "1zj0nmj1687xsyzlh1hy2wblxv1qgdy2kj9h8bmqhld16laxwqw5";
-    sha256bin64 = "1x8wpdz18cflvj2ambqwyhzq206dil4szh1s8paqw1jwncaw7gjf";
-    version = "80.0.3962.2";
+    sha256 = "0zf434ijk6zw37fricnkb1968nhmb7zlfivf59nx9yh7irbwb4hm";
+    sha256bin64 = "1fphf8pwbbirs9fiislg3vav8c4a393lz487sa7f90mzsx84ffiz";
+    version = "80.0.3964.0";
   };
   stable = {
-    sha256 = "01wx5bi397d80za0sdfwgfbjj6n2ad2i31zmcrhm6wzryjwrmx6i";
-    sha256bin64 = "1nwhyasqxkxkx5pn2j9dx95mblj5w7fkh2zwvjz763b331w65ivp";
-    version = "78.0.3904.97";
+    sha256 = "03jvfz68nvmmrplygf96sh0l347p4h03c8vpw8yrglh6ycwkiigr";
+    sha256bin64 = "1knsrdh4vj1zl3v1frzrvzg0pwb64zhq2il7pwskrfcbmsj3gkh6";
+    version = "78.0.3904.108";
   };
 }
diff --git a/pkgs/applications/networking/browsers/ephemeral/default.nix b/pkgs/applications/networking/browsers/ephemeral/default.nix
index f3fc9ab6ecb6..d5a1063a688a 100644
--- a/pkgs/applications/networking/browsers/ephemeral/default.nix
+++ b/pkgs/applications/networking/browsers/ephemeral/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ephemeral";
-  version = "6.0.0";
+  version = "6.1.1";
 
   src = fetchFromGitHub {
     owner = "cassidyjames";
     repo = "ephemeral";
     rev = version;
-    sha256 = "0g9rrx41grmgf4nn2pp17yhjxxayk826gs6nmkfdnimd4gmlf3nk";
+    sha256 = "1i77chbjjg8zda5bnn1wj4h00a88awfls5b3i3dqwgsi356hv4wb";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index 537a30c01a2e..c9dbe6ba4b96 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -32,7 +32,7 @@
 , libgnomeui
 , libnotify
 , gnome3
-, libGLU_combined
+, libGLU, libGL
 , nspr
 , nss
 , pango
@@ -126,7 +126,7 @@ stdenv.mkDerivation {
       libgnome
       libgnomeui
       libnotify
-      libGLU_combined
+      libGLU libGL
       nspr
       nss
       pango
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index 1c6ddfc99eb6..6c49c00ca6cf 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -7,7 +7,7 @@
 { lib, stdenv, pkgconfig, pango, perl, python2, python3, zip, libIDL
 , libjpeg, zlib, dbus, dbus-glib, bzip2, xorg
 , freetype, fontconfig, file, nspr, nss, libnotify
-, yasm, libGLU_combined, sqlite, unzip, makeWrapper
+, yasm, libGLU, libGL, sqlite, unzip, makeWrapper
 , hunspell, libXdamage, libevent, libstartup_notification, libvpx
 , icu, libpng, jemalloc, glib
 , autoconf213, which, gnused, cargo, rustc, llvmPackages
@@ -131,7 +131,7 @@ stdenv.mkDerivation rec {
     gtk2 perl zip libIDL libjpeg zlib bzip2
     dbus dbus-glib pango freetype fontconfig xorg.libXi xorg.libXcursor
     xorg.libX11 xorg.libXrender xorg.libXft xorg.libXt file
-    libnotify xorg.pixman yasm libGLU_combined
+    libnotify xorg.pixman yasm libGLU libGL
     xorg.libXScrnSaver xorg.xorgproto
     xorg.libXext sqlite unzip makeWrapper
     libevent libstartup_notification libvpx /* cairo */
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index 3ed06717f6a2..4901d694f49f 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -18,8 +18,9 @@ browser:
 
 let
   wrapper =
-    { browserName ? browser.browserName or (builtins.parseDrvName browser.name).name
-    , name ? (browserName + "-" + (builtins.parseDrvName browser.name).version)
+    { browserName ? browser.browserName or (lib.getName browser)
+    , pname ? browserName
+    , version ? lib.getVersion browser
     , desktopName ? # browserName with first letter capitalized
       (lib.toUpper (lib.substring 0 1 browserName) + lib.substring 1 (-1) browserName)
     , nameSuffix ? ""
@@ -83,7 +84,7 @@ let
       gtk_modules = [ libcanberra-gtk2 ];
 
     in stdenv.mkDerivation {
-      inherit name;
+      inherit pname version;
 
       desktopItem = makeDesktopItem {
         name = browserName;
diff --git a/pkgs/applications/networking/browsers/luakit/default.nix b/pkgs/applications/networking/browsers/luakit/default.nix
index d679eb56f5bd..0605eda7fc76 100644
--- a/pkgs/applications/networking/browsers/luakit/default.nix
+++ b/pkgs/applications/networking/browsers/luakit/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Fast, small, webkit based browser framework extensible in Lua";
-    homepage    = http://luakit.org;
+    homepage    = https://luakit.github.io/;
     license     = licenses.gpl3;
     platforms   = platforms.linux; # Only tested linux
   };
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
index 29954e4129e0..585b7426eb67 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
@@ -74,7 +74,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "flashplayer";
-  version = "32.0.0.270";
+  version = "32.0.0.293";
 
   src = fetchurl {
     url =
@@ -85,14 +85,14 @@ stdenv.mkDerivation rec {
     sha256 =
       if debug then
         if arch == "x86_64" then
-          "1c3dn4gkl40i5sjkvpbkn9fl82vjhy1v7dhrayk3ncfsxcyvbcm0"
+          "0lz1na68gdi9n23hfj5c731dbskm9684cwar7ji8yjfhfryfg5yn"
         else
-          "1g7i9mihn5g9i71xyf805k19yk41vsr85gzk87gm426m0hcgg89i"
+          "10gm2ynndlyk66fndfbh7ah5ssqpyw8415i10n3lpw940x201dk0"
       else
         if arch == "x86_64" then
-          "16lxgkbr2hg49vhc7414zkh1kblhysf779854faay308ml3i5kdw"
+          "0hmlv0v9lbgxrmz0n7czfnrbrwjwxhy99gsr5g1m0aqgw0y61clc"
         else
-          "0jrdzm8pw7aq32w7m4rvkhj7mmqyddh5yxpj7q3d9hxrwshkikvj";
+          "0qdw4f48xhnkzdly3jz63v14nmzd0gg49az5wxb08ghs8laaqlik";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
index 27ec18aa6c88..0f7ded95f40f 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
@@ -50,7 +50,7 @@
 
 stdenv.mkDerivation {
   pname = "flashplayer-standalone";
-  version = "32.0.0.270";
+  version = "32.0.0.293";
 
   src = fetchurl {
     url =
@@ -60,9 +60,9 @@ stdenv.mkDerivation {
         "https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux.x86_64.tar.gz";
     sha256 =
       if debug then
-        "0k5azrl92hkbn7adjz7s2lv8h59n7gsjrcprqdc485i4f7sjmkwj"
+        "13mrknvl3yd8vrcs7mp6szz6f9ssfs72apzvc60f9qfwkhiwlg87"
       else
-        "1la5s4wxchfpl8in576xj675yrg84pify22pwf063h0jg3rdgi68";
+        "0isvmzyi4isxvxxc5ksplcqc5cafpvbrln3dddpms8zps2dxpyzi";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/networking/browsers/next-gtk-webkit/default.nix b/pkgs/applications/networking/browsers/next-gtk-webkit/default.nix
deleted file mode 100644
index 6ab533763109..000000000000
--- a/pkgs/applications/networking/browsers/next-gtk-webkit/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, gcc7, pkg-config
-, next
-, webkitgtk, gsettings-desktop-schemas
-}:
-
-stdenv.mkDerivation rec {
-  pname = "next-gtk-webkit";
-  inherit (next) src version;
-
-  makeFlags = [ "gtk-webkit" "PREFIX=$(out)" ];
-  installTargets = "install-gtk-webkit";
-
-  nativeBuildInputs = [ gcc7 pkg-config ];
-  buildInputs = [
-    webkitgtk
-    gsettings-desktop-schemas
-  ];
-  meta = with stdenv.lib; {
-    description = "Infinitely extensible web-browser (user interface only)";
-    homepage = https://next.atlas.engineer;
-    license = licenses.bsd3;
-    maintainers = [ maintainers.lewo ];
-    platforms = [ "x86_64-linux" ];
-  };
-}
diff --git a/pkgs/applications/networking/browsers/next/default.nix b/pkgs/applications/networking/browsers/next/default.nix
index 9b537c553376..97c65fc12ef5 100644
--- a/pkgs/applications/networking/browsers/next/default.nix
+++ b/pkgs/applications/networking/browsers/next/default.nix
@@ -1,86 +1,90 @@
-{ pkgs, stdenv, fetchFromGitHub
-, gcc7, pkg-config, makeWrapper
-, glib-networking
-, next-gtk-webkit
+{ stdenv
+, fetchFromGitHub
 , lispPackages
 , sbcl
+, callPackage
 }:
 
-stdenv.mkDerivation rec {
-    pname = "next";
-    version = "1.3.4";
+let
+
+  # This is the wrapped webkitgtk platform port that we hardcode into the Lisp Core.
+  # See https://github.com/atlas-engineer/next/tree/master/ports#next-platform-ports
+  next-gtk-webkit = callPackage ./next-gtk-webkit.nix {};
 
-    src = fetchFromGitHub {
-      owner = "atlas-engineer";
-      repo = "next";
-      rev = version;
-      sha256 = "00iqv4xarabl98gdl1rzqkc5v0vfljx1nawsxqsx9x3a9mnxmgxi";
-    };
+in
+
+stdenv.mkDerivation rec {
+  pname = "next";
+  version = "1.3.4";
 
-    # Stripping destroys the generated SBCL image
-    dontStrip = true;
+  src = fetchFromGitHub {
+    owner = "atlas-engineer";
+    repo = "next";
+    rev = version;
+    sha256 = "00iqv4xarabl98gdl1rzqkc5v0vfljx1nawsxqsx9x3a9mnxmgxi";
+  };
 
-    prePatch = ''
-      substituteInPlace source/ports/gtk-webkit.lisp \
-        --replace "next-gtk-webkit" "${next-gtk-webkit}/bin/next-gtk-webkit"
-    '';
+  nativeBuildInputs = [
+    sbcl
+  ] ++ (with lispPackages; [
+    prove-asdf
+    trivial-features
+  ]);
 
-    nativeBuildInputs =
-      [ sbcl makeWrapper ] ++ (with lispPackages;
-      [ prove-asdf trivial-features ]);
+  buildInputs = with lispPackages; [
+    alexandria
+    bordeaux-threads
+    cl-annot
+    cl-ansi-text
+    cl-css
+    cl-hooks
+    cl-json
+    cl-markup
+    cl-ppcre
+    cl-ppcre-unicode
+    cl-prevalence
+    closer-mop
+    dbus
+    dexador
+    ironclad
+    local-time
+    log4cl
+    lparallel
+    mk-string-metrics
+    parenscript
+    quri
+    sqlite
+    str
+    swank
+    trivia
+    trivial-clipboard
+    unix-opts
+  ];
 
-    buildInputs = with lispPackages; [
-      alexandria
-      bordeaux-threads
-      cl-annot
-      cl-ansi-text
-      cl-css
-      cl-hooks
-      cl-json
-      cl-markup
-      cl-ppcre
-      cl-ppcre-unicode
-      cl-prevalence
-      closer-mop
-      dbus
-      dexador
-      ironclad
-      local-time
-      log4cl
-      lparallel
-      mk-string-metrics
-      parenscript
-      quri
-      sqlite
-      str
-      swank
-      trivia
-      trivial-clipboard
-      unix-opts
-    ];
-    propagatedBuildInputs = [ next-gtk-webkit ];
+  prePatch = ''
+    substituteInPlace source/ports/gtk-webkit.lisp \
+      --replace "next-gtk-webkit" "${next-gtk-webkit}/bin/next-gtk-webkit"
+  '';
 
-    buildPhase = ''
-      common-lisp.sh --eval "(require :asdf)" \
-                     --eval "(asdf:load-asd (truename \"next.asd\") :name \"next\")" \
-                     --eval '(asdf:make :next)' \
-                     --quit
-    '';
+  buildPhase = ''
+    common-lisp.sh --eval "(require :asdf)" \
+                   --eval "(asdf:load-asd (truename \"next.asd\") :name \"next\")" \
+                   --eval '(asdf:make :next)' \
+                   --quit
+  '';
 
-    installPhase = ''
-      install -D -m0755 next $out/bin/next
-    '';
+  installPhase = ''
+    install -D -m0755 next $out/bin/next
+  '';
 
-    preFixup = ''
-      wrapProgram $out/bin/next \
-        --prefix GIO_EXTRA_MODULES : "${glib-networking.out}/lib/gio/modules"
-    '';
+  # Stripping destroys the generated SBCL image
+  dontStrip = true;
 
-    meta = with stdenv.lib; {
-      description = "Infinitely extensible web-browser (with Lisp development files)";
-      homepage = https://next.atlas.engineer;
-      license = licenses.bsd3;
-      maintainers = [ maintainers.lewo ];
-      platforms = [ "x86_64-linux" ];
-    };
-  }
+  meta = with stdenv.lib; {
+    description = "Infinitely extensible web-browser (with Lisp development files using WebKitGTK platform port)";
+    homepage = https://next.atlas.engineer;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.lewo ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/browsers/next/next-gtk-webkit.nix b/pkgs/applications/networking/browsers/next/next-gtk-webkit.nix
new file mode 100644
index 000000000000..a71583ffbec5
--- /dev/null
+++ b/pkgs/applications/networking/browsers/next/next-gtk-webkit.nix
@@ -0,0 +1,50 @@
+# https://github.com/atlas-engineer/next/tree/master/ports/gtk-webkit
+
+{ stdenv
+, pkg-config
+, next
+, webkitgtk
+, gtk3
+, glib
+, gsettings-desktop-schemas
+, glib-networking
+, gst_all_1
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "next-gtk-webkit";
+  inherit (next) src version;
+
+  nativeBuildInputs = [
+    pkg-config
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib
+    glib-networking
+    gsettings-desktop-schemas
+    gtk3
+    webkitgtk
+    gst_all_1.gst-plugins-base
+    gst_all_1.gstreamer
+  ];
+
+  makeFlags = [
+    "gtk-webkit"
+    "PREFIX=${placeholder "out"}"
+  ];
+
+  installTargets =  [
+    "install-gtk-webkit"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Infinitely extensible web-browser (user interface only)";
+    homepage = https://next.atlas.engineer;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.lewo ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix
index f68f34c68e5d..c1ede5044492 100644
--- a/pkgs/applications/networking/browsers/opera/default.nix
+++ b/pkgs/applications/networking/browsers/opera/default.nix
@@ -47,11 +47,11 @@ let
 in stdenv.mkDerivation rec {
 
   pname = "opera";
-  version = "64.0.3417.83";
+  version = "65.0.3467.48";
 
   src = fetchurl {
     url = "${mirror}/${version}/linux/${pname}-stable_${version}_amd64.deb";
-    sha256 = "09ygnfma5ncx6y8yr6dm3hz98cd9srv6687wgs786dw5glfhsd57";
+    sha256 = "0vcpq2p8si6rlyvd8nzs0a7pjxks2qn8i8czna968wyfxlczckyr";
   };
 
   unpackCmd = "${dpkg}/bin/dpkg-deb -x $curSrc .";
diff --git a/pkgs/applications/networking/browsers/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix
index 07234f59a8ed..05262b0cf508 100644
--- a/pkgs/applications/networking/browsers/palemoon/default.nix
+++ b/pkgs/applications/networking/browsers/palemoon/default.nix
@@ -3,7 +3,7 @@
 , dbus, dbus-glib, ffmpeg, file, fontconfig, freetype
 , gnome2, gnum4, gtk2, hunspell, libevent, libjpeg
 , libnotify, libstartup_notification, makeWrapper
-, libGLU_combined, perl, python, libpulseaudio
+, libGLU, libGL, perl, python, libpulseaudio
 , unzip, xorg, wget, which, yasm, zip, zlib
 }:
 
@@ -43,7 +43,7 @@ in stdenv.mkDerivation rec {
   buildInputs = [
     alsaLib bzip2 cairo dbus dbus-glib ffmpeg file fontconfig freetype
     gnome2.GConf gnum4 gtk2 hunspell libevent libjpeg libnotify
-    libstartup_notification makeWrapper libGLU_combined perl
+    libstartup_notification makeWrapper libGLU libGL perl
     pkgconfig python libpulseaudio unzip wget which yasm zip zlib
   ] ++ (with xorg; [
     libX11 libXext libXft libXi libXrender libXScrnSaver
diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix
index 7b13d748fe05..8f2f5a2cf7ef 100644
--- a/pkgs/applications/networking/browsers/qutebrowser/default.nix
+++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix
@@ -10,23 +10,23 @@ assert withMediaPlayback -> gst_all_1 != null;
 
 let
   pdfjs = let
-    version = "2.2.228";
+    version = "2.3.200";
   in
   fetchzip rec {
     name = "pdfjs-${version}";
     url = "https://github.com/mozilla/pdf.js/releases/download/v${version}/${name}-dist.zip";
-    sha256 = "0yik4vfnz46j844jfw1gq5cshgzry42kpy2d5rr7fbn9fjf98bw6";
+    sha256 = "1fpxsw0hzahccyng08acvc7g0gk29j2x701p6w6fg1718mvcrm1q";
     stripRoot = false;
   };
 
 in mkDerivationWith python3Packages.buildPythonApplication rec {
   pname = "qutebrowser";
-  version = "1.8.1";
+  version = "1.8.2";
 
   # the release tarballs are different from the git checkout!
   src = fetchurl {
     url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "0ckffbw2zlg0afz4rgyywzdprnqs74va5qj0xqlaqc14ziiypxnw";
+    sha256 = "0walddppjb61k3dyq22cngkaw6alzn75k5npvnawla2l153irw5s";
   };
 
   # Needs tox
diff --git a/pkgs/applications/networking/c14/default.nix b/pkgs/applications/networking/c14/default.nix
index 3383d6838f7b..c000a37ff029 100644
--- a/pkgs/applications/networking/c14/default.nix
+++ b/pkgs/applications/networking/c14/default.nix
@@ -17,7 +17,7 @@ buildGoPackage rec {
 
   meta = with stdenv.lib; {
     description = "C14 is designed for data archiving & long-term backups.";
-    homepage = https://www.online.net/en/c14;
+    homepage = https://www.online.net/en/storage/c14-cold-storage;
     license = licenses.mit;
     maintainers = with maintainers; [ apeyroux ];
   };
diff --git a/pkgs/applications/networking/cawbird/default.nix b/pkgs/applications/networking/cawbird/default.nix
index 02368990a015..6462dd499493 100644
--- a/pkgs/applications/networking/cawbird/default.nix
+++ b/pkgs/applications/networking/cawbird/default.nix
@@ -1,6 +1,23 @@
-{ stdenv, fetchFromGitHub, glib, gtk3, json-glib, sqlite, libsoup, gettext, vala
-, meson, ninja, pkgconfig, gnome3, gst_all_1, wrapGAppsHook, gobject-introspection
-, glib-networking, python3 }:
+{ stdenv
+, fetchFromGitHub
+, glib
+, gtk3
+, json-glib
+, sqlite
+, libsoup
+, gettext
+, gspell
+, vala
+, meson
+, ninja
+, pkgconfig
+, dconf
+, gst_all_1
+, wrapGAppsHook
+, gobject-introspection
+, glib-networking
+, python3
+}:
 
 stdenv.mkDerivation rec {
   version = "1.0.3.1";
@@ -14,13 +31,34 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
-    meson ninja vala pkgconfig wrapGAppsHook python3
+    meson
+    ninja
+    vala
+    pkgconfig
+    wrapGAppsHook
+    python3
     gobject-introspection # for setup hook
   ];
 
   buildInputs = [
-    glib gtk3 json-glib sqlite libsoup gettext gnome3.dconf gnome3.gspell glib-networking
-  ] ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-bad (gst-plugins-good.override { gtkSupport = true; }) gst-libav ]);
+    glib
+    gtk3
+    json-glib
+    sqlite
+    libsoup
+    gettext
+    dconf
+    gspell
+    glib-networking
+  ] ++ (with gst_all_1; [
+    gstreamer
+    gst-plugins-base
+    gst-plugins-bad
+    (gst-plugins-good.override {
+      gtkSupport = true;
+    })
+    gst-libav
+  ]);
 
   postPatch = ''
     chmod +x data/meson_post_install.py # patchShebangs requires executable file
@@ -30,7 +68,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Native GTK Twitter client for the Linux desktop";
     longDescription = "Cawbird is a modern, easy and fun Twitter client. Fork of the discontinued Corebird.";
-    homepage = https://ibboard.co.uk/cawbird/;
+    homepage = "https://ibboard.co.uk/cawbird/";
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = with stdenv.lib.maintainers; [ jonafato schmittlauch ];
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index 1ad7ad3e393d..c2751ac270a7 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 {
   pname = "kubernetes";
-  version = "1.15.4";
+  version = "1.16.3";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "kubernetes";
     rev = "v${version}";
-    sha256 = "18wpqrgb1ils4g8ggg217xq4jq30i4m7par2mdjk59pmz7ssm25p";
+    sha256 = "0s2k7ik2aa7knh25r0qki7ldr3g9h87dgi8nm64j8n0yy4xvg2h3";
   };
 
   buildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ];
@@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
     description = "Production-Grade Container Scheduling and Management";
     license = licenses.asl20;
     homepage = https://kubernetes.io;
-    maintainers = with maintainers; [johanot offline];
+    maintainers = with maintainers; [johanot offline saschagrunert];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/cluster/kubeseal/default.nix b/pkgs/applications/networking/cluster/kubeseal/default.nix
new file mode 100644
index 000000000000..e232670c31f2
--- /dev/null
+++ b/pkgs/applications/networking/cluster/kubeseal/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "kubeseal";
+  version = "0.9.5";
+
+  src = fetchFromGitHub {
+    owner = "bitnami-labs";
+    repo = "sealed-secrets";
+    rev = "v${version}";
+    sha256 = "0k59n40rmxjdn0xi8gr08zlxk0irfc7crra9x8qdljvivqshma3z";
+  };
+
+  modSha256 = "04dmjyz3vi2l0dfpyy42lkp2fv1vlfkvblrxh1dvb37phrkd5lbd";
+
+  subPackages = [ "cmd/kubeseal" ];
+
+  meta = with lib; {
+    description = "A Kubernetes controller and tool for one-way encrypted Secrets";
+    homepage = "https://github.com/bitnami-labs/sealed-secrets";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ groodt ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/sonobuoy/default.nix b/pkgs/applications/networking/cluster/sonobuoy/default.nix
index ce6c5424fba1..32dbced0a461 100644
--- a/pkgs/applications/networking/cluster/sonobuoy/default.nix
+++ b/pkgs/applications/networking/cluster/sonobuoy/default.nix
@@ -1,11 +1,11 @@
 { lib, buildGoPackage, fetchFromGitHub }:
 
 # SHA of ${version} for the tool's help output
-let rev = "7ad367535a6710802085d41e0dbb53df359b9882";
+let rev = "c9c2a461cd3397909fe6e45ff71836347ef89fd8";
 in
 buildGoPackage rec {
   pname = "sonobuoy";
-  version = "0.15.0";
+  version = "0.16.1";
 
   goPackagePath = "github.com/heptio/sonobuoy";
 
@@ -19,10 +19,10 @@ buildGoPackage rec {
     '';
 
   src = fetchFromGitHub {
-    sha256 = "0dkmhmr7calk8mkdxfpy3yjzk10ja4gz1jq8pgk3v8rh04f4h1x5";
+    sha256 = "14qc5a7jbr403wjpk6pgpb94i72yx647sg9srz07q6drq650kyfv";
     rev = "v${version}";
     repo = "sonobuoy";
-    owner = "heptio";
+    owner = "vmware-tanzu";
   };
 
   meta = with lib; {
@@ -36,8 +36,8 @@ buildGoPackage rec {
       accessible and non-destructive manner.
     '';
 
-    homepage = "https://github.com/heptio/sonobuoy";
+    homepage = "https://sonobuoy.io";
     license = licenses.asl20;
-    maintainers = with maintainers; [ carlosdagos ];
+    maintainers = with maintainers; [ carlosdagos saschagrunert ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 598284dcb255..f8b42470de74 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -112,8 +112,8 @@ in rec {
   terraform_0_11-full = terraform_0_11.full;
 
   terraform_0_12 = pluggable (generic {
-    version = "0.12.14";
-    sha256 = "0pq4sfnnlj91gxyxvyzzrgglnvh8xpan90gnc9jvnnb23iv4q96l";
+    version = "0.12.16";
+    sha256 = "10r9vra4d3lyms9cvl0g1ij6ldcfi3vjrqsmd52isrmlmjdzm8nk";
     patches = [ ./provider-path.patch ];
     passthru = { inherit plugins; };
   });
diff --git a/pkgs/applications/networking/datovka/default.nix b/pkgs/applications/networking/datovka/default.nix
index 676737d2a77c..12bad094fcaa 100644
--- a/pkgs/applications/networking/datovka/default.nix
+++ b/pkgs/applications/networking/datovka/default.nix
@@ -11,11 +11,11 @@
 
 mkDerivation rec {
   pname = "datovka";
-  version = "4.14.0";
+  version = "4.14.1";
 
   src = fetchurl {
     url = "https://secure.nic.cz/files/datove_schranky/${version}/${pname}-${version}.tar.xz";
-    sha256 = "0q7zlq522wdgwxgd3jxmxvr3awclcy0mbw3qaymwzn2b8d35168r";
+    sha256 = "0jinxsm2zw77294vz9pjiqpgpzdwx5nijsi4nqzxna5rkmwdyxk6";
   };
 
   buildInputs = [ libisds qmake qtbase qtsvg libxml2 ];
diff --git a/pkgs/applications/networking/feedreaders/castget/default.nix b/pkgs/applications/networking/feedreaders/castget/default.nix
index 83132f030145..33f8d8ca2383 100644
--- a/pkgs/applications/networking/feedreaders/castget/default.nix
+++ b/pkgs/applications/networking/feedreaders/castget/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
       castget is a simple, command-line based RSS enclosure downloader. It is
       primarily intended for automatic, unattended downloading of podcasts.
     '';
-    homepage = "http://castget.johndal.com/";
+    homepage = "https://castget.johndal.com/";
     maintainers = with maintainers; [ doronbehar ];
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/applications/networking/feedreaders/rssguard/default.nix b/pkgs/applications/networking/feedreaders/rssguard/default.nix
index 169b88f27185..2bb592bfb42c 100644
--- a/pkgs/applications/networking/feedreaders/rssguard/default.nix
+++ b/pkgs/applications/networking/feedreaders/rssguard/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, qmake, qtwebengine, qttools, wrapGAppsHook }:
+{ stdenv, fetchFromGitHub, qmake, qtwebengine, qttools, wrapGAppsHook, wrapQtAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "rssguard";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =  [ qtwebengine qttools ];
-  nativeBuildInputs = [ qmake wrapGAppsHook ];
+  nativeBuildInputs = [ qmake wrapGAppsHook wrapQtAppsHook ];
   qmakeFlags = [ "CONFIG+=release" ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/gns3/default.nix b/pkgs/applications/networking/gns3/default.nix
index 6bc2554d8c90..1e6a0fd5b7f5 100644
--- a/pkgs/applications/networking/gns3/default.nix
+++ b/pkgs/applications/networking/gns3/default.nix
@@ -1,16 +1,16 @@
 { callPackage }:
 
 let
-  stableVersion = "2.2.2";
-  previewVersion = "2.2.2";
+  stableVersion = "2.2.3";
+  previewVersion = stableVersion;
   addVersion = args:
     let version = if args.stable then stableVersion else previewVersion;
         branch = if args.stable then "stable" else "preview";
     in args // { inherit version branch; };
   mkGui = args: callPackage (import ./gui.nix (addVersion args)) { };
   mkServer = args: callPackage (import ./server.nix (addVersion args)) { };
-  guiSrcHash = "0i335fjbadixp39l75w0fl5iwz2cb8rcdj2xvx1my3vzhg8lijfl";
-  serverSrcHash = "1g6km8jc53y8ph14ifjxscbimdxma6bw5ir9gqzvkjn39k9fy1w6";
+  guiSrcHash = "1l40q3d3hsmhgwb4d8hj73vhgckm0dvsc6l6qzacypd202iq1v8a";
+  serverSrcHash = "1qcypb1rmfdl8fl3ykqf5phcapmjid6jrxd6xpncd5dhyl2hr94n";
 in {
   guiStable = mkGui {
     stable = true;
diff --git a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
index aefde289db59..917610216aeb 100644
--- a/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
+++ b/pkgs/applications/networking/instant-messengers/bitlbee/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, gnutls, glib, pkgconfig, check, libotr, python
+{ fetchurl, fetchpatch, stdenv, gnutls, glib, pkgconfig, check, libotr, python
 , enableLibPurple ? false, pidgin ? null
 , enablePam ? false, pam ? null
 }:
@@ -25,6 +25,14 @@ stdenv.mkDerivation rec {
   ] ++ optional enableLibPurple "--purple=1"
     ++ optional enablePam "--pam=1";
 
+  patches = [
+    # This should be dropped once the issue is fixed upstream.
+    (fetchpatch {
+      url = "https://github.com/bitlbee/bitlbee/commit/6ff651b3ec93e5fd74f80766d5e9714d963137bc.diff";
+      sha256 = "144dpm4kq7c268fpww1q3n88ayg068n73fbabr5arh1zryw48qfv";
+    })
+  ];
+
   installTargets = [ "install" "install-dev" ];
 
   doCheck = !enableLibPurple; # Checks fail with libpurple for some reason
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index a54c4f4955aa..70b36c663873 100644
--- a/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -27,10 +27,10 @@ in {
     pname = "discord-canary";
     binaryName = "DiscordCanary";
     desktopName = "Discord Canary";
-    version = "0.0.97";
+    version = "0.0.98";
     src = fetchurl {
       url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
-      sha256 = "17kwgk2kwrfqgjqmfv055gvlqq144gz7bywwrs6i2x7mimz4345x";
+      sha256 = "0raqsfakjbcsh7g280yi7sg2jsrmy2q4jldg73wb868z35radld4";
     };
   };
 }.${branch}
diff --git a/pkgs/applications/networking/instant-messengers/linphone/default.nix b/pkgs/applications/networking/instant-messengers/linphone/default.nix
index 09273b7caa50..b155f3129642 100644
--- a/pkgs/applications/networking/instant-messengers/linphone/default.nix
+++ b/pkgs/applications/networking/instant-messengers/linphone/default.nix
@@ -2,19 +2,18 @@
 , zlib, libxml2, gtk2, libnotify, speex, ffmpeg, libX11, libsoup, udev
 , ortp, mediastreamer, sqlite, belle-sip, libosip, libexosip, bzrtp
 , mediastreamer-openh264, bctoolbox, makeWrapper, fetchFromGitHub, cmake
-, libmatroska, bcunit, doxygen, gdk-pixbuf, glib, cairo, pango, polarssl
-, python, graphviz, belcard
+, libmatroska, bcunit, doxygen, gdk-pixbuf, glib, cairo, pango, mbedtls
+, python, graphviz, belcard, bcg729
 , withGui ? true
 }:
 
 stdenv.mkDerivation rec {
-  baseName = "linphone";
+  pname = "linphone";
   version = "3.12.0";
-  name = "${baseName}-${version}";
 
   src = fetchFromGitHub {
     owner = "BelledonneCommunications";
-    repo = baseName;
+    repo = pname;
     rev = version;
     sha256 = "0az2ywrpx11sqfb4s4r2v726avcjf4k15bvrqj7xvhz7hdndmh0j";
   };
@@ -27,21 +26,25 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     readline openldap cyrus_sasl libupnp zlib libxml2 gtk2 libnotify speex ffmpeg libX11
-    polarssl libsoup udev ortp mediastreamer sqlite belle-sip libosip libexosip
-    bctoolbox libmatroska bcunit gdk-pixbuf glib cairo pango bzrtp belcard
+    mbedtls libsoup udev ortp mediastreamer sqlite belle-sip libosip libexosip
+    bctoolbox libmatroska gdk-pixbuf glib cairo pango bzrtp belcard bcg729
   ];
 
   nativeBuildInputs = [
-    intltool pkgconfig makeWrapper cmake doxygen graphviz
+    intltool pkgconfig makeWrapper cmake bcunit doxygen graphviz
     (python.withPackages (ps: [ ps.pystache ps.six ]))
   ];
 
-  NIX_CFLAGS_COMPILE = " -Wno-error -I${glib.dev}/include/glib-2.0
-    -I${glib.out}/lib/glib-2.0/include -I${gtk2.dev}/include/gtk-2.0/
-    -I${cairo.dev}/include/cairo -I${pango.dev}/include/pango-1.0
-    -I${gtk2}/lib/gtk-2.0/include
-    -DLIBLINPHONE_GIT_VERSION=\"v${version}\"
-    ";
+  NIX_CFLAGS_COMPILE = [
+    "-Wno-error"
+    "-I${glib.dev}/include/glib-2.0"
+    "-I${glib.out}/lib/glib-2.0/include"
+    "-I${gtk2.dev}/include/gtk-2.0/"
+    "-I${cairo.dev}/include/cairo"
+    "-I${pango.dev}/include/pango-1.0"
+    "-I${gtk2}/lib/gtk-2.0/include"
+    "-DLIBLINPHONE_GIT_VERSION=\"v${version}\""
+  ];
 
   postInstall = ''
     for i in $(cd $out/bin && ls); do
@@ -50,8 +53,8 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://www.linphone.org/;
-    description = "Open Source video SIP softphone";
+    homepage = https://www.linphone.org/;
+    description = "Open source SIP phone for voice/video calls and instant messaging";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix b/pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix
new file mode 100644
index 000000000000..e03bdd9909e8
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/matrix-recorder/composition.nix
@@ -0,0 +1,21 @@
+# This file has been generated by node2nix 1.7.0. Do not edit!
+
+{pkgs ? import <nixpkgs> {
+    inherit system;
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
+
+let
+  nodeEnv = import ./node-env.nix {
+    inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
+    inherit nodejs;
+    libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
+  };
+locpkgs = 
+import ./node-packages.nix {
+  inherit (pkgs) fetchurl fetchgit;
+  inherit nodeEnv;
+  globalBuildInputs = [
+    locpkgs.node-pre-gyp
+  ];
+};
+in locpkgs
diff --git a/pkgs/applications/networking/instant-messengers/matrix-recorder/default.nix b/pkgs/applications/networking/instant-messengers/matrix-recorder/default.nix
new file mode 100644
index 000000000000..633219626b68
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/matrix-recorder/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, pkgs }:
+(import ./composition.nix {
+  inherit pkgs;
+  inherit (stdenv.hostPlatform) system;
+})."package".override {
+  postInstall = ''
+    mkdir "$out/bin"
+    echo '#!/bin/sh' >> "$out/bin/matrix-recorder"
+    echo "'${pkgs.nodejs-12_x}/bin/node'" \
+         "'$out/lib/node_modules/matrix-recorder/matrix-recorder.js'" \
+         '"$@"' >> "$out/bin/matrix-recorder"
+    echo '#!/bin/sh' >> "$out/bin/matrix-recorder-to-html"
+    echo 'cd "$1"' >> "$out/bin/matrix-recorder-to-html"
+    echo "test -d templates/ || ln -sfT '$out/lib/node_modules/matrix-recorder/templates' templates" >> "$out/bin/matrix-recorder-to-html"
+    echo "'${pkgs.nodejs-12_x}/bin/node'" \
+         "'$out/lib/node_modules/matrix-recorder/recorder-to-html.js'" \
+         '.' >> "$out/bin/matrix-recorder-to-html"
+    chmod a+x "$out/bin/matrix-recorder"
+    chmod a+x "$out/bin/matrix-recorder-to-html"
+  '';
+  meta = {
+    description = "Matrix message recorder";
+    homepage = "https://gitlab.com/argit/matrix-recorder/";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.raskin ];
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/matrix-recorder/node-env.nix b/pkgs/applications/networking/instant-messengers/matrix-recorder/node-env.nix
new file mode 100644
index 000000000000..670556bf271a
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/matrix-recorder/node-env.nix
@@ -0,0 +1,540 @@
+# This file originates from node2nix
+
+{stdenv, nodejs, python2, utillinux, libtool, runCommand, writeTextFile}:
+
+let
+  python = if nodejs ? python then nodejs.python else python2;
+
+  # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise
+  tarWrapper = runCommand "tarWrapper" {} ''
+    mkdir -p $out/bin
+
+    cat > $out/bin/tar <<EOF
+    #! ${stdenv.shell} -e
+    $(type -p tar) "\$@" --warning=no-unknown-keyword --delay-directory-restore
+    EOF
+
+    chmod +x $out/bin/tar
+  '';
+
+  # Function that generates a TGZ file from a NPM project
+  buildNodeSourceDist =
+    { name, version, src, ... }:
+
+    stdenv.mkDerivation {
+      name = "node-tarball-${name}-${version}";
+      inherit src;
+      buildInputs = [ nodejs ];
+      buildPhase = ''
+        export HOME=$TMPDIR
+        tgzFile=$(npm pack | tail -n 1) # Hooks to the pack command will add output (https://docs.npmjs.com/misc/scripts)
+      '';
+      installPhase = ''
+        mkdir -p $out/tarballs
+        mv $tgzFile $out/tarballs
+        mkdir -p $out/nix-support
+        echo "file source-dist $out/tarballs/$tgzFile" >> $out/nix-support/hydra-build-products
+      '';
+    };
+
+  includeDependencies = {dependencies}:
+    stdenv.lib.optionalString (dependencies != [])
+      (stdenv.lib.concatMapStrings (dependency:
+        ''
+          # Bundle the dependencies of the package
+          mkdir -p node_modules
+          cd node_modules
+
+          # Only include dependencies if they don't exist. They may also be bundled in the package.
+          if [ ! -e "${dependency.name}" ]
+          then
+              ${composePackage dependency}
+          fi
+
+          cd ..
+        ''
+      ) dependencies);
+
+  # Recursively composes the dependencies of a package
+  composePackage = { name, packageName, src, dependencies ? [], ... }@args:
+    ''
+      DIR=$(pwd)
+      cd $TMPDIR
+
+      unpackFile ${src}
+
+      # Make the base dir in which the target dependency resides first
+      mkdir -p "$(dirname "$DIR/${packageName}")"
+
+      if [ -f "${src}" ]
+      then
+          # Figure out what directory has been unpacked
+          packageDir="$(find . -maxdepth 1 -type d | tail -1)"
+
+          # Restore write permissions to make building work
+          find "$packageDir" -type d -exec chmod u+x {} \;
+          chmod -R u+w "$packageDir"
+
+          # Move the extracted tarball into the output folder
+          mv "$packageDir" "$DIR/${packageName}"
+      elif [ -d "${src}" ]
+      then
+          # Get a stripped name (without hash) of the source directory.
+          # On old nixpkgs it's already set internally.
+          if [ -z "$strippedName" ]
+          then
+              strippedName="$(stripHash ${src})"
+          fi
+
+          # Restore write permissions to make building work
+          chmod -R u+w "$strippedName"
+
+          # Move the extracted directory into the output folder
+          mv "$strippedName" "$DIR/${packageName}"
+      fi
+
+      # Unset the stripped name to not confuse the next unpack step
+      unset strippedName
+
+      # Include the dependencies of the package
+      cd "$DIR/${packageName}"
+      ${includeDependencies { inherit dependencies; }}
+      cd ..
+      ${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+    '';
+
+  pinpointDependencies = {dependencies, production}:
+    let
+      pinpointDependenciesFromPackageJSON = writeTextFile {
+        name = "pinpointDependencies.js";
+        text = ''
+          var fs = require('fs');
+          var path = require('path');
+
+          function resolveDependencyVersion(location, name) {
+              if(location == process.env['NIX_STORE']) {
+                  return null;
+              } else {
+                  var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json");
+
+                  if(fs.existsSync(dependencyPackageJSON)) {
+                      var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON));
+
+                      if(dependencyPackageObj.name == name) {
+                          return dependencyPackageObj.version;
+                      }
+                  } else {
+                      return resolveDependencyVersion(path.resolve(location, ".."), name);
+                  }
+              }
+          }
+
+          function replaceDependencies(dependencies) {
+              if(typeof dependencies == "object" && dependencies !== null) {
+                  for(var dependency in dependencies) {
+                      var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency);
+
+                      if(resolvedVersion === null) {
+                          process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n");
+                      } else {
+                          dependencies[dependency] = resolvedVersion;
+                      }
+                  }
+              }
+          }
+
+          /* Read the package.json configuration */
+          var packageObj = JSON.parse(fs.readFileSync('./package.json'));
+
+          /* Pinpoint all dependencies */
+          replaceDependencies(packageObj.dependencies);
+          if(process.argv[2] == "development") {
+              replaceDependencies(packageObj.devDependencies);
+          }
+          replaceDependencies(packageObj.optionalDependencies);
+
+          /* Write the fixed package.json file */
+          fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2));
+        '';
+      };
+    in
+    ''
+      node ${pinpointDependenciesFromPackageJSON} ${if production then "production" else "development"}
+
+      ${stdenv.lib.optionalString (dependencies != [])
+        ''
+          if [ -d node_modules ]
+          then
+              cd node_modules
+              ${stdenv.lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies}
+              cd ..
+          fi
+        ''}
+    '';
+
+  # Recursively traverses all dependencies of a package and pinpoints all
+  # dependencies in the package.json file to the versions that are actually
+  # being used.
+
+  pinpointDependenciesOfPackage = { packageName, dependencies ? [], production ? true, ... }@args:
+    ''
+      if [ -d "${packageName}" ]
+      then
+          cd "${packageName}"
+          ${pinpointDependencies { inherit dependencies production; }}
+          cd ..
+          ${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+      fi
+    '';
+
+  # Extract the Node.js source code which is used to compile packages with
+  # native bindings
+  nodeSources = runCommand "node-sources" {} ''
+    tar --no-same-owner --no-same-permissions -xf ${nodejs.src}
+    mv node-* $out
+  '';
+
+  # Script that adds _integrity fields to all package.json files to prevent NPM from consulting the cache (that is empty)
+  addIntegrityFieldsScript = writeTextFile {
+    name = "addintegrityfields.js";
+    text = ''
+      var fs = require('fs');
+      var path = require('path');
+
+      function augmentDependencies(baseDir, dependencies) {
+          for(var dependencyName in dependencies) {
+              var dependency = dependencies[dependencyName];
+
+              // Open package.json and augment metadata fields
+              var packageJSONDir = path.join(baseDir, "node_modules", dependencyName);
+              var packageJSONPath = path.join(packageJSONDir, "package.json");
+
+              if(fs.existsSync(packageJSONPath)) { // Only augment packages that exist. Sometimes we may have production installs in which development dependencies can be ignored
+                  console.log("Adding metadata fields to: "+packageJSONPath);
+                  var packageObj = JSON.parse(fs.readFileSync(packageJSONPath));
+
+                  if(dependency.integrity) {
+                      packageObj["_integrity"] = dependency.integrity;
+                  } else {
+                      packageObj["_integrity"] = "sha1-000000000000000000000000000="; // When no _integrity string has been provided (e.g. by Git dependencies), add a dummy one. It does not seem to harm and it bypasses downloads.
+                  }
+
+                  if(dependency.resolved) {
+                      packageObj["_resolved"] = dependency.resolved; // Adopt the resolved property if one has been provided
+                  } else {
+                      packageObj["_resolved"] = dependency.version; // Set the resolved version to the version identifier. This prevents NPM from cloning Git repositories.
+                  }
+
+                  if(dependency.from !== undefined) { // Adopt from property if one has been provided
+                      packageObj["_from"] = dependency.from;
+                  }
+
+                  fs.writeFileSync(packageJSONPath, JSON.stringify(packageObj, null, 2));
+              }
+
+              // Augment transitive dependencies
+              if(dependency.dependencies !== undefined) {
+                  augmentDependencies(packageJSONDir, dependency.dependencies);
+              }
+          }
+      }
+
+      if(fs.existsSync("./package-lock.json")) {
+          var packageLock = JSON.parse(fs.readFileSync("./package-lock.json"));
+
+          if(packageLock.lockfileVersion !== 1) {
+             process.stderr.write("Sorry, I only understand lock file version 1!\n");
+             process.exit(1);
+          }
+
+          if(packageLock.dependencies !== undefined) {
+              augmentDependencies(".", packageLock.dependencies);
+          }
+      }
+    '';
+  };
+
+  # Reconstructs a package-lock file from the node_modules/ folder structure and package.json files with dummy sha1 hashes
+  reconstructPackageLock = writeTextFile {
+    name = "addintegrityfields.js";
+    text = ''
+      var fs = require('fs');
+      var path = require('path');
+
+      var packageObj = JSON.parse(fs.readFileSync("package.json"));
+
+      var lockObj = {
+          name: packageObj.name,
+          version: packageObj.version,
+          lockfileVersion: 1,
+          requires: true,
+          dependencies: {}
+      };
+
+      function augmentPackageJSON(filePath, dependencies) {
+          var packageJSON = path.join(filePath, "package.json");
+          if(fs.existsSync(packageJSON)) {
+              var packageObj = JSON.parse(fs.readFileSync(packageJSON));
+              dependencies[packageObj.name] = {
+                  version: packageObj.version,
+                  integrity: "sha1-000000000000000000000000000=",
+                  dependencies: {}
+              };
+              processDependencies(path.join(filePath, "node_modules"), dependencies[packageObj.name].dependencies);
+          }
+      }
+
+      function processDependencies(dir, dependencies) {
+          if(fs.existsSync(dir)) {
+              var files = fs.readdirSync(dir);
+
+              files.forEach(function(entry) {
+                  var filePath = path.join(dir, entry);
+                  var stats = fs.statSync(filePath);
+
+                  if(stats.isDirectory()) {
+                      if(entry.substr(0, 1) == "@") {
+                          // When we encounter a namespace folder, augment all packages belonging to the scope
+                          var pkgFiles = fs.readdirSync(filePath);
+
+                          pkgFiles.forEach(function(entry) {
+                              if(stats.isDirectory()) {
+                                  var pkgFilePath = path.join(filePath, entry);
+                                  augmentPackageJSON(pkgFilePath, dependencies);
+                              }
+                          });
+                      } else {
+                          augmentPackageJSON(filePath, dependencies);
+                      }
+                  }
+              });
+          }
+      }
+
+      processDependencies("node_modules", lockObj.dependencies);
+
+      fs.writeFileSync("package-lock.json", JSON.stringify(lockObj, null, 2));
+    '';
+  };
+
+  prepareAndInvokeNPM = {packageName, bypassCache, reconstructLock, npmFlags, production}:
+    let
+      forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com";
+    in
+    ''
+        # Pinpoint the versions of all dependencies to the ones that are actually being used
+        echo "pinpointing versions of dependencies..."
+        source $pinpointDependenciesScriptPath
+
+        # Patch the shebangs of the bundled modules to prevent them from
+        # calling executables outside the Nix store as much as possible
+        patchShebangs .
+
+        # Deploy the Node.js package by running npm install. Since the
+        # dependencies have been provided already by ourselves, it should not
+        # attempt to install them again, which is good, because we want to make
+        # it Nix's responsibility. If it needs to install any dependencies
+        # anyway (e.g. because the dependency parameters are
+        # incomplete/incorrect), it fails.
+        #
+        # The other responsibilities of NPM are kept -- version checks, build
+        # steps, postprocessing etc.
+
+        export HOME=$TMPDIR
+        cd "${packageName}"
+        runHook preRebuild
+
+        ${stdenv.lib.optionalString bypassCache ''
+          ${stdenv.lib.optionalString reconstructLock ''
+            if [ -f package-lock.json ]
+            then
+                echo "WARNING: Reconstruct lock option enabled, but a lock file already exists!"
+                echo "This will most likely result in version mismatches! We will remove the lock file and regenerate it!"
+                rm package-lock.json
+            else
+                echo "No package-lock.json file found, reconstructing..."
+            fi
+
+            node ${reconstructPackageLock}
+          ''}
+
+          node ${addIntegrityFieldsScript}
+        ''}
+
+        npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} rebuild
+
+        if [ "$dontNpmInstall" != "1" ]
+        then
+            # NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
+            rm -f npm-shrinkwrap.json
+
+            npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} install
+        fi
+    '';
+
+  # Builds and composes an NPM package including all its dependencies
+  buildNodePackage =
+    { name
+    , packageName
+    , version
+    , dependencies ? []
+    , buildInputs ? []
+    , production ? true
+    , npmFlags ? ""
+    , dontNpmInstall ? false
+    , bypassCache ? false
+    , reconstructLock ? false
+    , preRebuild ? ""
+    , dontStrip ? true
+    , unpackPhase ? "true"
+    , buildPhase ? "true"
+    , ... }@args:
+
+    let
+      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" ];
+    in
+    stdenv.mkDerivation ({
+      name = "node_${name}-${version}";
+      buildInputs = [ tarWrapper python nodejs ]
+        ++ stdenv.lib.optional (stdenv.isLinux) utillinux
+        ++ stdenv.lib.optional (stdenv.isDarwin) libtool
+        ++ buildInputs;
+
+      inherit dontStrip; # Stripping may fail a build for some package deployments
+      inherit dontNpmInstall preRebuild unpackPhase buildPhase;
+
+      compositionScript = composePackage args;
+      pinpointDependenciesScript = pinpointDependenciesOfPackage args;
+
+      passAsFile = [ "compositionScript" "pinpointDependenciesScript" ];
+
+      installPhase = ''
+        # Create and enter a root node_modules/ folder
+        mkdir -p $out/lib/node_modules
+        cd $out/lib/node_modules
+
+        # Compose the package and all its dependencies
+        source $compositionScriptPath
+
+        ${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }}
+
+        # Create symlink to the deployed executable folder, if applicable
+        if [ -d "$out/lib/node_modules/.bin" ]
+        then
+            ln -s $out/lib/node_modules/.bin $out/bin
+        fi
+
+        # Create symlinks to the deployed manual page folders, if applicable
+        if [ -d "$out/lib/node_modules/${packageName}/man" ]
+        then
+            mkdir -p $out/share
+            for dir in "$out/lib/node_modules/${packageName}/man/"*
+            do
+                mkdir -p $out/share/man/$(basename "$dir")
+                for page in "$dir"/*
+                do
+                    ln -s $page $out/share/man/$(basename "$dir")
+                done
+            done
+        fi
+
+        # Run post install hook, if provided
+        runHook postInstall
+      '';
+    } // extraArgs);
+
+  # Builds a development shell
+  buildNodeShell =
+    { name
+    , packageName
+    , version
+    , src
+    , dependencies ? []
+    , buildInputs ? []
+    , production ? true
+    , npmFlags ? ""
+    , dontNpmInstall ? false
+    , bypassCache ? false
+    , reconstructLock ? false
+    , dontStrip ? true
+    , unpackPhase ? "true"
+    , buildPhase ? "true"
+    , ... }@args:
+
+    let
+      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ];
+
+      nodeDependencies = stdenv.mkDerivation ({
+        name = "node-dependencies-${name}-${version}";
+
+        buildInputs = [ tarWrapper python nodejs ]
+          ++ stdenv.lib.optional (stdenv.isLinux) utillinux
+          ++ stdenv.lib.optional (stdenv.isDarwin) libtool
+          ++ buildInputs;
+
+        inherit dontStrip; # Stripping may fail a build for some package deployments
+        inherit dontNpmInstall unpackPhase buildPhase;
+
+        includeScript = includeDependencies { inherit dependencies; };
+        pinpointDependenciesScript = pinpointDependenciesOfPackage args;
+
+        passAsFile = [ "includeScript" "pinpointDependenciesScript" ];
+
+        installPhase = ''
+          mkdir -p $out/${packageName}
+          cd $out/${packageName}
+
+          source $includeScriptPath
+
+          # Create fake package.json to make the npm commands work properly
+          cp ${src}/package.json .
+          chmod 644 package.json
+          ${stdenv.lib.optionalString bypassCache ''
+            if [ -f ${src}/package-lock.json ]
+            then
+                cp ${src}/package-lock.json .
+            fi
+          ''}
+
+          # Go to the parent folder to make sure that all packages are pinpointed
+          cd ..
+          ${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+
+          ${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }}
+
+          # Expose the executables that were installed
+          cd ..
+          ${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+
+          mv ${packageName} lib
+          ln -s $out/lib/node_modules/.bin $out/bin
+        '';
+      } // extraArgs);
+    in
+    stdenv.mkDerivation {
+      name = "node-shell-${name}-${version}";
+
+      buildInputs = [ python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ buildInputs;
+      buildCommand = ''
+        mkdir -p $out/bin
+        cat > $out/bin/shell <<EOF
+        #! ${stdenv.shell} -e
+        $shellHook
+        exec ${stdenv.shell}
+        EOF
+        chmod +x $out/bin/shell
+      '';
+
+      # Provide the dependencies in a development shell through the NODE_PATH environment variable
+      inherit nodeDependencies;
+      shellHook = stdenv.lib.optionalString (dependencies != []) ''
+        export NODE_PATH=$nodeDependencies/lib/node_modules
+        export PATH="$nodeDependencies/bin:$PATH"
+      '';
+    };
+in
+{
+  buildNodeSourceDist = stdenv.lib.makeOverridable buildNodeSourceDist;
+  buildNodePackage = stdenv.lib.makeOverridable buildNodePackage;
+  buildNodeShell = stdenv.lib.makeOverridable buildNodeShell;
+}
diff --git a/pkgs/applications/networking/instant-messengers/matrix-recorder/node-packages.nix b/pkgs/applications/networking/instant-messengers/matrix-recorder/node-packages.nix
new file mode 100644
index 000000000000..012ad195a71b
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/matrix-recorder/node-packages.nix
@@ -0,0 +1,1426 @@
+# This file has been generated by node2nix 1.7.0. Do not edit!
+
+{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+
+let
+  sources = {
+    "abbrev-1.1.1" = {
+      name = "abbrev";
+      packageName = "abbrev";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz";
+        sha512 = "nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==";
+      };
+    };
+    "ajv-6.10.2" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "6.10.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz";
+        sha512 = "TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==";
+      };
+    };
+    "another-json-0.2.0" = {
+      name = "another-json";
+      packageName = "another-json";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/another-json/-/another-json-0.2.0.tgz";
+        sha1 = "b5f4019c973b6dd5c6506a2d93469cb6d32aeedc";
+      };
+    };
+    "ansi-regex-2.1.1" = {
+      name = "ansi-regex";
+      packageName = "ansi-regex";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz";
+        sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
+      };
+    };
+    "aproba-1.2.0" = {
+      name = "aproba";
+      packageName = "aproba";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz";
+        sha512 = "Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==";
+      };
+    };
+    "are-we-there-yet-1.1.5" = {
+      name = "are-we-there-yet";
+      packageName = "are-we-there-yet";
+      version = "1.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz";
+        sha512 = "5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==";
+      };
+    };
+    "asn1-0.2.4" = {
+      name = "asn1";
+      packageName = "asn1";
+      version = "0.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz";
+        sha512 = "jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==";
+      };
+    };
+    "assert-plus-1.0.0" = {
+      name = "assert-plus";
+      packageName = "assert-plus";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz";
+        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
+      };
+    };
+    "asynckit-0.4.0" = {
+      name = "asynckit";
+      packageName = "asynckit";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz";
+        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+      };
+    };
+    "aws-sign2-0.7.0" = {
+      name = "aws-sign2";
+      packageName = "aws-sign2";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz";
+        sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
+      };
+    };
+    "aws4-1.9.0" = {
+      name = "aws4";
+      packageName = "aws4";
+      version = "1.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.9.0.tgz";
+        sha512 = "Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==";
+      };
+    };
+    "balanced-match-1.0.0" = {
+      name = "balanced-match";
+      packageName = "balanced-match";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz";
+        sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
+      };
+    };
+    "bcrypt-pbkdf-1.0.2" = {
+      name = "bcrypt-pbkdf";
+      packageName = "bcrypt-pbkdf";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz";
+        sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
+      };
+    };
+    "brace-expansion-1.1.11" = {
+      name = "brace-expansion";
+      packageName = "brace-expansion";
+      version = "1.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz";
+        sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==";
+      };
+    };
+    "browser-request-0.3.3" = {
+      name = "browser-request";
+      packageName = "browser-request";
+      version = "0.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browser-request/-/browser-request-0.3.3.tgz";
+        sha1 = "9ece5b5aca89a29932242e18bf933def9876cc17";
+      };
+    };
+    "caseless-0.12.0" = {
+      name = "caseless";
+      packageName = "caseless";
+      version = "0.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz";
+        sha1 = "1b681c21ff84033c826543090689420d187151dc";
+      };
+    };
+    "chownr-1.1.3" = {
+      name = "chownr";
+      packageName = "chownr";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz";
+        sha512 = "i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==";
+      };
+    };
+    "code-point-at-1.1.0" = {
+      name = "code-point-at";
+      packageName = "code-point-at";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz";
+        sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77";
+      };
+    };
+    "combined-stream-1.0.8" = {
+      name = "combined-stream";
+      packageName = "combined-stream";
+      version = "1.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz";
+        sha512 = "FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==";
+      };
+    };
+    "concat-map-0.0.1" = {
+      name = "concat-map";
+      packageName = "concat-map";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
+        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+      };
+    };
+    "console-control-strings-1.1.0" = {
+      name = "console-control-strings";
+      packageName = "console-control-strings";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz";
+        sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e";
+      };
+    };
+    "core-util-is-1.0.2" = {
+      name = "core-util-is";
+      packageName = "core-util-is";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
+        sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
+      };
+    };
+    "dashdash-1.14.1" = {
+      name = "dashdash";
+      packageName = "dashdash";
+      version = "1.14.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz";
+        sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
+      };
+    };
+    "debug-3.2.6" = {
+      name = "debug";
+      packageName = "debug";
+      version = "3.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz";
+        sha512 = "mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==";
+      };
+    };
+    "deep-extend-0.6.0" = {
+      name = "deep-extend";
+      packageName = "deep-extend";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz";
+        sha512 = "LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==";
+      };
+    };
+    "delayed-stream-1.0.0" = {
+      name = "delayed-stream";
+      packageName = "delayed-stream";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
+        sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
+      };
+    };
+    "delegates-1.0.0" = {
+      name = "delegates";
+      packageName = "delegates";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz";
+        sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
+      };
+    };
+    "detect-libc-1.0.3" = {
+      name = "detect-libc";
+      packageName = "detect-libc";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz";
+        sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b";
+      };
+    };
+    "ecc-jsbn-0.1.2" = {
+      name = "ecc-jsbn";
+      packageName = "ecc-jsbn";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz";
+        sha1 = "3a83a904e54353287874c564b7549386849a98c9";
+      };
+    };
+    "encoding-0.1.12" = {
+      name = "encoding";
+      packageName = "encoding";
+      version = "0.1.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz";
+        sha1 = "538b66f3ee62cd1ab51ec323829d1f9480c74beb";
+      };
+    };
+    "extend-3.0.2" = {
+      name = "extend";
+      packageName = "extend";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz";
+        sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==";
+      };
+    };
+    "extsprintf-1.3.0" = {
+      name = "extsprintf";
+      packageName = "extsprintf";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz";
+        sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
+      };
+    };
+    "fast-deep-equal-2.0.1" = {
+      name = "fast-deep-equal";
+      packageName = "fast-deep-equal";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz";
+        sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49";
+      };
+    };
+    "fast-json-stable-stringify-2.0.0" = {
+      name = "fast-json-stable-stringify";
+      packageName = "fast-json-stable-stringify";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
+        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
+      };
+    };
+    "forever-agent-0.6.1" = {
+      name = "forever-agent";
+      packageName = "forever-agent";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
+        sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
+      };
+    };
+    "form-data-2.3.3" = {
+      name = "form-data";
+      packageName = "form-data";
+      version = "2.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz";
+        sha512 = "1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==";
+      };
+    };
+    "fs-minipass-1.2.7" = {
+      name = "fs-minipass";
+      packageName = "fs-minipass";
+      version = "1.2.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz";
+        sha512 = "GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==";
+      };
+    };
+    "fs.realpath-1.0.0" = {
+      name = "fs.realpath";
+      packageName = "fs.realpath";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";
+        sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
+      };
+    };
+    "gauge-2.7.4" = {
+      name = "gauge";
+      packageName = "gauge";
+      version = "2.7.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz";
+        sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7";
+      };
+    };
+    "getpass-0.1.7" = {
+      name = "getpass";
+      packageName = "getpass";
+      version = "0.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz";
+        sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
+      };
+    };
+    "glob-7.1.6" = {
+      name = "glob";
+      packageName = "glob";
+      version = "7.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz";
+        sha512 = "LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==";
+      };
+    };
+    "graceful-fs-4.2.3" = {
+      name = "graceful-fs";
+      packageName = "graceful-fs";
+      version = "4.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz";
+        sha512 = "a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==";
+      };
+    };
+    "har-schema-2.0.0" = {
+      name = "har-schema";
+      packageName = "har-schema";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz";
+        sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
+      };
+    };
+    "har-validator-5.1.3" = {
+      name = "har-validator";
+      packageName = "har-validator";
+      version = "5.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz";
+        sha512 = "sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==";
+      };
+    };
+    "has-unicode-2.0.1" = {
+      name = "has-unicode";
+      packageName = "has-unicode";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz";
+        sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9";
+      };
+    };
+    "http-signature-1.2.0" = {
+      name = "http-signature";
+      packageName = "http-signature";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz";
+        sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
+      };
+    };
+    "iconv-lite-0.4.24" = {
+      name = "iconv-lite";
+      packageName = "iconv-lite";
+      version = "0.4.24";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz";
+        sha512 = "v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==";
+      };
+    };
+    "ignore-walk-3.0.3" = {
+      name = "ignore-walk";
+      packageName = "ignore-walk";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz";
+        sha512 = "m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==";
+      };
+    };
+    "imurmurhash-0.1.4" = {
+      name = "imurmurhash";
+      packageName = "imurmurhash";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz";
+        sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
+      };
+    };
+    "inflight-1.0.6" = {
+      name = "inflight";
+      packageName = "inflight";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz";
+        sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+      };
+    };
+    "inherits-2.0.4" = {
+      name = "inherits";
+      packageName = "inherits";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz";
+        sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==";
+      };
+    };
+    "ini-1.3.5" = {
+      name = "ini";
+      packageName = "ini";
+      version = "1.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz";
+        sha512 = "RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==";
+      };
+    };
+    "is-fullwidth-code-point-1.0.0" = {
+      name = "is-fullwidth-code-point";
+      packageName = "is-fullwidth-code-point";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz";
+        sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb";
+      };
+    };
+    "is-stream-1.1.0" = {
+      name = "is-stream";
+      packageName = "is-stream";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz";
+        sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
+      };
+    };
+    "is-typedarray-1.0.0" = {
+      name = "is-typedarray";
+      packageName = "is-typedarray";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz";
+        sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
+      };
+    };
+    "isarray-1.0.0" = {
+      name = "isarray";
+      packageName = "isarray";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz";
+        sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+      };
+    };
+    "isstream-0.1.2" = {
+      name = "isstream";
+      packageName = "isstream";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
+        sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
+      };
+    };
+    "jsbn-0.1.1" = {
+      name = "jsbn";
+      packageName = "jsbn";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz";
+        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
+      };
+    };
+    "json-schema-0.2.3" = {
+      name = "json-schema";
+      packageName = "json-schema";
+      version = "0.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz";
+        sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
+      };
+    };
+    "json-schema-traverse-0.4.1" = {
+      name = "json-schema-traverse";
+      packageName = "json-schema-traverse";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
+        sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==";
+      };
+    };
+    "json-stringify-safe-5.0.1" = {
+      name = "json-stringify-safe";
+      packageName = "json-stringify-safe";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
+        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+      };
+    };
+    "jsprim-1.4.1" = {
+      name = "jsprim";
+      packageName = "jsprim";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz";
+        sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
+      };
+    };
+    "marked-0.6.3" = {
+      name = "marked";
+      packageName = "marked";
+      version = "0.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/marked/-/marked-0.6.3.tgz";
+        sha512 = "Fqa7eq+UaxfMriqzYLayfqAE40WN03jf+zHjT18/uXNuzjq3TY0XTbrAoPeqSJrAmPz11VuUA+kBPYOhHt9oOQ==";
+      };
+    };
+    "matrix-js-sdk-0.7.13" = {
+      name = "matrix-js-sdk";
+      packageName = "matrix-js-sdk";
+      version = "0.7.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/matrix-js-sdk/-/matrix-js-sdk-0.7.13.tgz";
+        sha1 = "283accc710009f5a0b02367682f2e86155fd00c4";
+      };
+    };
+    "mime-db-1.42.0" = {
+      name = "mime-db";
+      packageName = "mime-db";
+      version = "1.42.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz";
+        sha512 = "UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==";
+      };
+    };
+    "mime-types-2.1.25" = {
+      name = "mime-types";
+      packageName = "mime-types";
+      version = "2.1.25";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz";
+        sha512 = "5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==";
+      };
+    };
+    "minimatch-3.0.4" = {
+      name = "minimatch";
+      packageName = "minimatch";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
+        sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
+      };
+    };
+    "minimist-0.0.8" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "0.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+      };
+    };
+    "minimist-1.2.0" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz";
+        sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
+      };
+    };
+    "minipass-2.9.0" = {
+      name = "minipass";
+      packageName = "minipass";
+      version = "2.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz";
+        sha512 = "wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==";
+      };
+    };
+    "minizlib-1.3.3" = {
+      name = "minizlib";
+      packageName = "minizlib";
+      version = "1.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz";
+        sha512 = "6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==";
+      };
+    };
+    "mkdirp-0.5.1" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "0.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
+        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
+      };
+    };
+    "ms-2.1.2" = {
+      name = "ms";
+      packageName = "ms";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz";
+        sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==";
+      };
+    };
+    "mustache-2.3.2" = {
+      name = "mustache";
+      packageName = "mustache";
+      version = "2.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mustache/-/mustache-2.3.2.tgz";
+        sha512 = "KpMNwdQsYz3O/SBS1qJ/o3sqUJ5wSb8gb0pul8CO0S56b9Y2ALm8zCfsjPXsqGFfoNBkDwZuZIAjhsZI03gYVQ==";
+      };
+    };
+    "nan-2.14.0" = {
+      name = "nan";
+      packageName = "nan";
+      version = "2.14.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz";
+        sha512 = "INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==";
+      };
+    };
+    "needle-2.4.0" = {
+      name = "needle";
+      packageName = "needle";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/needle/-/needle-2.4.0.tgz";
+        sha512 = "4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==";
+      };
+    };
+    "node-fetch-1.7.3" = {
+      name = "node-fetch";
+      packageName = "node-fetch";
+      version = "1.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz";
+        sha512 = "NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==";
+      };
+    };
+    "node-localstorage-1.3.1" = {
+      name = "node-localstorage";
+      packageName = "node-localstorage";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-localstorage/-/node-localstorage-1.3.1.tgz";
+        sha512 = "NMWCSWWc6JbHT5PyWlNT2i8r7PgGYXVntmKawY83k/M0UJScZ5jirb61TLnqKwd815DfBQu+lR3sRw08SPzIaQ==";
+      };
+    };
+    "node-pre-gyp-0.11.0" = {
+      name = "node-pre-gyp";
+      packageName = "node-pre-gyp";
+      version = "0.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz";
+        sha512 = "TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==";
+      };
+    };
+    "nopt-4.0.1" = {
+      name = "nopt";
+      packageName = "nopt";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz";
+        sha1 = "d0d4685afd5415193c8c7505602d0d17cd64474d";
+      };
+    };
+    "npm-bundled-1.0.6" = {
+      name = "npm-bundled";
+      packageName = "npm-bundled";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz";
+        sha512 = "8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==";
+      };
+    };
+    "npm-packlist-1.4.6" = {
+      name = "npm-packlist";
+      packageName = "npm-packlist";
+      version = "1.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.6.tgz";
+        sha512 = "u65uQdb+qwtGvEJh/DgQgW1Xg7sqeNbmxYyrvlNznaVTjV3E5P6F/EFjM+BVHXl7JJlsdG8A64M0XI8FI/IOlg==";
+      };
+    };
+    "npmlog-4.1.2" = {
+      name = "npmlog";
+      packageName = "npmlog";
+      version = "4.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz";
+        sha512 = "2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==";
+      };
+    };
+    "number-is-nan-1.0.1" = {
+      name = "number-is-nan";
+      packageName = "number-is-nan";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz";
+        sha1 = "097b602b53422a522c1afb8790318336941a011d";
+      };
+    };
+    "oauth-sign-0.9.0" = {
+      name = "oauth-sign";
+      packageName = "oauth-sign";
+      version = "0.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz";
+        sha512 = "fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==";
+      };
+    };
+    "object-assign-4.1.1" = {
+      name = "object-assign";
+      packageName = "object-assign";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz";
+        sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
+      };
+    };
+    "olm-https://packages.matrix.org/npm/olm/olm-2.3.0.tgz" = {
+      name = "olm";
+      packageName = "olm";
+      version = "2.3.0";
+      src = fetchurl {
+        name = "olm-2.3.0.tar.gz";
+        url = https://packages.matrix.org/npm/olm/olm-2.3.0.tgz;
+        sha256 = "1f0f037a025a44509646cb849ded7c1a1f55e7bfed240fad19676c002fcd953a";
+      };
+    };
+    "once-1.4.0" = {
+      name = "once";
+      packageName = "once";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz";
+        sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
+      };
+    };
+    "os-homedir-1.0.2" = {
+      name = "os-homedir";
+      packageName = "os-homedir";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz";
+        sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
+      };
+    };
+    "os-tmpdir-1.0.2" = {
+      name = "os-tmpdir";
+      packageName = "os-tmpdir";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz";
+        sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274";
+      };
+    };
+    "osenv-0.1.5" = {
+      name = "osenv";
+      packageName = "osenv";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz";
+        sha512 = "0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==";
+      };
+    };
+    "path-is-absolute-1.0.1" = {
+      name = "path-is-absolute";
+      packageName = "path-is-absolute";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
+        sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
+      };
+    };
+    "performance-now-2.1.0" = {
+      name = "performance-now";
+      packageName = "performance-now";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz";
+        sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
+      };
+    };
+    "process-nextick-args-2.0.1" = {
+      name = "process-nextick-args";
+      packageName = "process-nextick-args";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz";
+        sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==";
+      };
+    };
+    "psl-1.4.0" = {
+      name = "psl";
+      packageName = "psl";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz";
+        sha512 = "HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==";
+      };
+    };
+    "punycode-1.4.1" = {
+      name = "punycode";
+      packageName = "punycode";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz";
+        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
+      };
+    };
+    "punycode-2.1.1" = {
+      name = "punycode";
+      packageName = "punycode";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz";
+        sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==";
+      };
+    };
+    "q-1.5.1" = {
+      name = "q";
+      packageName = "q";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/q/-/q-1.5.1.tgz";
+        sha1 = "7e32f75b41381291d04611f1bf14109ac00651d7";
+      };
+    };
+    "qs-6.5.2" = {
+      name = "qs";
+      packageName = "qs";
+      version = "6.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz";
+        sha512 = "N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==";
+      };
+    };
+    "rc-1.2.8" = {
+      name = "rc";
+      packageName = "rc";
+      version = "1.2.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz";
+        sha512 = "y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==";
+      };
+    };
+    "readable-stream-2.3.6" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "2.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz";
+        sha512 = "tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==";
+      };
+    };
+    "request-2.88.0" = {
+      name = "request";
+      packageName = "request";
+      version = "2.88.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request/-/request-2.88.0.tgz";
+        sha512 = "NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==";
+      };
+    };
+    "rimraf-2.7.1" = {
+      name = "rimraf";
+      packageName = "rimraf";
+      version = "2.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz";
+        sha512 = "uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==";
+      };
+    };
+    "safe-buffer-5.1.2" = {
+      name = "safe-buffer";
+      packageName = "safe-buffer";
+      version = "5.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz";
+        sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
+      };
+    };
+    "safe-buffer-5.2.0" = {
+      name = "safe-buffer";
+      packageName = "safe-buffer";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz";
+        sha512 = "fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==";
+      };
+    };
+    "safer-buffer-2.1.2" = {
+      name = "safer-buffer";
+      packageName = "safer-buffer";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz";
+        sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
+      };
+    };
+    "sax-1.2.4" = {
+      name = "sax";
+      packageName = "sax";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz";
+        sha512 = "NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==";
+      };
+    };
+    "semver-5.7.1" = {
+      name = "semver";
+      packageName = "semver";
+      version = "5.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz";
+        sha512 = "sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==";
+      };
+    };
+    "set-blocking-2.0.0" = {
+      name = "set-blocking";
+      packageName = "set-blocking";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz";
+        sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
+      };
+    };
+    "signal-exit-3.0.2" = {
+      name = "signal-exit";
+      packageName = "signal-exit";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz";
+        sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d";
+      };
+    };
+    "slide-1.1.6" = {
+      name = "slide";
+      packageName = "slide";
+      version = "1.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz";
+        sha1 = "56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707";
+      };
+    };
+    "sqlite3-4.1.0" = {
+      name = "sqlite3";
+      packageName = "sqlite3";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sqlite3/-/sqlite3-4.1.0.tgz";
+        sha512 = "RvqoKxq+8pDHsJo7aXxsFR18i+dU2Wp5o12qAJOV5LNcDt+fgJsc2QKKg3sIRfXrN9ZjzY1T7SNe/DFVqAXjaw==";
+      };
+    };
+    "sshpk-1.16.1" = {
+      name = "sshpk";
+      packageName = "sshpk";
+      version = "1.16.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz";
+        sha512 = "HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==";
+      };
+    };
+    "string-width-1.0.2" = {
+      name = "string-width";
+      packageName = "string-width";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz";
+        sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
+      };
+    };
+    "string_decoder-1.1.1" = {
+      name = "string_decoder";
+      packageName = "string_decoder";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz";
+        sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==";
+      };
+    };
+    "strip-ansi-3.0.1" = {
+      name = "strip-ansi";
+      packageName = "strip-ansi";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
+        sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
+      };
+    };
+    "strip-json-comments-2.0.1" = {
+      name = "strip-json-comments";
+      packageName = "strip-json-comments";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz";
+        sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a";
+      };
+    };
+    "tar-4.4.13" = {
+      name = "tar";
+      packageName = "tar";
+      version = "4.4.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz";
+        sha512 = "w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==";
+      };
+    };
+    "tough-cookie-2.4.3" = {
+      name = "tough-cookie";
+      packageName = "tough-cookie";
+      version = "2.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz";
+        sha512 = "Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==";
+      };
+    };
+    "tunnel-agent-0.6.0" = {
+      name = "tunnel-agent";
+      packageName = "tunnel-agent";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
+        sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
+      };
+    };
+    "tweetnacl-0.14.5" = {
+      name = "tweetnacl";
+      packageName = "tweetnacl";
+      version = "0.14.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz";
+        sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
+      };
+    };
+    "uri-js-4.2.2" = {
+      name = "uri-js";
+      packageName = "uri-js";
+      version = "4.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz";
+        sha512 = "KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==";
+      };
+    };
+    "util-deprecate-1.0.2" = {
+      name = "util-deprecate";
+      packageName = "util-deprecate";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";
+        sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
+      };
+    };
+    "uuid-3.3.3" = {
+      name = "uuid";
+      packageName = "uuid";
+      version = "3.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz";
+        sha512 = "pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==";
+      };
+    };
+    "verror-1.10.0" = {
+      name = "verror";
+      packageName = "verror";
+      version = "1.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz";
+        sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
+      };
+    };
+    "wide-align-1.1.3" = {
+      name = "wide-align";
+      packageName = "wide-align";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz";
+        sha512 = "QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==";
+      };
+    };
+    "wrappy-1.0.2" = {
+      name = "wrappy";
+      packageName = "wrappy";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
+        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+      };
+    };
+    "write-file-atomic-1.3.4" = {
+      name = "write-file-atomic";
+      packageName = "write-file-atomic";
+      version = "1.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.3.4.tgz";
+        sha1 = "f807a4f0b1d9e913ae7a48112e6cc3af1991b45f";
+      };
+    };
+    "yallist-3.1.1" = {
+      name = "yallist";
+      packageName = "yallist";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz";
+        sha512 = "a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==";
+      };
+    };
+  };
+  node-pre-gyp = nodeEnv.buildNodePackage {
+    name = "node-pre-gyp";
+    packageName = "node-pre-gyp";
+    version = "0.14.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz";
+      sha512 = "+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==";
+    };
+    dependencies = [
+      sources."abbrev-1.1.1"
+      sources."ansi-regex-2.1.1"
+      sources."aproba-1.2.0"
+      sources."are-we-there-yet-1.1.5"
+      sources."balanced-match-1.0.0"
+      sources."brace-expansion-1.1.11"
+      sources."chownr-1.1.3"
+      sources."code-point-at-1.1.0"
+      sources."concat-map-0.0.1"
+      sources."console-control-strings-1.1.0"
+      sources."core-util-is-1.0.2"
+      sources."debug-3.2.6"
+      sources."deep-extend-0.6.0"
+      sources."delegates-1.0.0"
+      sources."detect-libc-1.0.3"
+      sources."fs-minipass-1.2.7"
+      sources."fs.realpath-1.0.0"
+      sources."gauge-2.7.4"
+      sources."glob-7.1.6"
+      sources."has-unicode-2.0.1"
+      sources."iconv-lite-0.4.24"
+      sources."ignore-walk-3.0.3"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."ini-1.3.5"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."isarray-1.0.0"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      sources."minipass-2.9.0"
+      sources."minizlib-1.3.3"
+      sources."mkdirp-0.5.1"
+      sources."ms-2.1.2"
+      sources."needle-2.4.0"
+      sources."nopt-4.0.1"
+      sources."npm-bundled-1.0.6"
+      sources."npm-packlist-1.4.6"
+      sources."npmlog-4.1.2"
+      sources."number-is-nan-1.0.1"
+      sources."object-assign-4.1.1"
+      sources."once-1.4.0"
+      sources."os-homedir-1.0.2"
+      sources."os-tmpdir-1.0.2"
+      sources."osenv-0.1.5"
+      sources."path-is-absolute-1.0.1"
+      sources."process-nextick-args-2.0.1"
+      (sources."rc-1.2.8" // {
+        dependencies = [
+          sources."minimist-1.2.0"
+        ];
+      })
+      sources."readable-stream-2.3.6"
+      sources."rimraf-2.7.1"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
+      sources."sax-1.2.4"
+      sources."semver-5.7.1"
+      sources."set-blocking-2.0.0"
+      sources."signal-exit-3.0.2"
+      sources."string-width-1.0.2"
+      sources."string_decoder-1.1.1"
+      sources."strip-ansi-3.0.1"
+      sources."strip-json-comments-2.0.1"
+      sources."tar-4.4.13"
+      sources."util-deprecate-1.0.2"
+      sources."wide-align-1.1.3"
+      sources."wrappy-1.0.2"
+      sources."yallist-3.1.1"
+    ];
+    buildInputs = [];
+    meta = {
+      description = "Node.js native addon binary install tool";
+      homepage = "https://github.com/mapbox/node-pre-gyp#readme";
+      license = "BSD-3-Clause";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  args = {
+    name = "matrix-recorder";
+    packageName = "matrix-recorder";
+    version = "0.0.6";
+    src = fetchgit {
+      url = "https://gitlab.com/argit/matrix-recorder/";
+      rev = "006b78c8a4ddc636be8f6f1e3875b13a4a6d2c7c";
+      sha256 = "0m3kzwbrxymwl6hr981q6fsf752fqxwzbpxryx25j4lkwc23nmj3";
+    };
+    dependencies = [
+      sources."abbrev-1.1.1"
+      sources."ajv-6.10.2"
+      sources."another-json-0.2.0"
+      sources."ansi-regex-2.1.1"
+      sources."aproba-1.2.0"
+      sources."are-we-there-yet-1.1.5"
+      sources."asn1-0.2.4"
+      sources."assert-plus-1.0.0"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.9.0"
+      sources."balanced-match-1.0.0"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."brace-expansion-1.1.11"
+      sources."browser-request-0.3.3"
+      sources."caseless-0.12.0"
+      sources."chownr-1.1.3"
+      sources."code-point-at-1.1.0"
+      sources."combined-stream-1.0.8"
+      sources."concat-map-0.0.1"
+      sources."console-control-strings-1.1.0"
+      sources."core-util-is-1.0.2"
+      sources."dashdash-1.14.1"
+      sources."debug-3.2.6"
+      sources."deep-extend-0.6.0"
+      sources."delayed-stream-1.0.0"
+      sources."delegates-1.0.0"
+      sources."detect-libc-1.0.3"
+      sources."ecc-jsbn-0.1.2"
+      sources."encoding-0.1.12"
+      sources."extend-3.0.2"
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-2.0.1"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.3"
+      sources."fs-minipass-1.2.7"
+      sources."fs.realpath-1.0.0"
+      sources."gauge-2.7.4"
+      sources."getpass-0.1.7"
+      sources."glob-7.1.6"
+      sources."graceful-fs-4.2.3"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.1.3"
+      sources."has-unicode-2.0.1"
+      sources."http-signature-1.2.0"
+      sources."iconv-lite-0.4.24"
+      sources."ignore-walk-3.0.3"
+      sources."imurmurhash-0.1.4"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."ini-1.3.5"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."is-stream-1.1.0"
+      sources."is-typedarray-1.0.0"
+      sources."isarray-1.0.0"
+      sources."isstream-0.1.2"
+      sources."jsbn-0.1.1"
+      sources."json-schema-0.2.3"
+      sources."json-schema-traverse-0.4.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."jsprim-1.4.1"
+      sources."marked-0.6.3"
+      sources."matrix-js-sdk-0.7.13"
+      sources."mime-db-1.42.0"
+      sources."mime-types-2.1.25"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      sources."minipass-2.9.0"
+      sources."minizlib-1.3.3"
+      sources."mkdirp-0.5.1"
+      sources."ms-2.1.2"
+      sources."mustache-2.3.2"
+      sources."nan-2.14.0"
+      sources."needle-2.4.0"
+      sources."node-fetch-1.7.3"
+      sources."node-localstorage-1.3.1"
+      sources."node-pre-gyp-0.11.0"
+      sources."nopt-4.0.1"
+      sources."npm-bundled-1.0.6"
+      sources."npm-packlist-1.4.6"
+      sources."npmlog-4.1.2"
+      sources."number-is-nan-1.0.1"
+      sources."oauth-sign-0.9.0"
+      sources."object-assign-4.1.1"
+      sources."olm-https://packages.matrix.org/npm/olm/olm-2.3.0.tgz"
+      sources."once-1.4.0"
+      sources."os-homedir-1.0.2"
+      sources."os-tmpdir-1.0.2"
+      sources."osenv-0.1.5"
+      sources."path-is-absolute-1.0.1"
+      sources."performance-now-2.1.0"
+      sources."process-nextick-args-2.0.1"
+      sources."psl-1.4.0"
+      sources."punycode-2.1.1"
+      sources."q-1.5.1"
+      sources."qs-6.5.2"
+      (sources."rc-1.2.8" // {
+        dependencies = [
+          sources."minimist-1.2.0"
+        ];
+      })
+      (sources."readable-stream-2.3.6" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."request-2.88.0"
+      sources."rimraf-2.7.1"
+      sources."safe-buffer-5.2.0"
+      sources."safer-buffer-2.1.2"
+      sources."sax-1.2.4"
+      sources."semver-5.7.1"
+      sources."set-blocking-2.0.0"
+      sources."signal-exit-3.0.2"
+      sources."slide-1.1.6"
+      sources."sqlite3-4.1.0"
+      sources."sshpk-1.16.1"
+      sources."string-width-1.0.2"
+      (sources."string_decoder-1.1.1" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
+      sources."strip-ansi-3.0.1"
+      sources."strip-json-comments-2.0.1"
+      sources."tar-4.4.13"
+      (sources."tough-cookie-2.4.3" // {
+        dependencies = [
+          sources."punycode-1.4.1"
+        ];
+      })
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."uri-js-4.2.2"
+      sources."util-deprecate-1.0.2"
+      sources."uuid-3.3.3"
+      sources."verror-1.10.0"
+      sources."wide-align-1.1.3"
+      sources."wrappy-1.0.2"
+      sources."write-file-atomic-1.3.4"
+      sources."yallist-3.1.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A recorder that can record Matrix rooms you are a member of (including E2E-encrypted rooms).";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+in
+{
+  tarball = nodeEnv.buildNodeSourceDist args;
+  package = nodeEnv.buildNodePackage args;
+  shell = nodeEnv.buildNodeShell args;
+  inherit node-pre-gyp;
+}
diff --git a/pkgs/applications/networking/instant-messengers/matrix-recorder/package.json b/pkgs/applications/networking/instant-messengers/matrix-recorder/package.json
new file mode 100644
index 000000000000..fc03d636ad21
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/matrix-recorder/package.json
@@ -0,0 +1,27 @@
+{
+  "name": "matrix-recorder",
+  "version": "0.0.6",
+  "description": "A recorder that can record Matrix rooms you are a member of (including E2E-encrypted rooms).",
+  "author": "Hello Matrix <hello@hello-matrix.net>",
+  "main": "matrix-recorder.js",
+  "scripts": {
+    "start": "node matrix-recorder.js"
+  },
+  "repository": {
+    "type": "git",
+    "url": "https://gitlab.com/argit/matrix-recorder.git"
+  },
+  "dependencies": {
+    "marked": "^0.6.2",
+    "matrix-js-sdk": "^0.7.13",
+    "mime-types": "^2.1.14",
+    "mustache": "^2.3.0",
+    "node-fetch": "^1.6.3",
+    "node-localstorage": "^1.3.0",
+    "sqlite3": "^4.0.7",
+    "olm": "https://packages.matrix.org/npm/olm/olm-2.3.0.tgz"
+  },
+  "license": "MIT",
+  "optionalDependencies": {
+  }
+}
diff --git a/pkgs/applications/networking/instant-messengers/matrixcli/default.nix b/pkgs/applications/networking/instant-messengers/matrixcli/default.nix
new file mode 100644
index 000000000000..54b7ef2bd991
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/matrixcli/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchgit
+  , buildPythonApplication, buildPythonPackage
+  , pygobject3, pytestrunner, requests, responses, pytest, python-olm
+  , canonicaljson, olm
+}:
+let
+  mainsrc = fetchgit {
+    url = "https://github.com/saadnpq/matrixcli";
+    rev = "61ebde173ca2f77185c261c2b7f6db297ca89863";
+    sha256 = "0xcjjy2xwlcixr9fwgzcfjjkivqpk104h7dslfa7lz9jq9pzqzvq";
+    fetchSubmodules = true;
+  };
+
+  sdk = buildPythonPackage rec {
+    name = "${pname}-${version}";
+    pname = "matrix-python-sdk-matrixcli";
+    version = "0.0.2019-08-15";
+    
+    src = "${mainsrc}/matrix-python-sdk/";
+
+    propagatedBuildInputs = [
+      requests responses olm python-olm canonicaljson
+      pytestrunner pytest
+    ];
+
+    doCheck = false;
+    doInstallCheck = false;
+
+    meta = {
+      license = stdenv.lib.licenses.asl20;
+      description = "Fork of Matrix Python SDK";
+      platforms = stdenv.lib.platforms.linux;
+    };
+  };
+
+in
+buildPythonApplication rec {
+  name = "${pname}-${version}";
+  pname = "matrixcli";
+  version = "0.0.2019-08-15";
+
+  src = mainsrc;
+
+  propagatedBuildInputs = [pygobject3 sdk];
+
+  meta = {
+    description = "CLI client for Matrix";
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = "https://github.com/saadnpq/matrixcli";
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix
index 057e447eb1c8..6d527f3a7e46 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix
@@ -1,23 +1,31 @@
-{ stdenv, fetchFromGitHub, pidgin, glib, json-glib, nss, nspr, libgnome-keyring } :
+{ stdenv, fetchFromGitHub, pkgconfig, pidgin, glib, json-glib, nss, nspr
+, libsecret
+} :
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "pidgin-opensteamworks";
-  version = "unstable-2018-08-02";
+  version = "1.7";
 
   src = fetchFromGitHub {
     owner = "EionRobb";
     repo = "pidgin-opensteamworks";
-    rev = "b16a636d177f4a8862abdfbdb2c0994712ea0cd3";
-    sha256 = "0qyxfrfzsm43f1gmbg350znwxld1fqr9a9yziqs322bx2vglzgfh";
+    rev = version;
+    sha256 = "0zxd45g9ycw5kmm4i0800jnqg1ms2gbqcld6gkyv6n3ac1wxizpj";
   };
 
-  preConfigure = "cd steam-mobile";
+  sourceRoot = "source/steam-mobile";
+
   installFlags = [
     "PLUGIN_DIR_PURPLE=${placeholder "out"}/lib/purple-2"
     "DATA_ROOT_DIR_PURPLE=${placeholder "out"}/share"
   ];
 
-  buildInputs = [ pidgin glib json-glib nss nspr libgnome-keyring ];
+  nativeBuildInputs = [
+    pkgconfig
+  ];
+  buildInputs = [
+    pidgin glib json-glib nss nspr libsecret
+  ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/EionRobb/pidgin-opensteamworks;
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix
index 8a15a3bdd85e..44133e777c76 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/purple-matrix/default.nix
@@ -1,26 +1,26 @@
-{ stdenv, fetchgit, pkgconfig, pidgin, json-glib, glib, http-parser, sqlite, olm, libgcrypt } :
+{ stdenv, fetchFromGitHub, pkgconfig, pidgin, json-glib, glib, http-parser, sqlite, olm, libgcrypt } :
 
-let
-  version = "2018-08-03";
-in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "purple-matrix-unstable";
-  inherit version;
+  version = "2019-06-06";
 
-  src = fetchgit {
-    url = "https://github.com/matrix-org/purple-matrix";
-    rev = "5a7166a3f54f85793c6b60662f8d12196aeaaeb0";
-    sha256 = "0ph0s24b37d1c50p8zbzgf4q2xns43a8v6vk85iz633wdd72zsa0";
+  src = fetchFromGitHub {
+    owner = "matrix-org";
+    repo = "purple-matrix";
+    rev = "4494ba22b479917f0b1f96a3019792d3d75bcff1";
+    sha256 = "1gjm0z4wa5vi9x1xk43rany5pffrwg958n180ahdj9a7sa8a4hpm";
   };
 
-  # glib-2.62 deprecations
-  NIX_CFLAGS_COMPILE = [ "-DGLIB_DISABLE_DEPRECATION_WARNINGS" ];
+  NIX_CFLAGS_COMPILE = [
+    # glib-2.62 deprecations
+    "-DGLIB_DISABLE_DEPRECATION_WARNINGS"
+    # override "-O0 -Werror" set by build system
+    "-O3" "-Wno-error"
+  ];
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ pidgin json-glib glib http-parser sqlite olm libgcrypt ];
 
-  hardeningDisable = [ "fortify" ]; # upstream compiles with -O0
-
   makeFlags = [
     "PLUGIN_DIR_PURPLE=${placeholder "out"}/lib/purple-2"
     "DATA_ROOT_DIR_PURPLE=${placeholder "out"}/share"
diff --git a/pkgs/applications/networking/instant-messengers/rambox/pro.nix b/pkgs/applications/networking/instant-messengers/rambox/pro.nix
index eee5fd82bba7..8b1f4d4c0e94 100644
--- a/pkgs/applications/networking/instant-messengers/rambox/pro.nix
+++ b/pkgs/applications/networking/instant-messengers/rambox/pro.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "rambox-pro";
-  version = "1.1.7";
+  version = "1.2.0";
 
   dontBuild = true;
   dontStrip = true;
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/ramboxapp/download/releases/download/v${version}/RamboxPro-${version}-linux-x64.tar.gz";
-    sha256 = "1d84hlac3qwrbi8khp6r3bm5y25zcz52l6z54k7jmyplay46r5as";
+    sha256 = "189rpsrs25c4100xf1zhcwvdyigbzsw8ffhayj8mmrx4akg39653";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json b/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json
index 30012970d789..3338f6159d92 100644
--- a/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json
+++ b/pkgs/applications/networking/instant-messengers/riot/riot-desktop-package.json
@@ -2,7 +2,7 @@
   "name": "riot-web",
   "productName": "Riot",
   "main": "src/electron-main.js",
-  "version": "1.5.0",
+  "version": "1.5.5",
   "description": "A feature-rich client for Matrix.org",
   "author": "New Vector Ltd.",
   "dependencies": {
diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix b/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
index de941d94fc87..c3fe4b9dd331 100644
--- a/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
+++ b/pkgs/applications/networking/instant-messengers/riot/riot-desktop.nix
@@ -1,4 +1,4 @@
-{ pkgs, stdenv, fetchFromGitHub, makeWrapper, makeDesktopItem, electron_5, riot-web, yarn2nix-moretea }:
+{ pkgs, stdenv, fetchFromGitHub, makeWrapper, makeDesktopItem, electron_5, riot-web, mkYarnPackage }:
 
 # Notes for maintainers:
 # * versions of `riot-web` and `riot-desktop` should be kept in sync.
@@ -6,15 +6,15 @@
 
 let
   executableName = "riot-desktop";
-  version = "1.5.0";
+  version = "1.5.5";
   riot-web-src = fetchFromGitHub {
     owner = "vector-im";
     repo = "riot-web";
     rev = "v${version}";
-    sha256 = "1xi5zg3602d7gdjxskpk2q3anpn2drrkxyirfvi9mzcfp2r05557";
+    sha256 = "18xhqniwxp1sv49qcd9ah8nyy2n2yliy3wg613raxjl16qvvzxmc";
   };
 
-in yarn2nix-moretea.mkYarnPackage rec {
+in mkYarnPackage rec {
   name = "riot-desktop-${version}";
   inherit version;
 
@@ -31,6 +31,7 @@ in yarn2nix-moretea.mkYarnPackage rec {
     ln -s '${riot-web}' "$out/share/riot/webapp"
     cp -r '${riot-web-src}/origin_migrator' "$out/share/riot/origin_migrator"
     cp -r './deps/riot-web' "$out/share/riot/electron"
+    cp -r './deps/riot-web/img' "$out/share/riot"
     rm "$out/share/riot/electron/node_modules"
     cp -r './node_modules' "$out/share/riot/electron"
 
diff --git a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
index ccfad7259a5d..93c3d837b050 100644
--- a/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
+++ b/pkgs/applications/networking/instant-messengers/riot/riot-web.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "riot-web";
-  version = "1.5.0";
+  version = "1.5.5";
 
   src = fetchurl {
     url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz";
-    sha256 = "08r9473ncfy3wzqhnds729s77fq82jjgz8w3yya07aahcxzasi94";
+    sha256 = "0isln25sl5jvvlqvh822w73a4i82x75g1ywf3p9n5m1a5sr9f537";
   };
 
   installPhase = let
diff --git a/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh b/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh
index b646a9e03adf..f516e4a76f0a 100755
--- a/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh
+++ b/pkgs/applications/networking/instant-messengers/riot/update-riot-desktop.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -I nixpkgs=../../../../../ -i bash -p wget yarn2nix-moretea.yarn2nix
+#!nix-shell -I nixpkgs=../../../../../ -i bash -p wget yarn2nix
 
 set -euo pipefail
 
diff --git a/pkgs/applications/networking/instant-messengers/signal-cli/default.nix b/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
index 7c474d26c88c..c821c4b0f44e 100644
--- a/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-cli/default.nix
@@ -1,25 +1,33 @@
-{ stdenv, lib, fetchurl, makeWrapper, jre_headless }:
+{ stdenv, lib, fetchurl, makeWrapper, jre_headless, libmatthew_java, dbus, dbus_java }:
 
 stdenv.mkDerivation rec {
   pname = "signal-cli";
-  version = "0.6.3";
+  version = "0.6.5";
 
   # Building from source would be preferred, but is much more involved.
   src = fetchurl {
     url = "https://github.com/AsamK/signal-cli/releases/download/v${version}/signal-cli-${version}.tar.gz";
-    sha256 = "1gvdifscyxmxn2dwlkqi684ahy5kbcj84mqda0m8l4aa8iaq1d59";
+    sha256 = "082kq8kadxbwzf31fmlq4in714id2irk0hhqsl53vsl3wmv45zvv";
   };
 
-  buildInputs = [ makeWrapper ];
+  buildInputs = lib.optional stdenv.isLinux [ libmatthew_java dbus dbus_java ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir -p $out/bin
     cp -r lib $out/lib
     cp bin/signal-cli $out/bin/signal-cli
+  '' + (if stdenv.isLinux then ''
+    makeWrapper ${jre_headless}/bin/java $out/bin/signal-cli \
+      --set JAVA_HOME "${jre_headless}" \
+      --add-flags "-classpath '$out/lib/*:${libmatthew_java}/lib/jni'" \
+      --add-flags "-Djava.library.path=${libmatthew_java}/lib/jni:${dbus_java}/share/java/dbus:$out/lib" \
+      --add-flags "org.asamk.signal.Main"
+  '' else ''
     wrapProgram $out/bin/signal-cli \
       --prefix PATH : ${lib.makeBinPath [ jre_headless ]} \
       --set JAVA_HOME ${jre_headless}
-  '';
+  '');
 
   # Execution in the macOS (10.13) sandbox fails with
   # dyld: Library not loaded: /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
@@ -29,6 +37,7 @@ stdenv.mkDerivation rec {
   #         /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa: file system sandbox blocked stat()
   # /nix/store/in41dz8byyyz4c0w132l7mqi43liv4yr-stdenv-darwin/setup: line 1310:  2231 Abort trap: 6           signal-cli --version
   doInstallCheck = stdenv.isLinux;
+
   installCheckPhase = ''
     export PATH=$PATH:$out/bin
     # --help returns non-0 exit code even when working
@@ -39,7 +48,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/AsamK/signal-cli;
     description = "Command-line and dbus interface for communicating with the Signal messaging service";
     license = licenses.gpl3;
-    maintainers = with maintainers; [ ivan ];
+    maintainers = with maintainers; [ ivan erictapen ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index e39f01a92c04..aee540b7886a 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -114,7 +114,7 @@ in stdenv.mkDerivation rec {
     '';
     homepage    = https://signal.org/;
     license     = lib.licenses.gpl3;
-    maintainers = with lib.maintainers; [ ixmatus primeos ];
+    maintainers = with lib.maintainers; [ ixmatus primeos equirosa ];
     platforms   = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index f29e62a10060..a368473b0c8c 100644
--- a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
@@ -7,7 +7,7 @@ let
 
   # Please keep the version x.y.0.z and do not update to x.y.76.z because the
   # source of the latter disappears much faster.
-  version = "8.54.0.85";
+  version = "8.54.0.91";
 
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
@@ -59,8 +59,11 @@ let
   src =
     if stdenv.hostPlatform.system == "x86_64-linux" then
       fetchurl {
-        url = "https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb";
-        sha256 = "09k260g9qy4n8vy6wr2jb5mm27cvqyapmv8vj4ff2j72f3ad31vm";
+        urls = [
+          "https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
+          "https://web.archive.org/web/https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
+        ];
+        sha256 = "1hnha8sqk78zxkjqg62npmg6dymi5fnyj2bmxlwpgi61v3pyxj94";
       }
     else
       throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";
diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix
index d3aa302d601a..a16023f307d5 100644
--- a/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -1,16 +1,17 @@
 { theme ? null, stdenv, fetchurl, dpkg, makeWrapper , alsaLib, atk, cairo,
 cups, curl, dbus, expat, fontconfig, freetype, glib , gnome2, gtk3, gdk-pixbuf,
 libappindicator-gtk3, libnotify, libxcb, nspr, nss, pango , systemd, xorg,
-at-spi2-atk, libuuid, nodePackages
+at-spi2-atk, at-spi2-core, libuuid, nodePackages, libpulseaudio
 }:
 
 let
 
-  version = "4.0.2";
+  version = "4.1.2";
 
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
     at-spi2-atk
+    at-spi2-core
     atk
     cairo
     cups
@@ -32,6 +33,7 @@ let
     stdenv.cc.cc
     systemd
     libuuid
+    libpulseaudio
 
     xorg.libxkbfile
     xorg.libX11
@@ -51,7 +53,7 @@ let
     if stdenv.hostPlatform.system == "x86_64-linux" then
       fetchurl {
         url = "https://downloads.slack-edge.com/linux_releases/slack-desktop-${version}-amd64.deb";
-        sha256 = "053j5py16ilpwy868rhh5l2g93xj1fq4fwxrsi2bkfsnmq261hkm";
+        sha256 = "0a1b2k81hm1lfrdb47gmd07jqb7hva9sxsiph7b3iwzpzw8pjrkh";
       }
     else
       throw "Slack is not supported on ${stdenv.hostPlatform.system}";
@@ -63,18 +65,22 @@ in stdenv.mkDerivation {
   inherit src;
 
   buildInputs = [
-    dpkg
     gtk3  # needed for GSETTINGS_SCHEMAS_PATH
   ];
 
-  nativeBuildInputs = [ makeWrapper nodePackages.asar ];
+  nativeBuildInputs = [ dpkg makeWrapper nodePackages.asar ];
 
   dontUnpack = true;
-  buildCommand = ''
+  dontBuild = true;
+  dontPatchELF = true;
+
+  installPhase = ''
+    # The deb file contains a setuid binary, so 'dpkg -x' doesn't work here
+    dpkg --fsys-tarfile $src | tar --extract
+    rm -rf usr/share/lintian
+
     mkdir -p $out
-    dpkg -x $src $out
-    cp -av $out/usr/* $out
-    rm -rf $out/etc $out/usr $out/share/lintian
+    mv usr/* $out
 
     # Otherwise it looks "suspicious"
     chmod -R g-w $out
diff --git a/pkgs/applications/networking/instant-messengers/slack/update.sh b/pkgs/applications/networking/instant-messengers/slack/update.sh
index e5f793883538..6a15298c4e7d 100755
--- a/pkgs/applications/networking/instant-messengers/slack/update.sh
+++ b/pkgs/applications/networking/instant-messengers/slack/update.sh
@@ -3,7 +3,7 @@
 
 set -eu -o pipefail
 
-oldVersion="$(nix-instantiate --eval -E "with import ./. {}; slack-theme-black.version or (builtins.parseDrvName slack-theme-black.name).version" | tr -d '"')"
+oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion slack-theme-black" | tr -d '"')"
 latestSha="$(curl -L -s https://api.github.com/repos/laCour/slack-night-mode/commits\?sha\=master\&since\=${oldVersion} | jq -r '.[0].sha')"
 
 if [ ! "null" = "${latestSha}" ]; then
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
index 3368ec1124eb..f3d1e6cfd750 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/idle/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, glib, gnome3, pkgconfig, dbus-glib, telepathy-glib, libxslt, makeWrapper }:
+{ stdenv, fetchurl, glib, dconf, pkgconfig, dbus-glib, telepathy-glib, libxslt, makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "telepathy-idle";
@@ -10,11 +10,11 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib telepathy-glib dbus-glib libxslt telepathy-glib.python (stdenv.lib.getLib gnome3.dconf) makeWrapper ];
+  buildInputs = [ glib telepathy-glib dbus-glib libxslt telepathy-glib.python (stdenv.lib.getLib dconf) makeWrapper ];
 
   preFixup = ''
     wrapProgram "$out/libexec/telepathy-idle" \
-      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib gnome3.dconf}/lib/gio/modules"
+      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules"
   '';
 
   meta = {
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
index 8c777cd3f7d6..af0ca1589e5a 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/logger/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, dbus-glib, libxml2, sqlite, telepathy-glib, pkgconfig
-, gnome3, makeWrapper, intltool, libxslt, gobject-introspection, dbus }:
+, dconf, makeWrapper, intltool, libxslt, gobject-introspection, dbus }:
 
 stdenv.mkDerivation rec {
   project = "telepathy-logger";
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   preFixup = ''
     wrapProgram "$out/libexec/telepathy-logger" \
-      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib gnome3.dconf}/lib/gio/modules" \
+      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules" \
       --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
   '';
 
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
index 6bbe82c4a28e..ef842275a5de 100644
--- a/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telepathy/mission-control/default.nix
@@ -1,7 +1,7 @@
 { stdenv
 , fetchurl
 , pkgconfig
-, gnome3
+, dconf
 , telepathy-glib
 , python3
 , libxslt
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
 
   preFixup = ''
     wrapProgram "$lib/libexec/mission-control-5" \
-      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib gnome3.dconf}/lib/gio/modules" \
+      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules" \
       --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
   '';
 
diff --git a/pkgs/applications/networking/instant-messengers/viber/default.nix b/pkgs/applications/networking/instant-messengers/viber/default.nix
index 1b3e1c8ad81a..acdec1dc99c9 100644
--- a/pkgs/applications/networking/instant-messengers/viber/default.nix
+++ b/pkgs/applications/networking/instant-messengers/viber/default.nix
@@ -1,6 +1,6 @@
 {fetchurl, stdenv, dpkg, makeWrapper,
  alsaLib, cups, curl, dbus, expat, fontconfig, freetype, glib, gst_all_1, harfbuzz, libcap,
- libpulseaudio, libxml2, libxslt, libGLU_combined, nspr, nss, openssl, systemd, wayland, xorg, zlib, ...
+ libpulseaudio, libxml2, libxslt, libGLU, libGL, nspr, nss, openssl, systemd, wayland, xorg, zlib, ...
 }:
 
 stdenv.mkDerivation {
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
       libpulseaudio
       libxml2
       libxslt
-      libGLU_combined
+      libGLU libGL
       nspr
       nss
       openssl
diff --git a/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix b/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
index f395c2a80550..0079d9f324f7 100644
--- a/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
@@ -1,12 +1,14 @@
-{ stdenv, fetchurl, makeDesktopItem
-
-, alsaLib, at-spi2-atk, atk, cairo, cups, dbus, dpkg, expat, fontconfig
-, freetype, gdk-pixbuf, glib, gtk3, hunspell, libX11, libXScrnSaver
-, libXcomposite, libXcursor, libXdamage, libXext, libXfixes, libXi, libXrandr
-, libXrender, libXtst, libnotify, libuuid, nspr, nss, pango, pciutils
-, pulseaudio, udev, xdg_utils, xorg
-
-, cpio, xar
+{ atomEnv
+, autoPatchelfHook
+, dpkg
+, fetchurl
+, makeDesktopItem
+, makeWrapper
+, stdenv
+, udev
+, wrapGAppsHook
+, cpio
+, xar
 }:
 
 let
@@ -18,13 +20,13 @@ let
   pname = "wire-desktop";
 
   version = {
-    x86_64-linux = "3.11.2912";
     x86_64-darwin = "3.10.3215";
+    x86_64-linux = "3.11.2912";
   }.${system} or throwSystem;
 
   sha256 = {
-    x86_64-linux = "1d2wa13d750dd2vslnvzf0ibwjmf5s299pxq0rs2x98y2sabw3sl";
     x86_64-darwin = "0ygm3fgy9k1dp2kjfwsrrwq1i88wgxc6k8y80yz61ivdawgph9wa";
+    x86_64-linux = "1d2wa13d750dd2vslnvzf0ibwjmf5s299pxq0rs2x98y2sabw3sl";
   }.${system} or throwSystem;
 
   meta = with stdenv.lib; {
@@ -40,11 +42,19 @@ let
         * Timed messages and chats
         * Synced across your phone, desktop and tablet
     '';
-    homepage = https://wire.com/;
-    downloadPage = https://wire.com/download/;
+    homepage = "https://wire.com/";
+    downloadPage = "https://wire.com/download/";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ arianvp toonn worldofpeace ];
-    platforms = [ "x86_64-darwin" "x86_64-linux" ];
+    maintainers = with maintainers; [
+      arianvp
+      kiwi
+      toonn
+      worldofpeace
+    ];
+    platforms = [
+      "x86_64-darwin"
+      "x86_64-linux"
+    ];
   };
 
   linux = stdenv.mkDerivation rec {
@@ -52,54 +62,55 @@ let
 
     src = fetchurl {
       url = "https://wire-app.wire.com/linux/debian/pool/main/"
-        + "Wire-${version}_amd64.deb";
+      + "Wire-${version}_amd64.deb";
       inherit sha256;
     };
 
     desktopItem = makeDesktopItem {
-      name = "wire-desktop";
-      exec = "wire-desktop %U";
-      icon = "wire-desktop";
+      categories = "Network;InstantMessaging;Chat;VideoConference";
       comment = "Secure messenger for everyone";
       desktopName = "Wire Desktop";
+      exec = "wire-desktop %U";
       genericName = "Secure messenger";
-      categories = "Network;InstantMessaging;Chat;VideoConference";
+      icon = "wire-desktop";
+      name = "wire-desktop";
     };
 
     dontBuild = true;
-    dontPatchELF = true;
     dontConfigure = true;
+    dontPatchELF = true;
+    dontWrapGApps = true;
 
-    nativeBuildInputs = [ dpkg ];
-    rpath = stdenv.lib.makeLibraryPath [
-      alsaLib at-spi2-atk atk cairo cups dbus expat fontconfig freetype
-      gdk-pixbuf glib gtk3 hunspell libX11 libXScrnSaver libXcomposite
-      libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender
-      libXtst libnotify libuuid nspr nss pango pciutils pulseaudio
-      stdenv.cc.cc udev xdg_utils xorg.libxcb
+    nativeBuildInputs = [
+      autoPatchelfHook
+      dpkg
+      makeWrapper
+      wrapGAppsHook
     ];
 
+    buildInputs = atomEnv.packages;
+
     unpackPhase = "dpkg-deb -x $src .";
 
     installPhase = ''
-      mkdir -p "$out"
+      mkdir -p "$out/bin"
       cp -R "opt" "$out"
       cp -R "usr/share" "$out/share"
       chmod -R g-w "$out"
 
-      # Patch wire-desktop
-      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-        --set-rpath "${rpath}:$out/opt/Wire" \
-        "$out/opt/Wire/wire-desktop"
-
-      # Symlink to bin
-      mkdir -p "$out/bin"
-      ln -s "$out/opt/Wire/wire-desktop" "$out/bin/wire-desktop"
-
       # Desktop file
       mkdir -p "$out/share/applications"
       cp "${desktopItem}/share/applications/"* "$out/share/applications"
     '';
+
+    runtimeDependencies = [
+      udev.lib
+    ];
+
+    postFixup = ''
+      makeWrapper $out/opt/Wire/wire-desktop $out/bin/wire-desktop \
+        "''${gappsWrapperArgs[@]}"
+    '';
   };
 
   darwin = stdenv.mkDerivation {
@@ -107,18 +118,20 @@ let
 
     src = fetchurl {
       url = "https://github.com/wireapp/wire-desktop/releases/download/"
-        + "macos%2F${version}/Wire.pkg";
+      + "macos%2F${version}/Wire.pkg";
       inherit sha256;
     };
 
-    buildInputs = [ cpio xar ];
+    buildInputs = [
+      cpio
+      xar
+    ];
 
     unpackPhase = ''
       xar -xf $src
       cd com.wearezeta.zclient.mac.pkg
     '';
 
-
     buildPhase = ''
       cat Payload | gunzip -dc | cpio -i
     '';
@@ -129,6 +142,7 @@ let
     '';
   };
 
-in if stdenv.isDarwin
-  then darwin
-  else linux
+in
+if stdenv.isDarwin
+then darwin
+else linux
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
index 7f3628dfdb7b..47437df25e72 100644
--- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -14,11 +14,11 @@ assert pulseaudioSupport -> libpulseaudio != null;
 let
   inherit (stdenv.lib) concatStringsSep makeBinPath optional;
 
-  version = "3.0.309708.1027";
+  version = "3.0.317369.1110";
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz";
-      sha256 = "0g0nmlbcps331vdnfj571lzhcw8cb2gxbll09jananxdpnmwv5l6";
+      sha256 = "0r4wp9qb1739xwr24kglc4sj8qaxwr4nh5p1igi3x6f1f8gczia7";
     };
   };
 
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/update.sh b/pkgs/applications/networking/instant-messengers/zoom-us/update.sh
index e06320424938..6214d4e26255 100755
--- a/pkgs/applications/networking/instant-messengers/zoom-us/update.sh
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/update.sh
@@ -3,7 +3,7 @@
 
 set -eu -o pipefail
 
-oldVersion=$(nix-instantiate --eval -E "with import ./. {}; zoom-us.version or (builtins.parseDrvName zoom-us.name).version" | tr -d '"')
+oldVersion=$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion zoom-us" | tr -d '"')
 version="$(curl -sI https://zoom.us/client/latest/zoom_x86_64.tar.xz | grep -Fi 'Location:' | pcregrep -o1 '/(([0-9]\.?)+)/')"
 
 if [ ! "${oldVersion}" = "${version}" ]; then
diff --git a/pkgs/applications/networking/instant-messengers/zulip/default.nix b/pkgs/applications/networking/instant-messengers/zulip/default.nix
new file mode 100644
index 000000000000..33392af766c9
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/zulip/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, fetchurl
+, appimageTools
+}:
+
+let
+  pname = "zulip";
+  version = "4.0.0";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/zulip/zulip-desktop/releases/download/v${version}/Zulip-${version}-x86_64.AppImage";
+    sha256 = "1pni02mb5bvwx3k45vd6ga269ghdl633gjklyslai24rrhp16h9z";
+    name="${pname}-${version}.AppImage";
+  };
+
+  appimageContents = appimageTools.extractType2 {
+    inherit name src;
+  };
+
+in appimageTools.wrapType2 {
+  inherit name src;
+
+  extraInstallCommands = ''
+    mv $out/bin/${name} $out/bin/${pname}
+    install -m 444 -D ${appimageContents}/zulip.desktop $out/share/applications/zulip.desktop
+    install -m 444 -D ${appimageContents}/usr/share/icons/hicolor/512x512/apps/zulip.png \
+      $out/share/icons/hicolor/512x512/apps/zulip.png
+    substituteInPlace $out/share/applications/zulip.desktop \
+      --replace 'Exec=AppRun' 'Exec=${pname}'
+  '';
+
+  meta = with lib; {
+    description = "Desktop client for Zulip Chat";
+    homepage = https://zulipchat.com;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jonafato ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/irc/glowing-bear/default.nix b/pkgs/applications/networking/irc/glowing-bear/default.nix
index 8bdb23d50dd3..2d12386bafac 100644
--- a/pkgs/applications/networking/irc/glowing-bear/default.nix
+++ b/pkgs/applications/networking/irc/glowing-bear/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "glowing-bear";
-  version = "0.7.1";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     rev = version;
     owner = "glowing-bear";
     repo = "glowing-bear";
-    sha256 = "0gwrf67l3i3nl7zy1miljz6f3vv6zzc3g9as06by548f21cizzjb";
+    sha256 = "14a3fqsmi28g7j3lzk4l4m47p2iml1aaf3514wazn2clw48lnqhw";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/irc/weechat/scripts/default.nix b/pkgs/applications/networking/irc/weechat/scripts/default.nix
index 81ee484f3b30..0880a32af92f 100644
--- a/pkgs/applications/networking/irc/weechat/scripts/default.nix
+++ b/pkgs/applications/networking/irc/weechat/scripts/default.nix
@@ -1,10 +1,12 @@
-{ callPackage, luaPackages }:
+{ callPackage, luaPackages, python3Packages }:
 
 {
   weechat-matrix-bridge = callPackage ./weechat-matrix-bridge {
     inherit (luaPackages) cjson luaffi;
   };
 
+  weechat-matrix = python3Packages.callPackage ./weechat-matrix { };
+
   wee-slack = callPackage ./wee-slack { };
 
   weechat-autosort = callPackage ./weechat-autosort { };
diff --git a/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix b/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix
new file mode 100644
index 000000000000..ff6a7d947411
--- /dev/null
+++ b/pkgs/applications/networking/irc/weechat/scripts/weechat-matrix/default.nix
@@ -0,0 +1,58 @@
+{ buildPythonPackage, stdenv, python, fetchFromGitHub,
+  pyopenssl, webcolors, future, atomicwrites,
+  attrs, Logbook, pygments, cachetools, matrix-nio }:
+
+let
+  matrixUploadPython = python.withPackages (ps: with ps; [
+    magic
+  ]);
+in buildPythonPackage {
+  pname = "weechat-matrix";
+  version = "unstable-2019-11-10";
+
+  src = fetchFromGitHub {
+    owner = "poljar";
+    repo = "weechat-matrix";
+    rev = "69ad2a9c03d516c212d3d0700dbb2bfe654f6365";
+    sha256 = "1mfbkag5np2lgv6f31nyfnvavyh67jrrx6gxhzb8m99dd43lgs8c";
+  };
+
+  propagatedBuildInputs = [
+    pyopenssl
+    webcolors
+    future
+    atomicwrites
+    attrs
+    Logbook
+    pygments
+    cachetools
+    matrix-nio
+  ];
+
+  passthru.scripts = [ "matrix.py" ];
+
+  dontBuild = true;
+  doCheck = false;
+
+  installPhase = ''
+    mkdir -p $out/share $out/bin
+    cp $src/main.py $out/share/matrix.py
+
+    cp $src/contrib/matrix_upload $out/bin/
+    substituteInPlace $out/bin/matrix_upload \
+      --replace '/usr/bin/env -S python3 -u' '${matrixUploadPython}/bin/python -u' 
+  
+    mkdir -p $out/${python.sitePackages}
+    cp -r $src/matrix $out/${python.sitePackages}/matrix
+  '';
+
+  dontPatchShebangs = true;
+
+  meta = with stdenv.lib; {
+    description = "A Python plugin for Weechat that lets Weechat communicate over the Matrix protocol";
+    homepage = "https://github.com/poljar/weechat-matrix";
+    license = licenses.isc;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.tilpner ];
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/aerc/default.nix b/pkgs/applications/networking/mailreaders/aerc/default.nix
index 98ab5f563521..6915cfd79821 100644
--- a/pkgs/applications/networking/mailreaders/aerc/default.nix
+++ b/pkgs/applications/networking/mailreaders/aerc/default.nix
@@ -1,21 +1,22 @@
 { stdenv, buildGoModule, fetchurl
-, go, ncurses, scdoc
+, go, ncurses, notmuch, scdoc
 , python3, perl, w3m, dante
 }:
 
 buildGoModule rec {
   pname = "aerc";
-  version = "0.2.1";
+  version = "0.3.0";
 
   src = fetchurl {
     url = "https://git.sr.ht/~sircmpwn/aerc/archive/${version}.tar.gz";
-    sha256 = "1ky1nl5b54lf5jnac2kb5404fplwnwypjplas8imdlsf517fw32n";
+    sha256 = "188jln8hmgiqn5il5m54bns0wk4grj09di8y6mmid58ibw6spma4";
   };
 
   nativeBuildInputs = [
     go
     scdoc
     python3.pkgs.wrapPython
+    notmuch
   ];
 
   patches = [
@@ -28,6 +29,8 @@ buildGoModule rec {
 
   buildInputs = [ python3 perl ];
 
+  GOFLAGS="-tags=notmuch";
+
   buildPhase = "
     runHook preBuild
     # we use make instead of go build
@@ -43,12 +46,12 @@ buildGoModule rec {
 
   postFixup = ''
     wrapProgram $out/bin/aerc --prefix PATH ":" \
-      "$out/share/aerc/filters:${stdenv.lib.makeBinPath [ ncurses.dev ]}"
+      "$out/share/aerc/filters:${stdenv.lib.makeBinPath [ ncurses ]}"
     wrapProgram $out/share/aerc/filters/html --prefix PATH ":" \
       ${stdenv.lib.makeBinPath [ w3m dante ]}
   '';
 
-  modSha256 = "0fc9m1qb8innypc8cxzbqyrfkawawyaqq3gqy7lqwmyh32f300jh";
+  modSha256 = "0pxbv4zfhii0g41cy0ycfpkkxw6nnd4ibavic6zqw30j476jnm2x";
 
   meta = with stdenv.lib; {
     description = "aerc is an email client for your terminal";
diff --git a/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch b/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch
index 4ff1283b5e3d..ed670d61a7b3 100644
--- a/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch
+++ b/pkgs/applications/networking/mailreaders/aerc/runtime-sharedir.patch
@@ -1,18 +1,19 @@
-From 7ea68a2eef026723903d72f54ca54b629881ec06 Mon Sep 17 00:00:00 2001
+From 6cf3c2e42d219b9665a43ca65f321c653b0aa102 Mon Sep 17 00:00:00 2001
 From: Tadeo Kondrak <me@tadeo.ca>
 Date: Mon, 28 Oct 2019 08:36:36 -0600
 Subject: [PATCH] Fix aerc breaking every time the package is rebuilt.
 
 On NixOS, the SHAREDIR changes on every rebuild to the package, but aerc
-fills it in as part of the default config. Fix this by not substituting
-@SHAREDIR@ in the default config until runtime.
+fills it in as part of the default config and then installs that config
+to the users home folder. Fix this by not substituting @SHAREDIR@ in the
+default config until runtime.
 ---
  Makefile         | 2 +-
- config/config.go | 3 +++
- 2 files changed, 4 insertions(+), 1 deletion(-)
+ config/config.go | 8 ++++++++
+ 2 files changed, 9 insertions(+), 1 deletion(-)
 
 diff --git a/Makefile b/Makefile
-index d3072d3..17ca0be 100644
+index d1c755d..1185a96 100644
 --- a/Makefile
 +++ b/Makefile
 @@ -24,7 +24,7 @@ aerc: $(GOSRC)
@@ -25,10 +26,22 @@ index d3072d3..17ca0be 100644
  DOCS := \
  	aerc.1 \
 diff --git a/config/config.go b/config/config.go
-index bfcbecf..2f4e703 100644
+index 32d07fc..8ffd3e8 100644
 --- a/config/config.go
 +++ b/config/config.go
-@@ -377,6 +377,9 @@ func LoadConfigFromFile(root *string, sharedir string) (*AercConfig, error) {
+@@ -355,6 +355,11 @@ func LoadConfigFromFile(root *string, sharedir string) (*AercConfig, error) {
+ 			return nil, err
+ 		}
+ 	}
++	if sec, err := file.GetSection("templates"); err == nil {
++		if key, err := sec.GetKey("template-dirs"); err == nil {
++			sec.NewKey("template-dirs", strings.ReplaceAll(key.String(), "@SHAREDIR@", sharedir))
++		}
++	}
+ 	file.NameMapper = mapName
+ 	config := &AercConfig{
+ 		Bindings: BindingConfig{
+@@ -423,6 +428,9 @@ func LoadConfigFromFile(root *string, sharedir string) (*AercConfig, error) {
  	if err = config.LoadConfig(file); err != nil {
  		return nil, err
  	}
diff --git a/pkgs/applications/networking/mailreaders/balsa/default.nix b/pkgs/applications/networking/mailreaders/balsa/default.nix
index ff6599598760..e7c9d50cb9be 100644
--- a/pkgs/applications/networking/mailreaders/balsa/default.nix
+++ b/pkgs/applications/networking/mailreaders/balsa/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "balsa";
-  version = "2.5.7";
+  version = "2.5.9";
 
   src = fetchurl {
     url = "https://pawsa.fedorapeople.org/balsa/${pname}-${version}.tar.bz2";
-    sha256 = "0yfqhfpwm1qnwmbpr6dfn2f5w8a8xxq51pn8ypgg0fw973l1c1nx";
+    sha256 = "19gs1qfvbk9qx4rjmgrmvid00kl9k153zjjx8zjii2lz09w7g19i";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/mailreaders/imapfilter.nix b/pkgs/applications/networking/mailreaders/imapfilter.nix
index 9f05020f2c3f..587cc40aadaa 100644
--- a/pkgs/applications/networking/mailreaders/imapfilter.nix
+++ b/pkgs/applications/networking/mailreaders/imapfilter.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "imapfilter";
-  version = "2.6.14";
+  version = "2.6.16";
 
   src = fetchFromGitHub {
     owner = "lefcha";
     repo = "imapfilter";
     rev = "v${version}";
-    sha256 = "09aq9gw1vz0zl6k4fb4zdm6cpjhddsl13asfjx3qy21pbw0azmj6";
+    sha256 = "0f65sg6hhv6778fxwsz4hvarbm97dsb8jj0mg7a9qs273r35pqck";
   };
 
   makeFlagsArray = "PREFIX=$(out)";
diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index 3af4c7f5e15f..bc4bb49981e4 100644
--- a/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -27,11 +27,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "mutt";
-  version = "1.12.2";
+  version = "1.13.0";
 
   src = fetchurl {
     url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz";
-    sha256 = "10k8352s0z7yan6d4z2am80qd3bsaky4h89g72wl4xr3x067ahmw";
+    sha256 = "1dzmypmcyqsxcb0qwz1b2v3nhvd83jcqlnn3acvgaiag10hxq3d0";
   };
 
   patches = optional smimeSupport (fetchpatch {
diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix
index 4305294297aa..79110ac37b2b 100644
--- a/pkgs/applications/networking/mailreaders/neomutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix
@@ -4,14 +4,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "20191111";
+  version = "20191129";
   pname = "neomutt";
 
   src = fetchFromGitHub {
     owner  = "neomutt";
     repo   = "neomutt";
     rev    = version;
-    sha256 = "16xr7wdmjw0i72xbnyyh098wx4cr0m8w2cr1szdi1b14p4kpgr67";
+    sha256 = "1zwnap307qzjkfcap0rxgwwmis77lhr7js4avig0qdqnmqbdlgbh";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
index ad98cd660d9c..6cdbe4d58ada 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
@@ -34,7 +34,7 @@
 , libgnome
 , libgnomeui
 , gnome3
-, libGLU_combined
+, libGLU, libGL
 , nspr
 , nss
 , pango
@@ -116,7 +116,7 @@ stdenv.mkDerivation {
       libcanberra-gtk2
       libgnome
       libgnomeui
-      libGLU_combined
+      libGLU libGL
       nspr
       nss
       pango
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index a4edc76caca0..78ed553ccd87 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, pkgconfig, gtk2, pango, perl, python2, python3, nodejs
 , libIDL, libjpeg, zlib, dbus, dbus-glib, bzip2, xorg
 , freetype, fontconfig, file, nspr, nss, libnotify
-, yasm, libGLU_combined, sqlite, zip, unzip
+, yasm, libGLU, libGL, sqlite, zip, unzip
 , libevent, libstartup_notification
 , icu, libpng, jemalloc
 , autoconf213, which, m4, fetchpatch
@@ -37,7 +37,7 @@ in stdenv.mkDerivation rec {
     [ gtk2 zip libIDL libjpeg zlib bzip2
       dbus dbus-glib pango freetype fontconfig xorg.libXi
       xorg.libX11 xorg.libXrender xorg.libXft xorg.libXt file
-      nspr nss libnotify xorg.pixman yasm libGLU_combined
+      nspr nss libnotify xorg.pixman yasm libGLU libGL
       xorg.libXScrnSaver xorg.xorgproto
       xorg.libXext sqlite unzip
       libevent libstartup_notification /* cairo */
diff --git a/pkgs/applications/networking/newsreaders/pan/default.nix b/pkgs/applications/networking/newsreaders/pan/default.nix
index 3f90f65476e4..f50d9516167a 100644
--- a/pkgs/applications/networking/newsreaders/pan/default.nix
+++ b/pkgs/applications/networking/newsreaders/pan/default.nix
@@ -7,7 +7,7 @@
 
 assert spellChecking -> gtkspell3 != null;
 
-let version = "0.145"; in
+let version = "0.146"; in
 
 stdenv.mkDerivation {
   pname = "pan";
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://pan.rebelbase.com/download/releases/${version}/source/pan-${version}.tar.bz2";
-    sha256 = "1b4wamv33hprghcjk903bpvnd233yxyrm18qnh13alc8h1553nk8";
+    sha256 = "17agd27sn4a7nahvkpg0w39kv74njgdrrygs74bbvpaj8rk2hb55";
   };
 
   nativeBuildInputs = [ pkgconfig gettext intltool itstool libxml2 makeWrapper ];
diff --git a/pkgs/applications/networking/newsreaders/quiterss/default.nix b/pkgs/applications/networking/newsreaders/quiterss/default.nix
index 3a72ae8ce5f9..d54e8eca78e4 100644
--- a/pkgs/applications/networking/newsreaders/quiterss/default.nix
+++ b/pkgs/applications/networking/newsreaders/quiterss/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "quiterss";
-  version = "0.18.12";
+  version = "0.19.2";
 
   src = fetchFromGitHub {
     owner = "QuiteRSS";
     repo = "quiterss";
     rev = version;
-    sha256 = "0xav9qr8n6310636nfbgx4iix65fs3ya5rz2isxsf38bkjm7r3pa";
+    sha256 = "1dmfag5hmy4jac20nizwgd92w8h2hdl2ch57hvw5hmjyfckn9rpj";
   };
 
   nativeBuildInputs = [ qmake pkgconfig wrapQtAppsHook ];
diff --git a/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
index 55bdced74b52..68babaddd1bc 100644
--- a/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
+++ b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix
@@ -1,5 +1,5 @@
 { stdenv, autoconf, automake, libtool, wrapGAppsHook, fetchFromGitHub, pkgconfig
-, intltool, gtk3, json-glib, curl, glib, autoconf-archive, appstream-glib }:
+, intltool, gtk3, json-glib, curl, glib, autoconf-archive, appstream-glib, fetchpatch }:
 
 
 stdenv.mkDerivation rec {
@@ -13,6 +13,13 @@ stdenv.mkDerivation rec {
     sha256 = "1pipc1f94jdppv597mqmcj2kw2rdvaqcbl512v7z8vir76p1a7gk";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/transmission-remote-gtk/transmission-remote-gtk/commit/0f5cc8a9942e220ea0f7d0b17db4a78d094e3b65.patch";
+      sha256 = "195rsjpbc0gzmr9bycvq4mra7abp3hd9by3a5vvcmxsh5ipikycf";
+    })
+  ];
+
   preConfigure = "./autogen.sh";
 
   nativeBuildInputs= [
diff --git a/pkgs/applications/networking/p2p/tribler/default.nix b/pkgs/applications/networking/p2p/tribler/default.nix
index 65abcf35a352..683507f8b19a 100644
--- a/pkgs/applications/networking/p2p/tribler/default.nix
+++ b/pkgs/applications/networking/p2p/tribler/default.nix
@@ -1,48 +1,51 @@
-{ stdenv, fetchurl, pythonPackages, makeWrapper, imagemagick
-, enablePlayer ? true, vlc ? null, qt5 }:
+{ stdenv, fetchurl, pkgs, python3Packages, makeWrapper
+, enablePlayer ? true, vlc ? null, qt5, lib }:
 
 stdenv.mkDerivation rec {
   pname = "tribler";
-  version = "7.1.2";
+  version = "7.4.0-exp1";
 
   src = fetchurl {
-    url = "https://github.com/Tribler/tribler/releases/download/v${version}/Tribler-v${version}.tar.gz";
-    sha256 = "1ayzqx4358qlx56hsnsn5s8xl6mzdb6nw4kwsalmp86dw6vmmis8";
+    url = "https://github.com/Tribler/tribler/releases/download/v${version}/Tribler-v${version}.tar.xz";
+    sha256 = "18ziisg0v2gdxnprbhqsryz92yk270waj0la7m2h326k5qql3qkf";
   };
 
-  buildInputs = [
-    pythonPackages.python
-    pythonPackages.wrapPython
+  nativeBuildInputs = [
+    python3Packages.wrapPython
     makeWrapper
-    imagemagick
+  ];
+
+  buildInputs = [
+    python3Packages.python
   ];
 
   pythonPath = [
-    pythonPackages.libtorrentRasterbar
-    pythonPackages.apsw
-    pythonPackages.twisted
-    pythonPackages.netifaces
-    pythonPackages.pycrypto
-    pythonPackages.pyasn1
-    pythonPackages.requests
-    pythonPackages.setuptools
-    pythonPackages.m2crypto
-    pythonPackages.pyqt5
-    pythonPackages.chardet
-    pythonPackages.cherrypy
-    pythonPackages.cryptography
-    pythonPackages.libnacl
-    pythonPackages.configobj
-    pythonPackages.matplotlib
-    pythonPackages.plyvel
-    pythonPackages.decorator
-    pythonPackages.feedparser
-    pythonPackages.service-identity
-    pythonPackages.psutil
-    pythonPackages.meliae
-    pythonPackages.sip
-    pythonPackages.pillow
-    pythonPackages.networkx
+    python3Packages.libtorrentRasterbar
+    python3Packages.twisted
+    python3Packages.netifaces
+    python3Packages.pycrypto
+    python3Packages.pyasn1
+    python3Packages.requests
+    python3Packages.m2crypto
+    python3Packages.pyqt5
+    python3Packages.chardet
+    python3Packages.cherrypy
+    python3Packages.cryptography
+    python3Packages.libnacl
+    python3Packages.configobj
+    python3Packages.decorator
+    python3Packages.feedparser
+    python3Packages.service-identity
+    python3Packages.psutil
+    python3Packages.pillow
+    python3Packages.networkx
+    python3Packages.pony
+    python3Packages.lz4
+    python3Packages.pyqtgraph
+
+    # there is a BTC feature, but it requires some unclear version of
+    # bitcoinlib, so this doesn't work right now.
+    # python3Packages.bitcoinlib
   ];
 
   postPatch = ''
@@ -54,12 +57,11 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    find . -name '*.png' -exec convert -strip {} {} \;
     mkdir -pv $out
     # Nasty hack; call wrapPythonPrograms to set program_PYTHONPATH.
     wrapPythonPrograms
     cp -prvd ./* $out/
-    makeWrapper ${pythonPackages.python}/bin/python $out/bin/tribler \
+    makeWrapper ${python3Packages.python}/bin/python $out/bin/tribler \
         --set QT_QPA_PLATFORM_PLUGIN_PATH ${qt5.qtbase.bin}/lib/qt-*/plugins/platforms \
         --set _TRIBLERPATH $out \
         --set PYTHONPATH $out:$program_PYTHONPATH \
diff --git a/pkgs/applications/networking/remote/anydesk/default.nix b/pkgs/applications/networking/remote/anydesk/default.nix
index e9dd022c3139..03a2ef9551bb 100644
--- a/pkgs/applications/networking/remote/anydesk/default.nix
+++ b/pkgs/applications/networking/remote/anydesk/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, makeDesktopItem
-, atk, cairo, gdk-pixbuf, glib, gnome2, gtk2, libGLU_combined, pango, xorg
+, atk, cairo, gdk-pixbuf, glib, gnome2, gtk2, libGLU, libGL, pango, xorg
 , lsb-release, freetype, fontconfig, pangox_compat, polkit, polkit_gnome
 , pulseaudio }:
 
 let
   sha256 = {
-    x86_64-linux = "1zdbgbbdavaqx4y02sw9y7i1r9wkxqccrqkn0sp5847a26cpk9k9";
-    i386-linux   = "11qwyxvy3c3n7hvksmlsfl9vvqaqkv3kwbk5rgjyy7vy8vn4kjmk";
+    x86_64-linux = "0dcg9znjxpnysypznnnq4xbaciiqz8l4p1hrbis3pazwi7bakizs";
+    i386-linux   = "04bvsvqjkayac17y9jcpdcfm3hzm2kq1brd9vwnx34gg07x9mn7g";
   }.${stdenv.hostPlatform.system} or (throw "system ${stdenv.hostPlatform.system} not supported");
 
   arch = {
@@ -28,7 +28,7 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "anydesk";
-  version = "5.4.1";
+  version = "5.5.0";
 
   src = fetchurl {
     url = "https://download.anydesk.com/linux/${pname}-${version}-${arch}.tar.gz";
@@ -37,7 +37,7 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [
     atk cairo gdk-pixbuf glib gtk2 stdenv.cc.cc pango
-    gnome2.gtkglext libGLU_combined freetype fontconfig
+    gnome2.gtkglext libGLU libGL freetype fontconfig
     pangox_compat polkit polkit_gnome pulseaudio
   ] ++ (with xorg; [
     libxcb libxkbfile libX11 libXdamage libXext libXfixes libXi libXmu
diff --git a/pkgs/applications/networking/remote/citrix-workspace/default.nix b/pkgs/applications/networking/remote/citrix-workspace/default.nix
index 26e8cf59a9e9..dc6f85f2130e 100644
--- a/pkgs/applications/networking/remote/citrix-workspace/default.nix
+++ b/pkgs/applications/networking/remote/citrix-workspace/default.nix
@@ -9,6 +9,7 @@
 , makeDesktopItem
 , tzdata
 , cacert
+, dconf
 , glib
 , gtk2
 , atk
@@ -137,7 +138,7 @@ let
         gdk-pixbuf
         cairo
         pango
-        gnome3.dconf
+        dconf
         xorg.libX11
         xorg.libXext
         xorg.libXrender
diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix
index 7475692b962c..71421eaf1e71 100644
--- a/pkgs/applications/networking/sync/rclone/default.nix
+++ b/pkgs/applications/networking/sync/rclone/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "rclone";
-  version = "1.49.5";
+  version = "1.50.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0firfb2300grfp5fnqaifhp346m4d0x8r1xshs9d8r6jxb160n03";
+    sha256 = "0yaspkh88q8i58i8g8mm6sqb75hczavz2lvzdd1iif1bqgi6b5fz";
   };
 
   goPackagePath = "github.com/rclone/rclone";
diff --git a/pkgs/applications/networking/weather/meteo/default.nix b/pkgs/applications/networking/weather/meteo/default.nix
index 5fe52d5f33db..64fef08ceefd 100644
--- a/pkgs/applications/networking/weather/meteo/default.nix
+++ b/pkgs/applications/networking/weather/meteo/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "meteo";
-  version = "0.9.7";
+  version = "0.9.8";
 
   src = fetchFromGitLab {
     owner = "bitseater";
     repo = pname;
     rev = version;
-    sha256 = "014x3mg2dc58h1qwy2nrz3a5mzdnbzish8zgn3x6lj6szfz5c72n";
+    sha256 = "1ll5fja0dqxcr6hrh2dk4hgw9gf8ms9bcp1ifznd21byxzyhdlr0";
   };
 
   nativeBuildInputs = [
@@ -40,9 +40,9 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Know the forecast of the next hours & days";
-    homepage    = https://gitlab.com/bitseater/meteo;
-    license     = licenses.gpl3Plus;
+    homepage = https://gitlab.com/bitseater/meteo;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ worldofpeace ];
-    platforms   = platforms.linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/office/aesop/default.nix b/pkgs/applications/office/aesop/default.nix
index 603f80189931..b637f6bbf06b 100644
--- a/pkgs/applications/office/aesop/default.nix
+++ b/pkgs/applications/office/aesop/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "aesop";
-  version = "1.1.2";
+  version = "1.1.3";
 
   src = fetchFromGitHub {
     owner = "lainsce";
     repo = pname;
     rev = version;
-    sha256 = "1vadm8295jb7jaah2qykf3h9zvl5c013sanmxqi4snmmq4pa32ax";
+    sha256 = "1hnwhxaz0zx4fswrxjzyv5s77v5fimn87yid9sd1qgfv2g1ck0jc";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix
index 70d1e3d79ba5..979c960f7a81 100644
--- a/pkgs/applications/office/gnumeric/default.nix
+++ b/pkgs/applications/office/gnumeric/default.nix
@@ -1,31 +1,22 @@
 { stdenv, fetchurl, pkgconfig, intltool, perlPackages
 , goffice, gnome3, wrapGAppsHook, gtk3, bison, pythonPackages
-, itstool, autoreconfHook
+, itstool
 }:
 
 let
   inherit (pythonPackages) python pygobject3;
 in stdenv.mkDerivation rec {
   pname = "gnumeric";
-  version = "1.12.45"; # TODO next release: remove gamma patch and autoreconfHook
+  version = "1.12.46";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0c8dl1kvnj3g32qy3s92qpqpqfy0in59cx005gjvvzsflahav61h";
+    sha256 = "9fdc67377af52dfe69a7db4f533938024a75f454fc5d25ab43b8e6739be0b5e1";
   };
 
-  patches = stdenv.lib.optional stdenv.isDarwin
-    # https://gitlab.gnome.org/GNOME/gnumeric/issues/402
-    (fetchurl {
-      name = "math-gamma.patch";
-      url = "https://gitlab.gnome.org/GNOME/gnumeric/uploads/cf8d162bc719de92e97d01cb0ba5b637/ppp";
-      sha256 = "17wiigs06qc86a1nghwcg3pcnpa28123jblgsxpy3j7drardgnlp";
-    });
-
   configureFlags = [ "--disable-component" ];
 
-  nativeBuildInputs = [ pkgconfig intltool bison itstool wrapGAppsHook ]
-    ++ stdenv.lib.optional stdenv.isDarwin autoreconfHook;
+  nativeBuildInputs = [ pkgconfig intltool bison itstool wrapGAppsHook ];
 
   # ToDo: optional libgda, introspection?
   buildInputs = [
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index 2f220fa2fb60..912ab42ce28a 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -4,7 +4,7 @@
 , bison, flex, zip, unzip, gtk3, gtk2, libmspack, getopt, file, cairo, which
 , icu, boost, jdk, ant, cups, xorg, libcmis, fontforge
 , openssl, gperf, cppunit, GConf, ORBit2, poppler, utillinux
-, librsvg, gnome_vfs, libGLU_combined, bsh, CoinMP, libwps, libabw, libmysqlclient
+, librsvg, gnome_vfs, libGLU, libGL, bsh, CoinMP, libwps, libabw, libmysqlclient
 , autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr
 , libwpg, dbus-glib, qt4, clucene_core, libcdr, lcms, vigra
 , unixODBC, mdds, sane-backends, mythes, libexttextcat, libvisio
@@ -13,7 +13,7 @@
 , librevenge, libe-book, libmwaw, glm, glew, gst_all_1
 , gdb, commonsLogging, librdf_rasqal, wrapGAppsHook
 , gnome3, glib, ncurses, epoxy, gpgme
-, langs ? [ "ca" "cs" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "ru" "sl" "zh-CN" ]
+, langs ? [ "ca" "cs" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "pt" "pt-BR" "ru" "sl" "zh-CN" ]
 , withHelp ? true
 , kdeIntegration ? false
 }:
@@ -65,6 +65,8 @@ in stdenv.mkDerivation rec {
 
   inherit (primary-src) src;
 
+  outputs = [ "out" "dev" ];
+
   # For some reason librdf_redland sometimes refers to rasqal.h instead
   # of rasqal/rasqal.h
   NIX_CFLAGS_COMPILE = [ "-I${librdf_rasqal}/include/rasqal" ] ++ lib.optional stdenv.isx86_64 "-mno-fma";
@@ -276,6 +278,9 @@ in stdenv.mkDerivation rec {
 
     cp -r sysui/desktop/icons  "$out/share"
     sed -re 's@Icon=libreoffice(dev)?[0-9.]*-?@Icon=@' -i "$out/share/applications/"*.desktop
+
+    mkdir -p $dev
+    cp -r include $dev
   '';
 
   configureFlags = [
@@ -360,7 +365,7 @@ in stdenv.mkDerivation rec {
       hunspell icu jdk lcms libcdr libexttextcat unixODBC libjpeg
       libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11
       libXaw libXext libXi libXinerama libxml2 libxslt libXtst
-      libXdmcp libpthreadstubs libGLU_combined mythes gst_all_1.gstreamer
+      libXdmcp libpthreadstubs libGLU libGL mythes gst_all_1.gstreamer
       gst_all_1.gst-plugins-base glib libmysqlclient
       neon nspr nss openldap openssl ORBit2 pam perl pkgconfig poppler
       python3 sane-backends unzip vigra which zip zlib
diff --git a/pkgs/applications/office/libreoffice/still.nix b/pkgs/applications/office/libreoffice/still.nix
index be87a8bb6721..ee1497bfb7e9 100644
--- a/pkgs/applications/office/libreoffice/still.nix
+++ b/pkgs/applications/office/libreoffice/still.nix
@@ -4,7 +4,7 @@
 , bison, flex, zip, unzip, gtk3, gtk2, libmspack, getopt, file, cairo, which
 , icu, boost, jdk, ant, cups, xorg, libcmis, fontforge
 , openssl, gperf, cppunit, GConf, ORBit2, poppler, utillinux
-, librsvg, gnome_vfs, libGLU_combined, bsh, CoinMP, libwps, libabw, libmysqlclient
+, librsvg, gnome_vfs, libGLU, libGL, bsh, CoinMP, libwps, libabw, libmysqlclient
 , autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr
 , libwpg, dbus-glib, qt4, clucene_core, libcdr, lcms, vigra
 , unixODBC, mdds, sane-backends, mythes, libexttextcat, libvisio
@@ -13,7 +13,7 @@
 , librevenge, libe-book, libmwaw, glm, glew, gst_all_1
 , gdb, commonsLogging, librdf_rasqal, wrapGAppsHook
 , gnome3, glib, ncurses, epoxy, gpgme
-, langs ? [ "ca" "cs" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "ru" "sl" "zh-CN" ]
+, langs ? [ "ca" "cs" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "pt" "pt-BR" "ru" "sl" "zh-CN" ]
 , withHelp ? true
 , kdeIntegration ? false
 }:
@@ -65,6 +65,8 @@ in stdenv.mkDerivation rec {
 
   inherit (primary-src) src;
 
+  outputs = [ "out" "dev" ];
+
   # For some reason librdf_redland sometimes refers to rasqal.h instead
   # of rasqal/rasqal.h
   NIX_CFLAGS_COMPILE = [ "-I${librdf_rasqal}/include/rasqal" ];
@@ -276,6 +278,9 @@ in stdenv.mkDerivation rec {
 
     cp -r sysui/desktop/icons  "$out/share"
     sed -re 's@Icon=libreoffice(dev)?[0-9.]*-?@Icon=@' -i "$out/share/applications/"*.desktop
+
+    mkdir -p $dev
+    cp -r include $dev
   '';
 
   configureFlags = [
@@ -357,7 +362,7 @@ in stdenv.mkDerivation rec {
       hunspell icu jdk lcms libcdr libexttextcat unixODBC libjpeg
       libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11
       libXaw libXext libXi libXinerama libxml2 libxslt libXtst
-      libXdmcp libpthreadstubs libGLU_combined mythes gst_all_1.gstreamer
+      libXdmcp libpthreadstubs libGLU libGL mythes gst_all_1.gstreamer
       gst_all_1.gst-plugins-base glib libmysqlclient
       neon nspr nss openldap openssl ORBit2 pam perl poppler
       python3 sane-backends unzip vigra which zip zlib
diff --git a/pkgs/applications/office/qownnotes/default.nix b/pkgs/applications/office/qownnotes/default.nix
index 4152c08ebaf6..b646d0fc93f7 100644
--- a/pkgs/applications/office/qownnotes/default.nix
+++ b/pkgs/applications/office/qownnotes/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "qownnotes";
-  version = "19.10.10";
+  version = "19.11.14";
 
   src = fetchurl {
     url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz";
     # Can grab official version like so:
     # $ curl https://download.tuxfamily.org/qownnotes/src/qownnotes-19.1.8.tar.xz.sha256
-    sha256 = "1zhszlrcmi8l96wq6hp48d8qv16jlyni02wf41dvh5r9ccfwlq42";
+    sha256 = "8faa67720443fc9a116feae3e7d641922a08814b9af4d973d348ff8a0ee0e35d";
   };
 
   nativeBuildInputs = [ qmake qttools ];
diff --git a/pkgs/applications/office/softmaker/freeoffice.nix b/pkgs/applications/office/softmaker/freeoffice.nix
index 8c862cb6ea4f..ff54f8ff90f0 100644
--- a/pkgs/applications/office/softmaker/freeoffice.nix
+++ b/pkgs/applications/office/softmaker/freeoffice.nix
@@ -2,13 +2,13 @@
 
 callPackage ./generic.nix (args // rec {
   pname = "freeoffice";
-  version = "971";
+  version = "973";
   edition = "2018";
   suiteName = "FreeOffice";
 
   src = fetchurl {
     url = "https://www.softmaker.net/down/softmaker-freeoffice-${version}-amd64.tgz";
-    sha256 = "1h36pjbpbiy4cw383cbrwh1jx2kp1ay29734zailmhifz53gj44f";
+    sha256 = "0xac4ynf1lfh8qmni5bhp4ybaamdfngva4bqaq21n1m4pgrx1ba5";
   };
 
   archive = "freeoffice${edition}.tar.lzma";
diff --git a/pkgs/applications/office/softmaker/generic.nix b/pkgs/applications/office/softmaker/generic.nix
index 56dc6a5e4f7f..82ac2b58f68a 100644
--- a/pkgs/applications/office/softmaker/generic.nix
+++ b/pkgs/applications/office/softmaker/generic.nix
@@ -96,6 +96,10 @@ in stdenv.mkDerivation rec {
       done
     done
 
+    # freeoffice 973 misses the 96x96 application icons, giving broken symbolic links
+    # remove broken symbolic links
+    find $out -xtype l -ls -exec rm {} \;
+
     # Add desktop items
     ${desktopItems.planmaker.buildCommand}
     ${desktopItems.presentations.buildCommand}
diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix
index 34dace1cadb0..a84d9c1b169d 100644
--- a/pkgs/applications/office/zotero/default.nix
+++ b/pkgs/applications/office/zotero/default.nix
@@ -5,6 +5,7 @@
 , cups
 , dbus-glib
 , dbus
+, dconf
 , fontconfig
 , freetype
 , gdk-pixbuf
@@ -25,7 +26,7 @@
 , libXt
 , libnotify
 , gnome3
-, libGLU_combined
+, libGLU, libGL
 , nspr
 , nss
 , pango
@@ -41,7 +42,7 @@ stdenv.mkDerivation rec {
     sha256 = "1dgxzprpb8f5wpmvlvkxix0xxckfgjsi3wfcy9mb221a17cv0029";
   };
 
-  buildInputs= [ wrapGAppsHook gsettings-desktop-schemas gtk3 gnome3.adwaita-icon-theme gnome3.dconf ];
+  buildInputs= [ wrapGAppsHook gsettings-desktop-schemas gtk3 gnome3.adwaita-icon-theme dconf ];
 
   phases = [ "unpackPhase" "patchPhase" "installPhase" "fixupPhase" ];
 
@@ -75,7 +76,7 @@ stdenv.mkDerivation rec {
       libXrender
       libXt
       libnotify
-      libGLU_combined
+      libGLU libGL
       nspr
       nss
       pango
diff --git a/pkgs/applications/radio/tlf/default.nix b/pkgs/applications/radio/tlf/default.nix
index f45e695486d8..530008702f10 100644
--- a/pkgs/applications/radio/tlf/default.nix
+++ b/pkgs/applications/radio/tlf/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tlf";
-  version = "1.3.2";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "0gniysjm8aq5anq0a0az31vd6h1vyg56bifc7rpf53lsh9hkzmgc";
+    sha256 = "0f97hxiwc6blp5haik871q6zzvwy0b3p2jg8ad2dvaxg07xc76l0";
   };
 
   nativeBuildInputs = [ autoreconfHook autoconf automake pkgconfig perl ];
diff --git a/pkgs/applications/radio/urh/default.nix b/pkgs/applications/radio/urh/default.nix
index d4056dca7bf7..eea9bb9027ca 100644
--- a/pkgs/applications/radio/urh/default.nix
+++ b/pkgs/applications/radio/urh/default.nix
@@ -5,13 +5,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "urh";
-  version = "2.8.0";
+  version = "2.8.1";
 
   src = fetchFromGitHub {
     owner = "jopohl";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1c87lff9bqhf574420ycqz88x6ad5hmy36wrb8pi0dqd1s1d72qb";
+    sha256 = "0vwc1jw1fjirdpavrnvc95bql8023ayrz9srbwn0p6n0ia038948";
   };
 
   nativeBuildInputs = [ qt5.wrapQtAppsHook ];
diff --git a/pkgs/applications/science/astronomy/celestia/default.nix b/pkgs/applications/science/astronomy/celestia/default.nix
index e3ceffd34c19..e72354c86585 100644
--- a/pkgs/applications/science/astronomy/celestia/default.nix
+++ b/pkgs/applications/science/astronomy/celestia/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, freeglut, gtk2, gtkglext, libjpeg_turbo, libtheora, libXmu
-, lua, libGLU_combined, pkgconfig, perl, autoreconfHook
+, lua, libGLU, libGL, pkgconfig, perl, autoreconfHook
 }:
 
 let
@@ -44,7 +44,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ freeglut gtk2 gtkglext libjpeg_turbo libtheora libXmu libGLU_combined lua
+  buildInputs = [ freeglut gtk2 gtkglext libjpeg_turbo libtheora libXmu libGLU libGL lua
     perl autoreconfHook ];
 
   patchPhase = ''
diff --git a/pkgs/applications/science/astronomy/gravit/default.nix b/pkgs/applications/science/astronomy/gravit/default.nix
index 03d0018f237b..15f72938effe 100644
--- a/pkgs/applications/science/astronomy/gravit/default.nix
+++ b/pkgs/applications/science/astronomy/gravit/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, SDL, SDL_ttf, SDL_image, libSM, libICE, libGLU_combined, libpng, lua5, autoconf, automake }:
+{ stdenv, fetchurl, SDL, SDL_ttf, SDL_image, libSM, libICE, libGLU, libGL, libpng, lua5, autoconf, automake }:
 
 stdenv.mkDerivation rec {
   name = "gravit-0.5.1";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "14vf7zj2bgrl96wsl3f1knsggc8h9624354ajzd72l46y09x5ky7";
   };
 
-  buildInputs = [ libGLU_combined SDL SDL_ttf SDL_image lua5 libpng libSM libICE ];
+  buildInputs = [ libGLU libGL SDL SDL_ttf SDL_image lua5 libpng libSM libICE ];
 
   nativeBuildInputs = [ autoconf automake ];
 
diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix
index 59c6a02d3494..1c193c37cb35 100644
--- a/pkgs/applications/science/astronomy/stellarium/default.nix
+++ b/pkgs/applications/science/astronomy/stellarium/default.nix
@@ -1,5 +1,5 @@
 { mkDerivation, lib, fetchFromGitHub
-, cmake, freetype, libpng, libGLU_combined, openssl, perl, libiconv
+, cmake, freetype, libpng, libGLU, libGL, openssl, perl, libiconv
 , qtscript, qtserialport, qttools
 , qtmultimedia, qtlocation, qtbase, wrapQtAppsHook
 }:
@@ -18,7 +18,7 @@ mkDerivation rec {
   nativeBuildInputs = [ cmake perl wrapQtAppsHook ];
 
   buildInputs = [
-    freetype libpng libGLU_combined openssl libiconv qtscript qtserialport qttools
+    freetype libpng libGLU libGL openssl libiconv qtscript qtserialport qttools
     qtmultimedia qtlocation qtbase
   ];
 
diff --git a/pkgs/applications/science/biology/freebayes/default.nix b/pkgs/applications/science/biology/freebayes/default.nix
index e1e84c9423bb..7d0a36e755f6 100644
--- a/pkgs/applications/science/biology/freebayes/default.nix
+++ b/pkgs/applications/science/biology/freebayes/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "freebayes";
-  version = "2017-08-23";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     name = "freebayes-${version}-src";
     owner  = "ekg";
     repo   = "freebayes";
-    rev    = "8d2b3a060da473e1f4f89be04edfce5cba63f1d3";
-    sha256 = "0yyrgk2639lz1yvg4jf0ccahnkic31dy77q05pb3i28rjf37v45z";
+    rev    = "v${version}";
+    sha256 = "035nriknjqq8gvil81vvsmvqwi35v80q8h1cw24vd1gdyn1x7bys";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/science/biology/hmmer/default.nix b/pkgs/applications/science/biology/hmmer/default.nix
index 3adbaf0079ef..69ecb228697b 100644
--- a/pkgs/applications/science/biology/hmmer/default.nix
+++ b/pkgs/applications/science/biology/hmmer/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "3.2.1";
+  version = "3.3";
   pname = "hmmer";
 
   src = fetchurl {
     url = "http://eddylab.org/software/hmmer/${pname}-${version}.tar.gz";
-    sha256 = "171bivy6xhgjsz5nv53n81pc3frnwz29ylblawk2bv46szwjjqd5";
+    sha256 = "0v3kcgkr6jihq0xmpgn2xd5q7wiwvj6yswa905k2c0v7mx0bz1h1";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/science/biology/kallisto/default.nix b/pkgs/applications/science/biology/kallisto/default.nix
index de93ae5d7829..1a6555e0d634 100644
--- a/pkgs/applications/science/biology/kallisto/default.nix
+++ b/pkgs/applications/science/biology/kallisto/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "kallisto";
-  version = "0.46.0";
+  version = "0.46.1";
 
   src = fetchFromGitHub {
     repo = "kallisto";
     owner = "pachterlab";
     rev = "v${version}";
-    sha256 = "09vgdqwpigl4x3sdw5vjfyknsllkli339mh8xapbf7ldm0jldfn9";
+    sha256 = "09ldgy70wziw51ma4a3b7vyrphzf2v1cnq1j5r1wwgfmx8fgbh2z";
   };
 
   nativeBuildInputs = [ autoconf cmake ];
diff --git a/pkgs/applications/science/biology/niftyseg/default.nix b/pkgs/applications/science/biology/niftyseg/default.nix
index 689d3e42c979..f70054e97716 100644
--- a/pkgs/applications/science/biology/niftyseg/default.nix
+++ b/pkgs/applications/science/biology/niftyseg/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     homepage = http://cmictig.cs.ucl.ac.uk/research/software/software-nifty/niftyseg;
     description = "Software for medical image segmentation, bias field correction, and cortical thickness calculation";
     maintainers = with maintainers; [ bcdarwin ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     license   = licenses.bsd3;
   };
 
diff --git a/pkgs/applications/science/biology/paml/default.nix b/pkgs/applications/science/biology/paml/default.nix
index fe6919656d9d..731e31c588fa 100644
--- a/pkgs/applications/science/biology/paml/default.nix
+++ b/pkgs/applications/science/biology/paml/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  version = "4.9i";
+  version = "4.9j";
   pname = "paml";
   src = fetchurl {
     url = "http://abacus.gene.ucl.ac.uk/software/paml${version}.tgz";
-    sha256 = "1k5lcyls6c33ppp5fxl8ply2fy7i2k0gcqaifsl7gnc81d8ay4dw";
+    sha256 = "0qflf3i27x6jwks3c6q560m1q8r043ja96syah145113iz5wdalp";
   };
 
   preBuild = ''
@@ -29,6 +29,5 @@ stdenv.mkDerivation rec {
     longDescription = ''PAML is a package of programs for phylogenetic analyses of DNA or protein sequences using maximum likelihood. It is maintained and distributed for academic use free of charge by Ziheng Yang. ANSI C source codes are distributed for UNIX/Linux/Mac OSX, and executables are provided for MS Windows. PAML is not good for tree making. It may be used to estimate parameters and test hypotheses to study the evolutionary process, when you have reconstructed trees using other programs such as PAUP*, PHYLIP, MOLPHY, PhyML, RaxML, etc.'';
     license     = "non-commercial";
     homepage    = http://abacus.gene.ucl.ac.uk/software/paml.html;
-    broken = true;
   };
 }
diff --git a/pkgs/applications/science/biology/picard-tools/default.nix b/pkgs/applications/science/biology/picard-tools/default.nix
index 5a9cb5de528e..a67653c84373 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 {
   pname = "picard-tools";
-  version = "2.21.1";
+  version = "2.21.3";
 
   src = fetchurl {
     url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
-    sha256 = "0knfx0by7rml19kr5ynb7860iykij1z1mx2hx0bg3s287sld1ppl";
+    sha256 = "0s1gn2bkya41866kd8zj0g8xjbivs763jqmlzdpjz4c25h6xkhns";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/science/chemistry/avogadro/default.nix b/pkgs/applications/science/chemistry/avogadro/default.nix
index a569b82ff59d..6aca678480da 100644
--- a/pkgs/applications/science/chemistry/avogadro/default.nix
+++ b/pkgs/applications/science/chemistry/avogadro/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, qt4, zlib, eigen, openbabel, pkgconfig, libGLU_combined, libX11, doxygen }:
+{ stdenv, fetchurl, cmake, qt4, zlib, eigen, openbabel, pkgconfig, libGLU, libGL, libX11, doxygen }:
 
 stdenv.mkDerivation rec {
   name = "avogadro-1.1.1";
@@ -8,11 +8,11 @@ stdenv.mkDerivation rec {
     sha256 = "050ag9p4vg7jg8hj1wqfv7lsm6ar2isxjw2vw85s49vsl7g7nvzy";
   };
 
-  buildInputs = [ qt4 eigen zlib openbabel libGLU_combined libX11 ];
+  buildInputs = [ qt4 eigen zlib openbabel libGL libGLU libX11 ];
 
   nativeBuildInputs = [ cmake pkgconfig doxygen ];
 
-  NIX_CFLAGS_COMPILE = "-include ${libGLU_combined}/include/GL/glu.h";
+  NIX_CFLAGS_COMPILE = "-include ${libGLU.dev}/include/GL/glu.h";
 
   patches = [
     (fetchurl {
diff --git a/pkgs/applications/science/chemistry/octopus/default.nix b/pkgs/applications/science/chemistry/octopus/default.nix
index 6dec5b3b11f1..d37f8d17336e 100644
--- a/pkgs/applications/science/chemistry/octopus/default.nix
+++ b/pkgs/applications/science/chemistry/octopus/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Real-space time dependent density-functional theory code";
-    homepage = http://octopus-code.org;
+    homepage = https://octopus-code.org;
     maintainers = with maintainers; [ markuskowa ];
     license = licenses.gpl2;
     platforms = [ "x86_64-linux" ];
diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix
index 64c1c3daba82..9b52e8c50519 100644
--- a/pkgs/applications/science/electronics/gtkwave/default.nix
+++ b/pkgs/applications/science/electronics/gtkwave/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gtkwave";
-  version = "3.3.102";
+  version = "3.3.103";
 
   src = fetchurl {
     url    = "mirror://sourceforge/gtkwave/${pname}-${version}.tar.gz";
-    sha256 = "1izyfx6b1n9nr08c7q0gkgcf0q04bb4qz92ckwh74n5l5nwprfw0";
+    sha256 = "1xzaxqbabj4sb4n10yki5acglx3736pwl3kwlq4k7i96rzvsn9f3";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix
index 5d069c5a219f..6b0c998d751a 100644
--- a/pkgs/applications/science/electronics/kicad/default.nix
+++ b/pkgs/applications/science/electronics/kicad/default.nix
@@ -1,4 +1,4 @@
-{ wxGTK, lib, stdenv, fetchurl, fetchFromGitHub, cmake, libGLU_combined, zlib
+{ wxGTK, lib, stdenv, fetchurl, fetchFromGitHub, cmake, libGLU, libGL, zlib
 , libX11, gettext, glew, glm, cairo, curl, openssl, boost, pkgconfig
 , doxygen, pcre, libpthreadstubs, libXdmcp
 , wrapGAppsHook
@@ -63,7 +63,7 @@ in stdenv.mkDerivation rec {
   propagatedBuildInputs = [ pythonPackages.wxPython ];
 
   buildInputs = [
-    libGLU_combined zlib libX11 wxGTK pcre libXdmcp glew glm libpthreadstubs
+    libGLU libGL zlib libX11 wxGTK pcre libXdmcp glew glm libpthreadstubs
     cairo curl openssl boost
     swig (python.withPackages (ps: with ps; [ wxPython ]))
   ] ++ optional (oceSupport) opencascade
diff --git a/pkgs/applications/science/electronics/kicad/unstable.nix b/pkgs/applications/science/electronics/kicad/unstable.nix
index 5310da0699e2..df0d9932b8a0 100644
--- a/pkgs/applications/science/electronics/kicad/unstable.nix
+++ b/pkgs/applications/science/electronics/kicad/unstable.nix
@@ -1,4 +1,4 @@
-{ wxGTK, lib, stdenv, fetchFromGitHub, cmake, libGLU_combined, zlib
+{ wxGTK, lib, stdenv, fetchFromGitHub, cmake, libGLU, libGL, zlib
 , libX11, gettext, glew, glm, cairo, curl, openssl, boost, pkgconfig
 , doxygen, pcre, libpthreadstubs, libXdmcp
 
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake doxygen pkgconfig ];
   buildInputs = [
-    libGLU_combined zlib libX11 wxGTK pcre libXdmcp gettext glew glm libpthreadstubs
+    libGLU libGL zlib libX11 wxGTK pcre libXdmcp gettext glew glm libpthreadstubs
     cairo curl openssl boost
   ] ++ optional (oceSupport) opencascade
     ++ optional (ngspiceSupport) libngspice
diff --git a/pkgs/applications/science/electronics/pcb/default.nix b/pkgs/applications/science/electronics/pcb/default.nix
index 7514aed9f243..93d99928d7d3 100644
--- a/pkgs/applications/science/electronics/pcb/default.nix
+++ b/pkgs/applications/science/electronics/pcb/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, gtk2, bison, intltool, flex
-, netpbm, imagemagick, dbus, xlibsWrapper, libGLU_combined
+, netpbm, imagemagick, dbus, xlibsWrapper, libGLU, libGL
 , shared-mime-info, tcl, tk, gnome2, pangox_compat, gd, xorg
 }:
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
     gtk2 bison intltool flex netpbm imagemagick dbus xlibsWrapper
-    libGLU_combined tcl shared-mime-info tk
+    libGLU libGL tcl shared-mime-info tk
     gnome2.gtkglext pangox_compat gd xorg.libXmu
   ];
 
diff --git a/pkgs/applications/science/electronics/verilator/default.nix b/pkgs/applications/science/electronics/verilator/default.nix
index b59f628dfe9f..98deda0ae6b2 100644
--- a/pkgs/applications/science/electronics/verilator/default.nix
+++ b/pkgs/applications/science/electronics/verilator/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "verilator";
-  version = "4.020";
+  version = "4.022";
 
   src = fetchurl {
     url    = "https://www.veripool.org/ftp/${pname}-${version}.tgz";
-    sha256 = "06n3vds762vza4byrav0j3kp3aivvadndkgw7nirvasclp19zmxb";
+    sha256 = "1sj0qzl387pl2ygii3ssx35c3m601nb07j16lqj5zcxzhcg62i9p";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/science/logic/aspino/default.nix b/pkgs/applications/science/logic/aspino/default.nix
index d6190942efab..6af7eaf3a5b8 100644
--- a/pkgs/applications/science/logic/aspino/default.nix
+++ b/pkgs/applications/science/logic/aspino/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation {
     maintainers = with maintainers; [ gebner ma27 ];
     platforms = platforms.unix;
     license = licenses.asl20;
-    homepage = http://alviano.net/software/maxino/;
+    homepage = https://alviano.net/software/maxino/;
     # See pkgs/applications/science/logic/glucose/default.nix
     badPlatforms = [ "aarch64-linux" ];
   };
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix
index a463a2c5f3a2..bf2d0396f697 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/default.nix
@@ -124,7 +124,7 @@ self = stdenv.mkDerivation {
   setupHook = writeText "setupHook.sh" ''
     addCoqPath () {
       if test -d "''$1/lib/coq/${coq-version}/user-contrib"; then
-        export COQPATH="''${COQPATH}''${COQPATH:+:}''$1/lib/coq/${coq-version}/user-contrib/"
+        export COQPATH="''${COQPATH-}''${COQPATH:+:}''$1/lib/coq/${coq-version}/user-contrib/"
       fi
     }
 
diff --git a/pkgs/applications/science/logic/mcrl2/default.nix b/pkgs/applications/science/logic/mcrl2/default.nix
index 93212c5b8546..a479e31e3395 100644
--- a/pkgs/applications/science/logic/mcrl2/default.nix
+++ b/pkgs/applications/science/logic/mcrl2/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, cmake, libGLU_combined, qt5, boost}:
+{stdenv, fetchurl, cmake, libGLU, libGL, qt5, boost}:
 
 stdenv.mkDerivation rec {
   version = "201707";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "1c8h94ja7271ph61zrcgnjgblxppld6v22f7f900prjgzbcfy14m";
   };
 
-  buildInputs = [ cmake libGLU_combined qt5.qtbase boost ];
+  buildInputs = [ cmake libGLU libGL qt5.qtbase boost ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/science/machine-learning/streamlit/default.nix b/pkgs/applications/science/machine-learning/streamlit/default.nix
index f3d142739b8f..c7bdf0f12a40 100644
--- a/pkgs/applications/science/machine-learning/streamlit/default.nix
+++ b/pkgs/applications/science/machine-learning/streamlit/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonApplication rec {
   pname = "streamlit";
-  version = "0.49.0";
+  version = "0.50.2";
   format = "wheel"; # the only distribution available
 
   src = fetchPypi {
     inherit pname version format;
-    sha256 = "1g12z93yh85vcgf3g9banshllr5fhz8i4f9llymcnk6mafvcsiv7";
+    sha256 = "1wymv7qckafs0p2jdjlxjaf1xrhm3iyd185jkldanbb0na5n3ndz";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/science/math/giac/default.nix b/pkgs/applications/science/math/giac/default.nix
index 90b1b367a7c4..862761fe6fb5 100644
--- a/pkgs/applications/science/math/giac/default.nix
+++ b/pkgs/applications/science/math/giac/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, fetchpatch, texlive, bison, flex, liblapack
 , gmp, mpfr, pari, ntl, gsl, blas, mpfi, ecm, glpk, nauty
 , readline, gettext, libpng, libao, gfortran, perl
-, enableGUI ? false, libGLU_combined ? null, xorg ? null, fltk ? null
+, enableGUI ? false, libGL ? null, libGLU ? null, xorg ? null, fltk ? null
 }:
 
-assert enableGUI -> libGLU_combined != null && xorg != null && fltk != null;
+assert enableGUI -> libGLU != null && libGL != null && xorg != null && fltk != null;
 
 stdenv.mkDerivation rec {
   name = "${attr}-${version}";
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     (stdenv.lib.getLib gfortran.cc)
     liblapack
   ] ++ stdenv.lib.optionals enableGUI [
-    libGLU_combined fltk xorg.libX11
+    libGL libGLU fltk xorg.libX11
   ];
 
   /* fixes:
diff --git a/pkgs/applications/science/math/glsurf/default.nix b/pkgs/applications/science/math/glsurf/default.nix
index 1cd5e364208a..c11110e4bc49 100644
--- a/pkgs/applications/science/math/glsurf/default.nix
+++ b/pkgs/applications/science/math/glsurf/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ocamlPackages, libGLU_combined, freeglut
+{ stdenv, fetchurl, ocamlPackages, libGLU, libGL, freeglut
 , libmysqlclient, mpfr, gmp, libtiff, libjpeg, libpng, giflib
 }:
 
@@ -6,11 +6,11 @@ stdenv.mkDerivation {
   name = "glsurf-3.3.1";
 
   src = fetchurl {
-    url = "https://lama.univ-savoie.fr/~raffalli/glsurf/glsurf-3.3.1.tar.gz";
+    url = "https://raffalli.eu/~christophe/glsurf/glsurf-3.3.1.tar.gz";
     sha256 = "0w8xxfnw2snflz8wdr2ca9f5g91w5vbyp1hwlx1v7vg83d4bwqs7";
   };
 
-  buildInputs = [ freeglut libGLU_combined libmysqlclient mpfr gmp
+  buildInputs = [ freeglut libGLU libGL libmysqlclient mpfr gmp
     libtiff libjpeg libpng giflib ]
   ++ (with ocamlPackages; [
     ocaml findlib ocaml_mysql lablgl camlimages_4_0 mlgmpidl
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    homepage = http://www.lama.univ-savoie.fr/~raffalli/glsurf;
+    homepage = https://raffalli.eu/~christophe/glsurf/;
     description = "A program to draw implicit surfaces and curves";
     license = stdenv.lib.licenses.lgpl21;
   };
diff --git a/pkgs/applications/science/math/gmsh/default.nix b/pkgs/applications/science/math/gmsh/default.nix
index 1d96c0039ad1..66c41bb073af 100644
--- a/pkgs/applications/science/math/gmsh/default.nix
+++ b/pkgs/applications/science/math/gmsh/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, openblasCompat, gfortran, gmm, fltk, libjpeg
-, zlib, libGLU_combined, libGLU, xorg, opencascade-occt }:
+, zlib, libGL, libGLU, xorg, opencascade-occt }:
 
 stdenv.mkDerivation rec {
   pname = "gmsh";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "1p7hibmsgv961lfkzdxlgcvmcb0q155m2sp60r97cjsfzhw68g45";
   };
 
-  buildInputs = [ openblasCompat gmm fltk libjpeg zlib libGLU_combined
+  buildInputs = [ openblasCompat gmm fltk libjpeg zlib libGLU libGL
     libGLU xorg.libXrender xorg.libXcursor xorg.libXfixes xorg.libXext
     xorg.libXft xorg.libXinerama xorg.libX11 xorg.libSM xorg.libICE
     opencascade-occt
diff --git a/pkgs/applications/science/math/pspp/default.nix b/pkgs/applications/science/math/pspp/default.nix
index c53e87caa9ad..3c263916a0eb 100644
--- a/pkgs/applications/science/math/pspp/default.nix
+++ b/pkgs/applications/science/math/pspp/default.nix
@@ -1,7 +1,6 @@
 { stdenv, fetchurl, libxml2, readline, zlib, perl, cairo, gtk3, gsl
-, pkgconfig, gtksourceview, pango, gettext
+, pkgconfig, gtksourceview, pango, gettext, dconf
 , makeWrapper, gsettings-desktop-schemas, hicolor-icon-theme
-, gnome3
 }:
 
 stdenv.mkDerivation rec {
@@ -26,7 +25,7 @@ stdenv.mkDerivation rec {
      --prefix XDG_DATA_DIRS : "$out/share" \
      --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS" \
      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
-     --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib gnome3.dconf}/lib/gio/modules"
+     --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules"
   '';
 
   meta = {
diff --git a/pkgs/applications/science/medicine/aliza/default.nix b/pkgs/applications/science/medicine/aliza/default.nix
index 2633f4c8db1b..e135534d1acf 100644
--- a/pkgs/applications/science/medicine/aliza/default.nix
+++ b/pkgs/applications/science/medicine/aliza/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, rpmextract, makeWrapper, patchelf, qt4, zlib, libX11, libXt, libSM, libICE, libXext, libGLU_combined }:
+{ stdenv, fetchurl, rpmextract, makeWrapper, patchelf, qt4, zlib, libX11, libXt, libSM, libICE, libXext, libGLU, libGL }:
 
 with stdenv.lib;
 stdenv.mkDerivation {
@@ -27,7 +27,7 @@ stdenv.mkDerivation {
   '';
 
   postInstall = let
-    libs = stdenv.lib.makeLibraryPath [ qt4 zlib stdenv.cc.cc libSM libICE libX11 libXext libXt libGLU_combined ];
+    libs = stdenv.lib.makeLibraryPath [ qt4 zlib stdenv.cc.cc libSM libICE libX11 libXext libXt libGLU libGL ];
   in ''
     ${patchelf}/bin/patchelf \
       --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
@@ -46,7 +46,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Medical imaging software with 2D, 3D and 4D capabilities";
-    homepage = http://www.aliza-dicom-viewer.com;
+    homepage = https://www.aliza-dicom-viewer.com;
     license = licenses.unfreeRedistributable;
     maintainers = with maintainers; [ mounium ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/science/misc/boinc/default.nix b/pkgs/applications/science/misc/boinc/default.nix
index c806b558da0e..38b9b8ec66d1 100644
--- a/pkgs/applications/science/misc/boinc/default.nix
+++ b/pkgs/applications/science/misc/boinc/default.nix
@@ -1,5 +1,5 @@
 { fetchFromGitHub, stdenv, autoconf, automake, pkgconfig, m4, curl,
-libGLU_combined, libXmu, libXi, freeglut, libjpeg, libtool, wxGTK30, xcbutil,
+libGLU, libGL, libXmu, libXi, freeglut, libjpeg, libtool, wxGTK30, xcbutil,
 sqlite, gtk2, patchelf, libXScrnSaver, libnotify, libX11, libxcb }:
 
 let
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ libtool automake autoconf m4 pkgconfig ];
 
   buildInputs = [
-    curl libGLU_combined libXmu libXi freeglut libjpeg wxGTK30 sqlite gtk2 libXScrnSaver
+    curl libGLU libGL libXmu libXi freeglut libjpeg wxGTK30 sqlite gtk2 libXScrnSaver
     libnotify patchelf libX11 libxcb xcbutil
   ];
 
diff --git a/pkgs/applications/science/misc/golly/beta.nix b/pkgs/applications/science/misc/golly/beta.nix
index 99159fba5b43..36de6a1d4c50 100644
--- a/pkgs/applications/science/misc/golly/beta.nix
+++ b/pkgs/applications/science/misc/golly/beta.nix
@@ -1,5 +1,5 @@
 {stdenv, fetchgit
-, wxGTK, perl, python2, zlib, libGLU_combined, libX11
+, wxGTK, perl, python2, zlib, libGLU, libGL, libX11
 , automake, autoconf
 }:
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [autoconf automake];
 
   buildInputs = [
-    wxGTK perl python2 zlib libGLU_combined libX11
+    wxGTK perl python2 zlib libGLU libGL libX11
   ];
 
   # Link against Python explicitly as it is needed for scripts
diff --git a/pkgs/applications/science/misc/golly/default.nix b/pkgs/applications/science/misc/golly/default.nix
index 4af233a6d55f..1478bb643181 100644
--- a/pkgs/applications/science/misc/golly/default.nix
+++ b/pkgs/applications/science/misc/golly/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, wxGTK, perl, python2, zlib, libGLU_combined, libX11}:
+{stdenv, fetchurl, wxGTK, perl, python2, zlib, libGLU, libGL, libX11}:
 stdenv.mkDerivation rec {
   pname = "golly";
   version = "3.3";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    wxGTK perl python2 zlib libGLU_combined libX11
+    wxGTK perl python2 zlib libGLU libGL libX11
   ];
 
   setSourceRoot = ''
diff --git a/pkgs/applications/science/misc/gplates/default.nix b/pkgs/applications/science/misc/gplates/default.nix
index b394639fd0cc..9b510d432fb3 100644
--- a/pkgs/applications/science/misc/gplates/default.nix
+++ b/pkgs/applications/science/misc/gplates/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, qt4, qwt6_qt4, libGLU_combined, glew, gdal_1_11, cgal
+{ stdenv, fetchurl, qt4, qwt6_qt4, libGLU, libGL, glew, gdal_1_11, cgal
 , proj, boost, cmake, python2, doxygen, graphviz, gmp }:
 
 stdenv.mkDerivation rec {
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    qt4 qwt6_qt4 libGLU_combined glew gdal_1_11 cgal proj boost cmake python2
+    qt4 qwt6_qt4 libGLU libGL glew gdal_1_11 cgal proj boost cmake python2
     doxygen graphviz gmp
   ];
 
diff --git a/pkgs/applications/science/misc/root/5.nix b/pkgs/applications/science/misc/root/5.nix
index 2145d7e71d33..8422eb8752b1 100644
--- a/pkgs/applications/science/misc/root/5.nix
+++ b/pkgs/applications/science/misc/root/5.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchpatch, cmake, pcre, pkgconfig, python2
-, libX11, libXpm, libXft, libXext, libGLU_combined, zlib, libxml2, lzma, gsl_1
+, libX11, libXpm, libXft, libXext, libGLU, libGL, zlib, libxml2, lzma, gsl_1
 , Cocoa, OpenGL, noSplash ? false }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ cmake pcre python2 zlib libxml2 lzma gsl_1 ]
-    ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU_combined ]
+    ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ]
     ++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ]
     ;
 
diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix
index 690dc920d5c8..ada2f0b44adb 100644
--- a/pkgs/applications/science/misc/root/default.nix
+++ b/pkgs/applications/science/misc/root/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, pcre, pkgconfig, python2
-, libX11, libXpm, libXft, libXext, libGLU_combined, zlib, libxml2, lz4, lzma, gsl, xxHash
+, libX11, libXpm, libXft, libXext, libGLU, libGL, zlib, libxml2, lz4, lzma, gsl, xxHash
 , Cocoa, OpenGL, noSplash ? false }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ cmake pcre python2 zlib libxml2 lz4 lzma gsl xxHash ]
-    ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU_combined ]
+    ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ]
     ++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ]
     ;
 
diff --git a/pkgs/applications/science/misc/root/setup-hook.sh b/pkgs/applications/science/misc/root/setup-hook.sh
index fc2b697d8a82..b26cf9b779f8 100644
--- a/pkgs/applications/science/misc/root/setup-hook.sh
+++ b/pkgs/applications/science/misc/root/setup-hook.sh
@@ -1,9 +1,13 @@
 thisroot () {
     # Workaround thisroot.sh dependency on man
-    if [ -z "${MANPATH}" ]; then
+    if [ -z "${MANPATH-}" ]; then
         MANPATH=:
     fi
+    local oldOpts="-u"
+    shopt -qo nounset || oldOpts="+u"
+    set +u
     source @out@/bin/thisroot.sh
+    set "$oldOpts"
 }
 
 postHooks+=(thisroot)
diff --git a/pkgs/applications/science/misc/tulip/default.nix b/pkgs/applications/science/misc/tulip/default.nix
index 509cdeaee611..3f83f2f30a67 100644
--- a/pkgs/applications/science/misc/tulip/default.nix
+++ b/pkgs/applications/science/misc/tulip/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, libxml2, freetype, libGLU_combined, glew, qt4
+{ fetchurl, stdenv, libxml2, freetype, libGLU, libGL, glew, qt4
 , cmake, makeWrapper, libjpeg, python }:
 
 let version = "5.2.1"; in
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0bqmqy6sri87a8xv5xf7ffaq5zin4hiaa13g0l64b84i7yckfwky";
   };
 
-  buildInputs = [ libxml2 freetype glew libGLU_combined qt4 libjpeg python ];
+  buildInputs = [ libxml2 freetype glew libGLU libGL qt4 libjpeg python ];
 
   nativeBuildInputs = [ cmake makeWrapper ];
 
diff --git a/pkgs/applications/science/misc/vite/default.nix b/pkgs/applications/science/misc/vite/default.nix
index 64482ddd74bc..20c259a9d0c2 100644
--- a/pkgs/applications/science/misc/vite/default.nix
+++ b/pkgs/applications/science/misc/vite/default.nix
@@ -1,4 +1,4 @@
-{ fetchsvn, stdenv, cmake, qt4, libGLU_combined }:
+{ fetchsvn, stdenv, cmake, qt4, libGLU, libGL }:
 
 # ViTE 1.1 has several bugs, so use the SVN version.
 let
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
     ln -sv "${externals}" externals
   '';
 
-  buildInputs = [ cmake qt4 libGLU_combined ];
+  buildInputs = [ cmake qt4 libGLU libGL ];
 
   NIX_LDFLAGS = "-lGLU";
 
diff --git a/pkgs/applications/search/catfish/default.nix b/pkgs/applications/search/catfish/default.nix
index bce5795a9c7e..3190c5e5d10f 100644
--- a/pkgs/applications/search/catfish/default.nix
+++ b/pkgs/applications/search/catfish/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, file, which, intltool, gobject-introspection,
-  findutils, xdg_utils, gnome3, gtk3, pythonPackages,
+  findutils, xdg_utils, dconf, gtk3, pythonPackages,
   wrapGAppsHook
 }:
 
@@ -25,7 +25,7 @@ pythonPackages.buildPythonApplication rec {
 
   buildInputs = [
     gtk3
-    gnome3.dconf
+    dconf
     pythonPackages.pyxdg
     pythonPackages.ptyprocess
     pythonPackages.pycairo
diff --git a/pkgs/applications/version-management/bcompare/default.nix b/pkgs/applications/version-management/bcompare/default.nix
index 8f862af0a282..d8a6ec058448 100644
--- a/pkgs/applications/version-management/bcompare/default.nix
+++ b/pkgs/applications/version-management/bcompare/default.nix
@@ -1,4 +1,4 @@
-{ autoPatchelfHook, bzip2, cairo, coreutils, fetchurl, gdk-pixbuf, gnome2, gtk2, kcoreaddons, ki18n, kio, kservice, lib, qt4, qt511, qtbase, stdenv, runtimeShell }:
+{ autoPatchelfHook, bzip2, cairo, coreutils, fetchurl, gdk-pixbuf, gnome2, gtk2, kcoreaddons, ki18n, kio, kservice, lib, qt4, qtbase, stdenv, runtimeShell }:
 
 stdenv.mkDerivation rec {
   pname = "bcompare";
diff --git a/pkgs/applications/version-management/bugseverywhere/default.nix b/pkgs/applications/version-management/bugseverywhere/default.nix
deleted file mode 100644
index 7d1de378f53d..000000000000
--- a/pkgs/applications/version-management/bugseverywhere/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, pythonPackages, fetchurl }:
-
-#
-# Upstream stopped development of this package. If this package does not build
-# anymore, feel free to remove it by reverting the appropriate patch
-# (git log --grep bugseverywhere)
-#
-pythonPackages.buildPythonApplication rec {
-    version = "1.1.1";
-    pname = "bugseverywhere";
-
-    src = fetchurl {
-      url =
-      "mirror://pypi/b/bugs-everywhere/bugs-everywhere-${version}.tar.gz";
-      sha256 = "1ikm3ckwpimwcvx32vy7gh5gbp7q750j3327m17nvrj99g3daz2d";
-    };
-
-    # There are no tests in the repository.
-    doCheck = false;
-
-    buildInputs = with pythonPackages; [
-        jinja2
-        cherrypy
-    ];
-
-    meta = with stdenv.lib; {
-        description = "Bugtracker supporting distributed revision control";
-        homepage = http://www.bugseverywhere.org/;
-        license = licenses.gpl2Plus;
-        platforms = platforms.all;
-        maintainers = [ maintainers.matthiasbeyer ];
-    };
-}
-
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index db82cc541351..d57ffd75d7f2 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -103,6 +103,8 @@ let
 
   git-imerge = callPackage ./git-imerge { };
 
+  git-machete = python3Packages.callPackage ./git-machete { };
+
   git-octopus = callPackage ./git-octopus { };
 
   git-open = callPackage ./git-open { };
@@ -127,6 +129,8 @@ let
 
   git-subrepo = callPackage ./git-subrepo { };
 
+  git-subtrac = callPackage ./git-subtrac { };
+
   git-sync = callPackage ./git-sync { };
 
   git-test = callPackage ./git-test { };
diff --git a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
new file mode 100644
index 000000000000..32d3465016c8
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
@@ -0,0 +1,33 @@
+{ lib, buildPythonApplication, fetchPypi
+, installShellFiles, pbr
+, flake8, mock, pycodestyle, pylint, tox }:
+
+buildPythonApplication rec {
+  pname = "git-machete";
+  version = "2.12.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0kmwm9rwngxm2qdlv6nvxyhwpfa0i95kbrmasrj1qqdz7rmyyzmi";
+  };
+
+  nativeBuildInputs = [ installShellFiles pbr ];
+
+  # TODO: Add missing check inputs (2019-11-22):
+  # - stestr
+  doCheck = false;
+  checkInputs = [ flake8 mock pycodestyle pylint tox ];
+
+  postInstall = ''
+      installShellCompletion --bash --name git-machete completion/git-machete.completion.bash
+      installShellCompletion --zsh --name _git-machete completion/git-machete.completion.zsh
+  '';
+
+  meta = with lib; {
+    homepage = https://github.com/VirtusLab/git-machete;
+    description = "Git repository organizer and rebase workflow automation tool";
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = [ maintainers.blitz ];
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix b/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix
index b196d39b46f6..969ea7cc2fa6 100644
--- a/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-subrepo/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/ingydotnet/git-subrepo;
     description = "Git submodule alternative";
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.unix ++ platforms.darwin;
     maintainers = [ maintainers.ryantrinkle ];
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/git-subtrac/default.nix b/pkgs/applications/version-management/git-and-tools/git-subtrac/default.nix
new file mode 100644
index 000000000000..07c63ea0119b
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-subtrac/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "git-subtrac";
+  version = "0.01";
+
+  src = fetchFromGitHub {
+    owner = "apenwarr";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1w6gd0x1902lzpqr74gsdrnxq36f6v14bv8h0vhlrfhbwbsih7n6";
+  };
+
+  modSha256 = "147vzllp1gydk2156hif313vwykagrj35vaiqy1swqczxs7p9hhs";
+
+  meta = with lib; {
+    description = "Keep the content for your git submodules all in one place: the parent repo";
+    homepage = "https://github.com/apenwarr/git-subtrac";
+    license = licenses.asl20;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index a6b53561771d..7fdb659890a9 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, buildPackages
-, curl, openssl, zlib, expat, perlPackages, python, gettext, cpio
+, curl, openssl, zlib, expat, perlPackages, python3, gettext, cpio
 , gnugrep, gnused, gawk, coreutils # needed at runtime by git-filter-branch etc
 , openssh, pcre2
 , asciidoc, texinfo, xmlto, docbook2x, docbook_xsl, docbook_xml_dtd_45
@@ -91,7 +91,7 @@ stdenv.mkDerivation {
     "SHELL_PATH=${stdenv.shell}"
   ]
   ++ (if perlSupport then ["PERL_PATH=${perlPackages.perl}/bin/perl"] else ["NO_PERL=1"])
-  ++ (if pythonSupport then ["PYTHON_PATH=${python}/bin/python"] else ["NO_PYTHON=1"])
+  ++ (if pythonSupport then ["PYTHON_PATH=${python3}/bin/python"] else ["NO_PYTHON=1"])
   ++ stdenv.lib.optionals stdenv.isSunOS ["INSTALL=install" "NO_INET_NTOP=" "NO_INET_PTON="]
   ++ (if stdenv.isDarwin then ["NO_APPLE_COMMON_CRYPTO=1"] else ["sysconfdir=/etc"])
   ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl ["NO_SYS_POLL_H=1" "NO_GETTEXT=YesPlease"]
@@ -253,7 +253,10 @@ stdenv.mkDerivation {
   installCheckTarget = "test";
 
   # see also installCheckFlagsArray
-  installCheckFlags = "DEFAULT_TEST_TARGET=prove";
+  installCheckFlags = [
+    "DEFAULT_TEST_TARGET=prove"
+    "PERL_PATH=${buildPackages.perl}/bin/perl"
+  ];
 
   preInstallCheck = ''
     installCheckFlagsArray+=(
@@ -296,8 +299,19 @@ stdenv.mkDerivation {
     # Tested to fail: 2.18.0
     disable_test t9902-completion "sourcing the completion script clears cached --options"
 
+    ${stdenv.lib.optionalString (!perlSupport) ''
+      # request-pull is a Bash script that invokes Perl, so it is not available
+      # when NO_PERL=1, and the test should be skipped, but the test suite does
+      # not check for the Perl prerequisite.
+      disable_test t5150-request-pull
+    ''}
+
     # As of 2.19.0, t5562 refers to #!/usr/bin/perl
     patchShebangs t/t5562/invoke-with-content-length.pl
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    # XXX: Some tests added in 2.24.0 fail.
+    # Please try to re-enable on the next release.
+    disable_test t7816-grep-binary-pattern
   '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
     # Test fails (as of 2.17.0, musl 1.1.19)
     disable_test t3900-i18n-commit
diff --git a/pkgs/applications/version-management/git-and-tools/git/update.sh b/pkgs/applications/version-management/git-and-tools/git/update.sh
index 05944014743f..1f1a29782eca 100755
--- a/pkgs/applications/version-management/git-and-tools/git/update.sh
+++ b/pkgs/applications/version-management/git-and-tools/git/update.sh
@@ -3,7 +3,7 @@
 
 set -eu -o pipefail
 
-oldVersion="$(nix-instantiate --eval -E "with import ./. {}; git.version or (builtins.parseDrvName git.name).version" | tr -d '"')"
+oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion git" | tr -d '"')"
 latestTag="$(git ls-remote --tags --sort="v:refname" git://github.com/git/git.git | grep -v '\{\}' | grep -v '\-rc' | tail -1 | sed 's|^.*/v\(.*\)|\1|')"
 
 if [ ! "${oldVersion}" = "${latestTag}" ]; then
diff --git a/pkgs/applications/version-management/git-and-tools/subgit/default.nix b/pkgs/applications/version-management/git-and-tools/subgit/default.nix
index 03933788551c..3636ad11fb6e 100644
--- a/pkgs/applications/version-management/git-and-tools/subgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/subgit/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, unzip, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  name = "subgit-3.3.8";
+  name = "subgit-3.3.9";
 
   meta = {
     description = "A tool for a smooth, stress-free SVN to Git migration";
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://subgit.com/download/${name}.zip";
-    sha256 = "0gvyyr4prx1v06f9j9fmmr8br1gjd45bnncl40c9agiqsyy0q06n";
+    sha256 = "0dwd2kymmprci3b61ayr6axzlkc8zgbc40jqxvvyzschfxw9y0v5";
   };
 }
diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix
index b4fee1c90fac..d5abb6d004b0 100644
--- a/pkgs/applications/version-management/git-repo/default.nix
+++ b/pkgs/applications/version-management/git-repo/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-repo";
-  version = "1.13.7.1";
+  version = "1.13.8";
 
   src = fetchFromGitHub {
     owner = "android";
     repo = "tools_repo";
     rev = "v${version}";
-    sha256 = "0acsvrc45kdwpj5mi5i61mibr1fdx4g4835c3b8x0fdgrya4n37c";
+    sha256 = "1wmzgijmssgwkkw8g4zgmc4x64xkvz6nq1b3szcvawgv1ndwnb2j";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index 6a7a42bacc11..8a22f8c3dc11 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.9.5";
+  version = "1.10.0";
 
   src = fetchFromGitHub {
     owner = "go-gitea";
     repo = "gitea";
     rev = "v${version}";
-    sha256 = "07isawbasshkgij2mh7pmp6h3ns758ysflngr18z0k2m38ny9h31";
+    sha256 = "19r0gbp4q2sk3br17625m8jinlglijjknqs5y20w3kzxrifrjrmk";
     # 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/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index 42cc127e40d0..b2a9c2a28fc1 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,13 +1,13 @@
 {
-  "version": "12.4.2",
-  "repo_hash": "00y8n0y7wydwxq62fyf7hcpx90zz5sw458m2773lz7pdgnpnrdc2",
+  "version": "12.5.2",
+  "repo_hash": "18mviak37rkpj92m0hzh79rjbfsk8p91r5zzjp7y3y4qjnsf2a8p",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v12.4.2-ee",
+  "rev": "v12.5.2-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "1.67.0",
-    "GITLAB_PAGES_VERSION": "1.11.0",
+    "GITALY_SERVER_VERSION": "1.72.1",
+    "GITLAB_PAGES_VERSION": "1.12.0",
     "GITLAB_SHELL_VERSION": "10.2.0",
-    "GITLAB_WORKHORSE_VERSION": "8.14.0"
+    "GITLAB_WORKHORSE_VERSION": "8.14.1"
   }
 }
\ No newline at end of file
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index 0075f91ae2d8..60035990ed02 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchurl, fetchFromGitLab, bundlerEnv
 , ruby, tzdata, git, nettools, nixosTests, nodejs
 , gitlabEnterprise ? false, callPackage, yarn
-, yarn2nix-moretea, replace
+, fixup_yarn_lock, replace
 }:
 
 let
@@ -62,7 +62,12 @@ let
       yarn config --offline set yarn-offline-mirror ${yarnOfflineCache}
 
       # Fixup "resolved"-entries in yarn.lock to match our offline cache
-      ${yarn2nix-moretea.fixup_yarn_lock}/bin/fixup_yarn_lock yarn.lock
+      ${fixup_yarn_lock}/bin/fixup_yarn_lock yarn.lock
+
+      # fixup_yarn_lock currently doesn't correctly fix the dagre-d3
+      # url, so we have to do it manually
+      ${replace}/bin/replace-literal -f -e '"https://codeload.github.com/dagrejs/dagre-d3/tar.gz/e1a00e5cb518f5d2304a35647e024f31d178e55b"' \
+                                           '"https___codeload.github.com_dagrejs_dagre_d3_tar.gz_e1a00e5cb518f5d2304a35647e024f31d178e55b"' yarn.lock
 
       yarn install --offline --frozen-lockfile --ignore-scripts --no-progress --non-interactive
 
diff --git a/pkgs/applications/version-management/gitlab/gitaly/Gemfile b/pkgs/applications/version-management/gitlab/gitaly/Gemfile
index 9478dc9a84b4..841f6bfdefc5 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/Gemfile
+++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile
@@ -4,13 +4,13 @@ source 'https://rubygems.org'
 gem 'bundler', '>= 1.17.3'
 
 gem 'rugged', '~> 0.28'
-gem 'github-linguist', '~> 6.1', require: 'linguist'
+gem 'github-linguist', '~> 7.5', require: 'linguist'
 gem 'gitlab-markup', '~> 1.7.0'
 gem 'activesupport', '~> 5.2.3'
-gem 'rdoc', '~> 4.2'
+gem 'rdoc', '~> 6.0'
 gem 'gitlab-gollum-lib', '~> 4.2.7.7', require: false
 gem 'gitlab-gollum-rugged_adapter', '~> 0.4.4.2', require: false
-gem 'grpc', '~> 1.19.0'
+gem 'grpc', '~> 1.24.0'
 gem 'sentry-raven', '~> 2.9.0', require: false
 gem 'faraday', '~> 0.12'
 gem 'rbtrace', require: false
@@ -22,7 +22,7 @@ gem 'gitlab-labkit', '~> 0.5.0'
 # This version needs to be in sync with GitLab CE/EE
 gem 'licensee', '~> 8.9.0'
 
-gem 'google-protobuf', '~> 3.7.1'
+gem 'google-protobuf', '~> 3.8.0'
 
 group :development, :test do
   gem 'rubocop', '~> 0.69', require: false
diff --git a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
index cb292af8cc3f..90c4e1bccea6 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/gitaly/Gemfile.lock
@@ -49,10 +49,10 @@ GEM
     ffi (1.11.1)
     gemojione (3.3.0)
       json
-    github-linguist (6.4.1)
+    github-linguist (7.5.1)
       charlock_holmes (~> 0.7.6)
       escape_utils (~> 1.2.0)
-      mime-types (>= 1.19)
+      mini_mime (~> 1.0)
       rugged (>= 0.25.1)
     github-markup (1.7.0)
     gitlab-gollum-lib (4.2.7.7)
@@ -81,12 +81,12 @@ GEM
     gitlab-markup (1.7.0)
     gollum-grit_adapter (1.0.1)
       gitlab-grit (~> 2.7, >= 2.7.1)
-    google-protobuf (3.7.1)
+    google-protobuf (3.8.0)
     googleapis-common-protos-types (1.0.4)
       google-protobuf (~> 3.0)
-    grpc (1.19.0)
-      google-protobuf (~> 3.1)
-      googleapis-common-protos-types (~> 1.0.0)
+    grpc (1.24.0)
+      google-protobuf (~> 3.8)
+      googleapis-common-protos-types (~> 1.0)
     hashdiff (0.3.9)
     i18n (1.6.0)
       concurrent-ruby (~> 1.0)
@@ -99,7 +99,7 @@ GEM
     licensee (8.9.2)
       rugged (~> 0.24)
     listen (0.5.3)
-    loofah (2.2.3)
+    loofah (2.3.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     memoizable (0.4.2)
@@ -108,12 +108,13 @@ GEM
     mime-types (3.2.2)
       mime-types-data (~> 3.2015)
     mime-types-data (3.2019.0331)
+    mini_mime (1.0.2)
     mini_portile2 (2.4.0)
     minitest (5.11.3)
     msgpack (1.3.0)
     multi_json (1.13.1)
     multipart-post (2.0.0)
-    nokogiri (1.10.4)
+    nokogiri (1.10.5)
       mini_portile2 (~> 2.4.0)
     nokogumbo (1.5.0)
       nokogiri
@@ -138,14 +139,14 @@ GEM
     rails-dom-testing (2.0.3)
       activesupport (>= 4.2.0)
       nokogiri (>= 1.6)
-    rails-html-sanitizer (1.2.0)
-      loofah (~> 2.2, >= 2.2.2)
+    rails-html-sanitizer (1.3.0)
+      loofah (~> 2.3)
     rainbow (3.0.0)
     rbtrace (0.4.11)
       ffi (>= 1.0.6)
       msgpack (>= 0.4.3)
       optimist (>= 3.0.0)
-    rdoc (4.3.0)
+    rdoc (6.2.0)
     redis (4.1.2)
     rouge (3.11.0)
     rspec (3.8.0)
@@ -217,18 +218,18 @@ DEPENDENCIES
   bundler (>= 1.17.3)
   factory_bot
   faraday (~> 0.12)
-  github-linguist (~> 6.1)
+  github-linguist (~> 7.5)
   gitlab-gollum-lib (~> 4.2.7.7)
   gitlab-gollum-rugged_adapter (~> 0.4.4.2)
   gitlab-labkit (~> 0.5.0)
   gitlab-markup (~> 1.7.0)
-  google-protobuf (~> 3.7.1)
-  grpc (~> 1.19.0)
+  google-protobuf (~> 3.8.0)
+  grpc (~> 1.24.0)
   licensee (~> 8.9.0)
   listen (~> 0.5.0)
   pry (~> 0.12.2)
   rbtrace
-  rdoc (~> 4.2)
+  rdoc (~> 6.0)
   rspec
   rspec-parameterized
   rubocop (~> 0.69)
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index dd17618dc748..2c7641622306 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -17,14 +17,14 @@ let
       };
   };
 in buildGoPackage rec {
-  version = "1.67.0";
+  version = "1.72.1";
   pname = "gitaly";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitaly";
     rev = "v${version}";
-    sha256 = "1mj2l15hnxwqmyc8xn79d6qpmpqbqw2ishalr8qvn83nzdsbk8l3";
+    sha256 = "0gnhw7p8fgy3w15828qjgkkxcd4dg7gf1hpanc3xqawb8jqpfc91";
   };
 
   goPackagePath = "gitlab.com/gitlab-org/gitaly";
diff --git a/pkgs/applications/version-management/gitlab/gitaly/deps.nix b/pkgs/applications/version-management/gitlab/gitaly/deps.nix
index 34c30f710540..5f3a324a8021 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/deps.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/deps.nix
@@ -19,6 +19,42 @@
     };
   }
   {
+    goPackagePath = "github.com/Joker/hpp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Joker/hpp";
+      rev = "6893e659854a";
+      sha256 = "0lsx63c28rzqigv3lwzznqacpk7nr0dn6ig37v023x8lzc728ix5";
+    };
+  }
+  {
+    goPackagePath = "github.com/Joker/jade";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Joker/jade";
+      rev = "v1.0.0";
+      sha256 = "0k9b8dcwwhajw6rzjmakqwmhw9z192pzzdhppcvam6dy63yl4zjf";
+    };
+  }
+  {
+    goPackagePath = "github.com/Shopify/goreferrer";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Shopify/goreferrer";
+      rev = "ec9c9a553398";
+      sha256 = "0d740psj8czks1hl0nr6nlrwfbwq3nc51jj2p91d1wyhhmgn6jmn";
+    };
+  }
+  {
+    goPackagePath = "github.com/ajg/form";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ajg/form";
+      rev = "v1.5.1";
+      sha256 = "1d6sxzzf9yycdf8jm5877y0khmhkmhxfw3sc4xpdcsrdlc7gqh5a";
+    };
+  }
+  {
     goPackagePath = "github.com/alecthomas/template";
     fetch = {
       type = "git";
@@ -37,6 +73,15 @@
     };
   }
   {
+    goPackagePath = "github.com/aymerick/raymond";
+    fetch = {
+      type = "git";
+      url = "https://github.com/aymerick/raymond";
+      rev = "v2.0.2";
+      sha256 = "1w6am4142k8lyjnwwcgx94c2d8zviflzi0a9c81gn2j0gyx475i3";
+    };
+  }
+  {
     goPackagePath = "github.com/beorn7/perks";
     fetch = {
       type = "git";
@@ -82,6 +127,15 @@
     };
   }
   {
+    goPackagePath = "github.com/codegangsta/inject";
+    fetch = {
+      type = "git";
+      url = "https://github.com/codegangsta/inject";
+      rev = "33e0aa1cb7c0";
+      sha256 = "1jqakr3z9l60qhcgrdzsb6rlk8ikcamisw0g2ndmrf27s0ibfcaj";
+    };
+  }
+  {
     goPackagePath = "github.com/davecgh/go-spew";
     fetch = {
       type = "git";
@@ -91,6 +145,42 @@
     };
   }
   {
+    goPackagePath = "github.com/dgrijalva/jwt-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgrijalva/jwt-go";
+      rev = "v3.2.0";
+      sha256 = "08m27vlms74pfy5z79w67f9lk9zkx6a9jd68k3c4msxy75ry36mp";
+    };
+  }
+  {
+    goPackagePath = "github.com/eknkc/amber";
+    fetch = {
+      type = "git";
+      url = "https://github.com/eknkc/amber";
+      rev = "cdade1c07385";
+      sha256 = "152w97yckwncgw7lwjvgd8d00wy6y0nxzlvx72kl7nqqxs9vhxd9";
+    };
+  }
+  {
+    goPackagePath = "github.com/fatih/structs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fatih/structs";
+      rev = "v1.1.0";
+      sha256 = "1wrhb8wp8zpzggl61lapb627lw8yv281abvr6vqakmf569nswa9q";
+    };
+  }
+  {
+    goPackagePath = "github.com/flosch/pongo2";
+    fetch = {
+      type = "git";
+      url = "https://github.com/flosch/pongo2";
+      rev = "bbf5a6c351f4";
+      sha256 = "0yqh58phznnxakm64w82gawrpndb0r85vsd1s7h244qqrq7w4avq";
+    };
+  }
+  {
     goPackagePath = "github.com/fsnotify/fsnotify";
     fetch = {
       type = "git";
@@ -100,15 +190,69 @@
     };
   }
   {
+    goPackagePath = "github.com/gavv/monotime";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gavv/monotime";
+      rev = "30dba4353424";
+      sha256 = "0w67yyc9y11dp7lp4b712dkcgbiln1qmgfx1nbbrw3mfkzr61d7g";
+    };
+  }
+  {
     goPackagePath = "github.com/getsentry/raven-go";
     fetch = {
       type = "git";
       url = "https://github.com/getsentry/raven-go";
-      rev = "v0.1.2";
+      rev = "v0.1.0";
       sha256 = "1dl80kar4lzdcfl3w6jssi1ld6bv0rmx6sp6bz6rzysfr9ilm02z";
     };
   }
   {
+    goPackagePath = "github.com/getsentry/sentry-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/getsentry/sentry-go";
+      rev = "v0.3.0";
+      sha256 = "1919lhvg1swcqyfa6mck6nz53c7n4df21jsz46f7x4wncb6f5il1";
+    };
+  }
+  {
+    goPackagePath = "github.com/gin-contrib/sse";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gin-contrib/sse";
+      rev = "5545eab6dad3";
+      sha256 = "0jhcvi66rn7c1wg3rf7q7sylrvlk7c40yk79c5lypnz1dpsdcrb5";
+    };
+  }
+  {
+    goPackagePath = "github.com/gin-gonic/gin";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gin-gonic/gin";
+      rev = "v1.4.0";
+      sha256 = "19nxip48p2s8l7p1p7wpd5li2fcngi4c58rgcg71izdmsmj2iw1d";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-check/check";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-check/check";
+      rev = "788fd7840127";
+      sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-errors/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-errors/errors";
+      rev = "v1.0.1";
+      sha256 = "0rznpknk19rxkr7li6dqs52c26pjazp69lh493l4ny4sxn5922lp";
+    };
+  }
+  {
     goPackagePath = "github.com/go-kit/kit";
     fetch = {
       type = "git";
@@ -127,6 +271,15 @@
     };
   }
   {
+    goPackagePath = "github.com/go-martini/martini";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-martini/martini";
+      rev = "22fa46961aab";
+      sha256 = "01ip3mwbnm5isq120ww73yrvbcn6n5944prhhbyf2ggyf6g46ylh";
+    };
+  }
+  {
     goPackagePath = "github.com/go-stack/stack";
     fetch = {
       type = "git";
@@ -154,15 +307,6 @@
     };
   }
   {
-    goPackagePath = "github.com/golang/lint";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/lint";
-      rev = "06c8688daad7";
-      sha256 = "0xi94dwvz50a66bq1hp9fyqkym5mcpdxdb1hrfvicldgjf37lc47";
-    };
-  }
-  {
     goPackagePath = "github.com/golang/mock";
     fetch = {
       type = "git";
@@ -176,8 +320,26 @@
     fetch = {
       type = "git";
       url = "https://github.com/golang/protobuf";
-      rev = "v1.3.1";
-      sha256 = "15am4s4646qy6iv0g3kkqq52rzykqjhm4bf08dk0fy2r58knpsyl";
+      rev = "v1.3.2";
+      sha256 = "1k1wb4zr0qbwgpvz9q5ws9zhlal8hq7dmq62pwxxriksayl6hzym";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-cmp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-cmp";
+      rev = "v0.2.0";
+      sha256 = "1fbv0x27k9sn8svafc0hjwsnckk864lv4yi7bvzrxvmd3d5hskds";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-querystring";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-querystring";
+      rev = "v1.0.0";
+      sha256 = "0xl12bqyvmn4xcnf8p9ksj9rmnr7s40pvppsdmy8n9bzw1db0iwz";
     };
   }
   {
@@ -190,6 +352,24 @@
     };
   }
   {
+    goPackagePath = "github.com/gopherjs/gopherjs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gopherjs/gopherjs";
+      rev = "0766667cb4d1";
+      sha256 = "13pfc9sxiwjky2lm1xb3i3lcisn8p6mgjk2d927l7r92ysph8dmw";
+    };
+  }
+  {
+    goPackagePath = "github.com/gorilla/schema";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/schema";
+      rev = "v1.1.0";
+      sha256 = "14d31i3h6bg83r7ncmwm2pirab66z9hza38in18l89pbazxyh2n9";
+    };
+  }
+  {
     goPackagePath = "github.com/grpc-ecosystem/go-grpc-middleware";
     fetch = {
       type = "git";
@@ -217,6 +397,51 @@
     };
   }
   {
+    goPackagePath = "github.com/imkira/go-interpol";
+    fetch = {
+      type = "git";
+      url = "https://github.com/imkira/go-interpol";
+      rev = "v1.1.0";
+      sha256 = "180h3pf2p0pch6hmqf45wk7wd87md83d3p122f8ll43x5nja5mph";
+    };
+  }
+  {
+    goPackagePath = "github.com/iris-contrib/blackfriday";
+    fetch = {
+      type = "git";
+      url = "https://github.com/iris-contrib/blackfriday";
+      rev = "v2.0.0";
+      sha256 = "1gkizavajqmxm79il8r6cbi0g9ls3vwdh9wr0zy89vc9sq17p3im";
+    };
+  }
+  {
+    goPackagePath = "github.com/iris-contrib/formBinder";
+    fetch = {
+      type = "git";
+      url = "https://github.com/iris-contrib/formBinder";
+      rev = "v5.0.0";
+      sha256 = "0mqk6j7a9d3y28ad4ylqc7z5w4hmn1ws5wwnyll918xn1wkzr5rg";
+    };
+  }
+  {
+    goPackagePath = "github.com/iris-contrib/go.uuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/iris-contrib/go.uuid";
+      rev = "v2.0.0";
+      sha256 = "0nc0ggn0a6bcwdrwinnx3z6889x65c20a2dwja0n8can3xblxs35";
+    };
+  }
+  {
+    goPackagePath = "github.com/iris-contrib/httpexpect";
+    fetch = {
+      type = "git";
+      url = "https://github.com/iris-contrib/httpexpect";
+      rev = "ebe99fcebbce";
+      sha256 = "126c50c6r5l2gdn60jirpb54pqwswxag3wgrv6wcn998h9w9gv8c";
+    };
+  }
+  {
     goPackagePath = "github.com/json-iterator/go";
     fetch = {
       type = "git";
@@ -226,6 +451,42 @@
     };
   }
   {
+    goPackagePath = "github.com/jtolds/gls";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jtolds/gls";
+      rev = "v4.20.0";
+      sha256 = "1k7xd2q2ysv2xsh373qs801v6f359240kx0vrl0ydh7731lngvk6";
+    };
+  }
+  {
+    goPackagePath = "github.com/juju/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/juju/errors";
+      rev = "089d3ea4e4d5";
+      sha256 = "056za75j1zgksky7pbf0pkjqz5ha15g3wj3p4ma10m9sywdyq79r";
+    };
+  }
+  {
+    goPackagePath = "github.com/juju/loggo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/juju/loggo";
+      rev = "584905176618";
+      sha256 = "0hzi0652y74jf62wwyi9gf8bzrs7ynvhjfqc8rwr4l799d7i5gd4";
+    };
+  }
+  {
+    goPackagePath = "github.com/juju/testing";
+    fetch = {
+      type = "git";
+      url = "https://github.com/juju/testing";
+      rev = "472a3e8b2073";
+      sha256 = "05wjc2k0kwbam7anaxwnj30pl03dcdbrsz32icd70zl70ipsqsw4";
+    };
+  }
+  {
     goPackagePath = "github.com/julienschmidt/httprouter";
     fetch = {
       type = "git";
@@ -235,6 +496,42 @@
     };
   }
   {
+    goPackagePath = "github.com/k0kubun/colorstring";
+    fetch = {
+      type = "git";
+      url = "https://github.com/k0kubun/colorstring";
+      rev = "9440f1994b88";
+      sha256 = "0isskya7ky4k9znrh85crfc2pxwyfz2s8j1a5cbjb8b8zf2v0qbj";
+    };
+  }
+  {
+    goPackagePath = "github.com/kataras/golog";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kataras/golog";
+      rev = "99c81de45f40";
+      sha256 = "1dgrsvhzymgj7da54ldv8plkxk3n8zh3kc995qxl6mrpz65j801p";
+    };
+  }
+  {
+    goPackagePath = "github.com/kataras/iris";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kataras/iris";
+      rev = "v11.1.1";
+      sha256 = "1rxpr5hdj9mji26mlfp4zic0pc6nh93akzccw24a5kynj07g68wg";
+    };
+  }
+  {
+    goPackagePath = "github.com/kataras/pio";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kataras/pio";
+      rev = "ea782b38602d";
+      sha256 = "0ca29wmkpx19qwnvi4fja3avkxkzz14x9wyzmg1l9074bxbj8cgj";
+    };
+  }
+  {
     goPackagePath = "github.com/kelseyhightower/envconfig";
     fetch = {
       type = "git";
@@ -244,12 +541,21 @@
     };
   }
   {
-    goPackagePath = "github.com/kisielk/gotool";
+    goPackagePath = "github.com/klauspost/compress";
     fetch = {
       type = "git";
-      url = "https://github.com/kisielk/gotool";
-      rev = "v1.0.0";
-      sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
+      url = "https://github.com/klauspost/compress";
+      rev = "v1.4.0";
+      sha256 = "1y7951q0ji894d111lqqbacq64cxyi2dxsni5sqi9488zsasgw8s";
+    };
+  }
+  {
+    goPackagePath = "github.com/klauspost/cpuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/klauspost/cpuid";
+      rev = "e7e905edc00e";
+      sha256 = "0cmyv3rwv5r5iqvvfhbiwp3jsfa40c6xfm42nxbngd5lygjcwwgf";
     };
   }
   {
@@ -271,6 +577,51 @@
     };
   }
   {
+    goPackagePath = "github.com/kr/pretty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pretty";
+      rev = "v0.1.0";
+      sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/pty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pty";
+      rev = "v1.1.1";
+      sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/text";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/text";
+      rev = "v0.1.0";
+      sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
+    };
+  }
+  {
+    goPackagePath = "github.com/labstack/echo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/labstack/echo";
+      rev = "v4.1.10";
+      sha256 = "0qg9ykmhgldiv2v1w8sz8x0j0bgqf11ghzrim59fb6pxz8qgg25h";
+    };
+  }
+  {
+    goPackagePath = "github.com/labstack/gommon";
+    fetch = {
+      type = "git";
+      url = "https://github.com/labstack/gommon";
+      rev = "v0.3.0";
+      sha256 = "18z7akyzm75p6anm4b8qkqgm4iivx50z07hi5wf50w1pbsvbcdi0";
+    };
+  }
+  {
     goPackagePath = "github.com/libgit2/git2go";
     fetch = {
       type = "git";
@@ -289,6 +640,33 @@
     };
   }
   {
+    goPackagePath = "github.com/mattn/go-colorable";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-colorable";
+      rev = "v0.1.2";
+      sha256 = "0512jm3wmzkkn7d99x9wflyqf48n5ri3npy1fqkq6l6adc5mni3n";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-isatty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-isatty";
+      rev = "v0.0.9";
+      sha256 = "0i3km37lajahh1y2392g4hpgvq05arcgiiv93yhzxxyv0fpqj72m";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/goveralls";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/goveralls";
+      rev = "v0.0.2";
+      sha256 = "13ffdikvc594g1mryhi94m87skr7irwkjnpxp8ad2kprn6syfslp";
+    };
+  }
+  {
     goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
     fetch = {
       type = "git";
@@ -298,6 +676,15 @@
     };
   }
   {
+    goPackagePath = "github.com/microcosm-cc/bluemonday";
+    fetch = {
+      type = "git";
+      url = "https://github.com/microcosm-cc/bluemonday";
+      rev = "v1.0.2";
+      sha256 = "0j0aylsxqjcj49w7ph8cmpaqjlpvg7mb5mrcrd9bg71dlb9z9ir2";
+    };
+  }
+  {
     goPackagePath = "github.com/modern-go/concurrent";
     fetch = {
       type = "git";
@@ -316,6 +703,15 @@
     };
   }
   {
+    goPackagePath = "github.com/moul/http2curl";
+    fetch = {
+      type = "git";
+      url = "https://github.com/moul/http2curl";
+      rev = "v1.0.0";
+      sha256 = "15bpx33d3ygya8dg8hbsn24h7acpajl27006pj8lw1c0bfvbnrl0";
+    };
+  }
+  {
     goPackagePath = "github.com/mwitkow/go-conntrack";
     fetch = {
       type = "git";
@@ -329,8 +725,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/onsi/ginkgo";
-      rev = "v1.7.0";
-      sha256 = "14wgpdrvpc35rdz3859bz53sc1g4vpr1fysy15wy3ff9gmqs14yg";
+      rev = "v1.10.1";
+      sha256 = "033a42h1wzmji57p86igg9whvsbp6nvfdsypskw738ys903n3z4d";
     };
   }
   {
@@ -338,8 +734,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/onsi/gomega";
-      rev = "v1.4.3";
-      sha256 = "1c8rqg5i2hz3snmq7s41yar1zjnzilb0fyiyhkg83v97afcfx79v";
+      rev = "v1.7.0";
+      sha256 = "09j6wq425wgzzsbwm9ckhfgl2capv3yyqbrf45qyrjwkzm49i02y";
     };
   }
   {
@@ -361,12 +757,21 @@
     };
   }
   {
+    goPackagePath = "github.com/pingcap/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pingcap/errors";
+      rev = "v0.11.1";
+      sha256 = "00wr0l4cwq0qx8jw51j0n7pbh9l7hdq2874x9rf1mz5svz1wbmcp";
+    };
+  }
+  {
     goPackagePath = "github.com/pkg/errors";
     fetch = {
       type = "git";
       url = "https://github.com/pkg/errors";
-      rev = "v0.8.0";
-      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
+      rev = "v0.8.1";
+      sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
     };
   }
   {
@@ -415,6 +820,33 @@
     };
   }
   {
+    goPackagePath = "github.com/ryanuber/columnize";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ryanuber/columnize";
+      rev = "v2.1.0";
+      sha256 = "0m9jhagb1k44zfcdai76xdf9vpi3bqdl7p078ffyibmz0z9jfap6";
+    };
+  }
+  {
+    goPackagePath = "github.com/sergi/go-diff";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sergi/go-diff";
+      rev = "v1.0.0";
+      sha256 = "0swiazj8wphs2zmk1qgq75xza6m19snif94h2m6fi8dqkwqdl7c7";
+    };
+  }
+  {
+    goPackagePath = "github.com/shurcooL/sanitized_anchor_name";
+    fetch = {
+      type = "git";
+      url = "https://github.com/shurcooL/sanitized_anchor_name";
+      rev = "v1.0.0";
+      sha256 = "1gv9p2nr46z80dnfjsklc6zxbgk96349sdsxjz05f3z6wb6m5l8f";
+    };
+  }
+  {
     goPackagePath = "github.com/sirupsen/logrus";
     fetch = {
       type = "git";
@@ -424,6 +856,24 @@
     };
   }
   {
+    goPackagePath = "github.com/smartystreets/assertions";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smartystreets/assertions";
+      rev = "b2de0cb4f26d";
+      sha256 = "1i7ldgavgl35c7gk25p7bvdr282ckng090zr4ch9mk1705akx09y";
+    };
+  }
+  {
+    goPackagePath = "github.com/smartystreets/goconvey";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smartystreets/goconvey";
+      rev = "505e41936337";
+      sha256 = "07zjxwszayal88z1j2bwnqrsa32vg8l4nivks5yfr9j8xfsw7n6m";
+    };
+  }
+  {
     goPackagePath = "github.com/stretchr/objx";
     fetch = {
       type = "git";
@@ -437,8 +887,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/stretchr/testify";
-      rev = "v1.3.0";
-      sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy";
+      rev = "v1.4.0";
+      sha256 = "187i5g88sxfy4vxpm7dw1gwv29pa2qaq475lxrdh5livh69wqfjb";
     };
   }
   {
@@ -478,6 +928,123 @@
     };
   }
   {
+    goPackagePath = "github.com/ugorji/go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ugorji/go";
+      rev = "v1.1.4";
+      sha256 = "0ma2qvn5wqvjidpdz74x832a813qnr1cxbx6n6n125ak9b3wbn5w";
+    };
+  }
+  {
+    goPackagePath = "github.com/urfave/negroni";
+    fetch = {
+      type = "git";
+      url = "https://github.com/urfave/negroni";
+      rev = "v1.0.0";
+      sha256 = "1gp6j74adi1cn8fq5v3wzlzhwl4zg43n2746m4fzdcdimihk3ccp";
+    };
+  }
+  {
+    goPackagePath = "github.com/valyala/bytebufferpool";
+    fetch = {
+      type = "git";
+      url = "https://github.com/valyala/bytebufferpool";
+      rev = "v1.0.0";
+      sha256 = "01lqzjddq6kz9v41nkky7wbgk7f1cw036sa7ldz10d82g5klzl93";
+    };
+  }
+  {
+    goPackagePath = "github.com/valyala/fasthttp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/valyala/fasthttp";
+      rev = "v1.4.0";
+      sha256 = "0kypc7r91n61fm6qsadza1aiy9n6byghvcxzvx7agi6yzrllk956";
+    };
+  }
+  {
+    goPackagePath = "github.com/valyala/fasttemplate";
+    fetch = {
+      type = "git";
+      url = "https://github.com/valyala/fasttemplate";
+      rev = "v1.0.1";
+      sha256 = "0l131znbv8v67y20s4q361mwiww2c33zdc68mwvxchzk1gpy5ywq";
+    };
+  }
+  {
+    goPackagePath = "github.com/valyala/tcplisten";
+    fetch = {
+      type = "git";
+      url = "https://github.com/valyala/tcplisten";
+      rev = "ceec8f93295a";
+      sha256 = "0ksbj1gsdqanbnhly5w1wcc107bib4w0zpnyl00prr89zch3imnf";
+    };
+  }
+  {
+    goPackagePath = "github.com/xeipuuv/gojsonpointer";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xeipuuv/gojsonpointer";
+      rev = "df4f5c81cb3b";
+      sha256 = "0dfwc66z5gq75m3z7va80c10c22ijiq99bahq86l26ki71g286xn";
+    };
+  }
+  {
+    goPackagePath = "github.com/xeipuuv/gojsonreference";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xeipuuv/gojsonreference";
+      rev = "bd5ef7bd5415";
+      sha256 = "1xby79padc7bmyb8rfbad8wfnfdzpnh51b1n8c0kibch0kwc1db5";
+    };
+  }
+  {
+    goPackagePath = "github.com/xeipuuv/gojsonschema";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xeipuuv/gojsonschema";
+      rev = "v1.1.0";
+      sha256 = "10gn5y4l72zknj21mff29d9vnk4pz7jnw39xnlsb373lsiih91xg";
+    };
+  }
+  {
+    goPackagePath = "github.com/yalp/jsonpath";
+    fetch = {
+      type = "git";
+      url = "https://github.com/yalp/jsonpath";
+      rev = "5cc68e5049a0";
+      sha256 = "0kkyxp1cg3kfxy5hhwzxg132jin4xb492z5jpqq94ix15v6rdf4b";
+    };
+  }
+  {
+    goPackagePath = "github.com/yudai/gojsondiff";
+    fetch = {
+      type = "git";
+      url = "https://github.com/yudai/gojsondiff";
+      rev = "v1.0.0";
+      sha256 = "0qnymi0027mb8kxm24mmd22bvjrdkc56c7f4q3lbdf93x1vxbbc2";
+    };
+  }
+  {
+    goPackagePath = "github.com/yudai/golcs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/yudai/golcs";
+      rev = "ecda9a501e82";
+      sha256 = "0mx6wc5fz05yhvg03vvps93bc5mw4vnng98fhmixd47385qb29pq";
+    };
+  }
+  {
+    goPackagePath = "github.com/yudai/pp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/yudai/pp";
+      rev = "v2.0.1";
+      sha256 = "18vbc7jagnjw1wpvhqjffl0np7bzzqdd9jpdcisvj5h85lbyn5gk";
+    };
+  }
+  {
     goPackagePath = "gitlab.com/gitlab-org/labkit";
     fetch = {
       type = "git";
@@ -500,8 +1067,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/crypto";
-      rev = "20be4c3c3ed5";
-      sha256 = "1ph7y8v30hc95h1dwr7vrhg1nzs47a261qin6zg8mhf12g5k2lxb";
+      rev = "4def268fd1a4";
+      sha256 = "1bfsnari529gw34cz0zqk3d9mrkcj1ay35kangri8kbgll0ss5a6";
     };
   }
   {
@@ -509,8 +1076,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/lint";
-      rev = "06c8688daad7";
-      sha256 = "0xi94dwvz50a66bq1hp9fyqkym5mcpdxdb1hrfvicldgjf37lc47";
+      rev = "d0100b6bd8b3";
+      sha256 = "0b0amr9x4ji66iv9ayfx7zrfx52k1m5g66qfcxkgj80qrb1y2yn7";
     };
   }
   {
@@ -536,8 +1103,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sync";
-      rev = "37e7f081c4d4";
-      sha256 = "1bb0mw6ckb1k7z8v3iil2qlqwfj408fvvp8m1cik2b46p7snyjhm";
+      rev = "112230192c58";
+      sha256 = "05i2k43j2d0llq768hg5pf3hb2yhfzp9la1w5wp0rsnnzblr0lfn";
     };
   }
   {
@@ -545,8 +1112,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev = "953cdadca894";
-      sha256 = "0gkha4whk8xkcv3isigbs250akag99isxnd3v9xmy0kl3g88hxy1";
+      rev = "fde4db37ae7a";
+      sha256 = "16k4w4pzziq1kln18k5fg01qgk4hpzb5xsm7175kaky6d6gwyhg3";
     };
   }
   {
@@ -563,8 +1130,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/tools";
-      rev = "6cd1fcedba52";
-      sha256 = "00hl0vkmy8impsnmc2dmm55sdhia95k0kqcrjbdpynryn1lamn5d";
+      rev = "2c0ae7006135";
+      sha256 = "1lsi2ssxajclj3bciz2a41v1vjv768ja3v6wnbyhxy8xphwkp4fk";
     };
   }
   {
@@ -590,8 +1157,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/grpc/grpc-go";
-      rev = "v1.16.0";
-      sha256 = "0a9xl6c5j7lvsb4q6ry5p892rjm86p47d4f8xrf0r8lxblf79qbg";
+      rev = "v1.24.0";
+      sha256 = "0h8mwv74vzcfb7p4ai247x094skxca71vjp4wpj2wzmri0x9p4v6";
     };
   }
   {
@@ -631,6 +1198,33 @@
     };
   }
   {
+    goPackagePath = "gopkg.in/go-playground/assert.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/go-playground/assert.v1";
+      rev = "v1.2.1";
+      sha256 = "1h4amgykpa0djwi619llr3g55p75ia0mi184h9s5zdl8l4rhn9pm";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/go-playground/validator.v8";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/go-playground/validator.v8";
+      rev = "v8.18.2";
+      sha256 = "1m2i48ph5a3kw9nlw2srx8i04v7chicds2hlzlrfm15045crga55";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/mgo.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/mgo.v2";
+      rev = "9856a29383ce";
+      sha256 = "1gfbcmvpwwf1lydxj3g42wv2g9w3pf0y02igqk4f4f21h02sazkw";
+    };
+  }
+  {
     goPackagePath = "gopkg.in/tomb.v1";
     fetch = {
       type = "git";
@@ -653,8 +1247,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/dominikh/go-tools";
-      rev = "88497007e858";
-      sha256 = "0rinkyx3r2bq45mgcasnn5jb07cwbv3p3s2wwcrzxsarsj6wa5lc";
+      rev = "ea95bdfd59fc";
+      sha256 = "1763nw7pwpzkvzfnm63dgzcgbq9hwmq5l1nffchnhh77vgkaq4ic";
     };
   }
 ]
diff --git a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
index a5140972ef0f..47e1c3b35684 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/gemset.nix
@@ -224,15 +224,15 @@
     version = "3.3.0";
   };
   github-linguist = {
-    dependencies = ["charlock_holmes" "escape_utils" "mime-types" "rugged"];
+    dependencies = ["charlock_holmes" "escape_utils" "mini_mime" "rugged"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nqsprsy4xd6yxzk3b54815hv0gk2r1xn0vsm81pkyy61bbm35hf";
+      sha256 = "092bq7bjfj2yvss2ig6jb71j0h04cigq79xxfis37j315iixl12j";
       type = "gem";
     };
-    version = "6.4.1";
+    version = "7.5.1";
   };
   github-markup = {
     source = {
@@ -308,10 +308,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04988m3hmllg4sl4syjb35x0wzsg7rj1nmvhx3d9ihml22w76gb2";
+      sha256 = "0by3289irdklb9gjqw41fq6mg6yja3iyzh99dj8p8z9l4brllqn4";
       type = "gem";
     };
-    version = "3.7.1";
+    version = "3.8.0";
   };
   googleapis-common-protos-types = {
     dependencies = ["google-protobuf"];
@@ -330,10 +330,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rdywzism5vxz8pnml6xjb9f19diclyy74014z69q01jzqwi1wgs";
+      sha256 = "18wikj9qd4jb4lks55cs2cf3q7fifnanm9z9ywnxhpj57vbnilpf";
       type = "gem";
     };
-    version = "1.19.0";
+    version = "1.24.0";
   };
   hashdiff = {
     groups = ["default" "development" "test"];
@@ -418,10 +418,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ccsid33xjajd0im2xv941aywi58z7ihwkvaf1w2bv89vn5bhsjg";
+      sha256 = "06kfq90vi38gv6i128f4zg462kj32szs5vsgm25hxgw9zd12pj9x";
       type = "gem";
     };
-    version = "2.2.3";
+    version = "2.3.0";
   };
   memoizable = {
     dependencies = ["thread_safe"];
@@ -459,6 +459,16 @@
     };
     version = "3.2019.0331";
   };
+  mini_mime = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1axm0rxyx3ss93wbmfkm78a6x03l8y4qy60rhkkiq0aza0vwq3ha";
+      type = "gem";
+    };
+    version = "1.0.2";
+  };
   mini_portile2 = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -507,10 +517,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
+      sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
       type = "gem";
     };
-    version = "1.10.4";
+    version = "1.10.5";
   };
   nokogumbo = {
     dependencies = ["nokogiri"];
@@ -640,10 +650,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ilwxzm3a7bql5c9q2n9g9nb1hax7vd8d65a5yp3d967ld97nvrq";
+      sha256 = "1icpqmxbppl4ynzmn6dx7wdil5hhq6fz707m9ya6d86c7ys8sd4f";
       type = "gem";
     };
-    version = "1.2.0";
+    version = "1.3.0";
   };
   rainbow = {
     source = {
@@ -663,12 +673,14 @@
     version = "0.4.11";
   };
   rdoc = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "13ba2mhqqcsp3k97x3iz9x29xk26rv4561lfzzzibcy41vvj1n4c";
+      sha256 = "1gh7sc3xd4rgl9z90181cq580r1xqn063mmv51wdrhhsrkkw2bi9";
       type = "gem";
     };
-    version = "4.3.0";
+    version = "6.2.0";
   };
   redis = {
     groups = ["default"];
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index aa8cf7c164c5..4f3322f3d0fc 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -3,13 +3,13 @@
 buildGoPackage rec {
   pname = "gitlab-workhorse";
 
-  version = "8.14.0";
+  version = "8.14.1";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-workhorse";
     rev = "v${version}";
-    sha256 = "1cqx75h4x4chjvp72kzbln8qkm5p7p2w7x8bdd99g38kf21wxxaq";
+    sha256 = "19flb9b9l9214ykwgjphcqrinncnfvhis7nrvcr4ns6rlpxnc9dl";
   };
 
   goPackagePath = "gitlab.com/gitlab-org/gitlab-workhorse";
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
index 920f778c053f..d27bc276088c 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile
@@ -8,12 +8,12 @@ gem 'bootsnap', '~> 1.4'
 gem 'nakayoshi_fork', '~> 0.0.4'
 
 # Responders respond_to and respond_with
-gem 'responders', '~> 2.0'
+gem 'responders', '~> 3.0'
 
 gem 'sprockets', '~> 3.7.0'
 
 # Default values for AR models
-gem 'default_value_for', '~> 3.2.0'
+gem 'default_value_for', '~> 3.3.0'
 
 # Supported DBs
 gem 'pg', '~> 1.1'
@@ -42,7 +42,7 @@ gem 'omniauth-shibboleth', '~> 1.3.0'
 gem 'omniauth-twitter', '~> 1.4'
 gem 'omniauth_crowd', '~> 2.2.0'
 gem 'omniauth-authentiq', '~> 0.3.3'
-gem 'omniauth_openid_connect', '~> 0.3.1'
+gem 'omniauth_openid_connect', '~> 0.3.3'
 gem "omniauth-ultraauth", '~> 0.0.2'
 gem 'omniauth-salesforce', '~> 1.0.5'
 gem 'rack-oauth2', '~> 1.9.3'
@@ -64,7 +64,7 @@ gem 'u2f', '~> 0.2.1'
 
 # GitLab Pages
 gem 'validates_hostname', '~> 1.0.6'
-gem 'rubyzip', '~> 1.2.2', require: 'zip'
+gem 'rubyzip', '~> 1.3.0', require: 'zip'
 # GitLab Pages letsencrypt support
 gem 'acme-client', '~> 2.0.2'
 
@@ -72,7 +72,7 @@ gem 'acme-client', '~> 2.0.2'
 gem 'browser', '~> 2.5'
 
 # GPG
-gem 'gpgme', '~> 2.0.18'
+gem 'gpgme', '~> 2.0.19'
 
 # LDAP Auth
 # GitLab fork with several improvements to original library. For full list of changes
@@ -136,7 +136,7 @@ gem 'faraday_middleware-aws-signers-v4'
 
 # Markdown and HTML processing
 gem 'html-pipeline', '~> 2.8'
-gem 'deckar01-task_list', '2.2.0'
+gem 'deckar01-task_list', '2.2.1'
 gem 'gitlab-markup', '~> 1.7.0'
 gem 'github-markup', '~> 1.7.0', require: 'github/markup'
 gem 'commonmarker', '~> 0.17'
@@ -151,7 +151,7 @@ gem 'asciidoctor-plantuml', '0.0.9'
 gem 'rouge', '~> 3.11.0'
 gem 'truncato', '~> 0.7.11'
 gem 'bootstrap_form', '~> 4.2.0'
-gem 'nokogiri', '~> 1.10.4'
+gem 'nokogiri', '~> 1.10.5'
 gem 'escape_utils', '~> 1.1'
 
 # Calendar rendering
@@ -159,6 +159,7 @@ gem 'icalendar'
 
 # Diffs
 gem 'diffy', '~> 3.1.0'
+gem 'diff_match_patch', '~> 0.1.0'
 
 # Application server
 gem 'rack', '~> 2.0.7'
@@ -175,7 +176,7 @@ group :puma do
 end
 
 # State machine
-gem 'state_machines-activerecord', '~> 0.5.1'
+gem 'state_machines-activerecord', '~> 0.6.0'
 
 # Issue tags
 gem 'acts-as-taggable-on', '~> 6.0'
@@ -259,9 +260,6 @@ gem 'loofah', '~> 2.2'
 # Working with license
 gem 'licensee', '~> 8.9'
 
-# Protect against bruteforcing
-gem 'rack-attack', '~> 4.4.1'
-
 # Ace editor
 gem 'ace-rails-ap', '~> 4.1.0'
 
@@ -293,10 +291,13 @@ gem 'base32', '~> 0.3.0'
 
 gem "gitlab-license", "~> 1.0"
 
+# Protect against bruteforcing
+gem 'rack-attack', '~> 6.2.0'
+
 # Sentry integration
 gem 'sentry-raven', '~> 2.9'
 
-gem 'premailer-rails', '~> 1.9.7'
+gem 'premailer-rails', '~> 1.10.3'
 
 # LabKit: Tracing and Correlation
 gem 'gitlab-labkit', '~> 0.5'
@@ -331,7 +332,6 @@ group :metrics do
 end
 
 group :development do
-  gem 'foreman', '~> 0.84.0'
   gem 'brakeman', '~> 4.2', require: false
   gem 'danger', '~> 6.0', require: false
 
@@ -388,7 +388,6 @@ group :development, :test do
 
   gem 'benchmark-ips', '~> 2.3.0', require: false
 
-  gem 'license_finder', '~> 5.4', require: false
   gem 'knapsack', '~> 1.17'
 
   gem 'stackprof', '~> 0.2.10', require: false
@@ -398,6 +397,11 @@ group :development, :test do
   gem 'timecop', '~> 0.8.0'
 end
 
+# Gems required in omnibus-gitlab pipeline
+group :development, :test, :omnibus do
+  gem 'license_finder', '~> 5.4', require: false
+end
+
 group :test do
   gem 'shoulda-matchers', '~> 4.0.1', require: false
   gem 'email_spec', '~> 2.2.0'
@@ -407,6 +411,7 @@ group :test do
   gem 'concurrent-ruby', '~> 1.1'
   gem 'test-prof', '~> 0.10.0'
   gem 'rspec_junit_formatter'
+  gem 'guard-rspec'
 end
 
 gem 'octokit', '~> 4.9'
@@ -446,18 +451,18 @@ group :ed25519 do
 end
 
 # Gitaly GRPC protocol definitions
-gem 'gitaly', '~> 1.65.0'
+gem 'gitaly', '~> 1.70.0'
 
-gem 'grpc', '~> 1.19.0'
+gem 'grpc', '~> 1.24.0'
 
-gem 'google-protobuf', '~> 3.7.1'
+gem 'google-protobuf', '~> 3.8.0'
 
 gem 'toml-rb', '~> 1.0.0', require: false
 
 # Feature toggles
-gem 'flipper', '~> 0.13.0'
-gem 'flipper-active_record', '~> 0.13.0'
-gem 'flipper-active_support_cache_store', '~> 0.13.0'
+gem 'flipper', '~> 0.17.1'
+gem 'flipper-active_record', '~> 0.17.1'
+gem 'flipper-active_support_cache_store', '~> 0.17.1'
 gem 'unleash', '~> 0.1.5'
 
 # Structured logging
@@ -469,3 +474,5 @@ gem 'gitlab-net-dns', '~> 0.9.1'
 
 # Countries list
 gem 'countries', '~> 3.0'
+
+gem 'retriable', '~> 3.1.2'
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
index 18160932c56f..15465cd6b03a 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
@@ -50,8 +50,8 @@ GEM
       i18n (>= 0.7, < 2)
       minitest (~> 5.1)
       tzinfo (~> 1.1)
-    acts-as-taggable-on (6.0.0)
-      activerecord (~> 5.0)
+    acts-as-taggable-on (6.5.0)
+      activerecord (>= 5.0, < 6.1)
     adamantium (0.2.0)
       ice_nine (~> 0.11.0)
       memoizable (~> 0.4.0)
@@ -80,14 +80,16 @@ GEM
       encryptor (~> 3.0.0)
     attr_required (1.0.1)
     awesome_print (1.8.0)
-    aws-sdk (2.9.32)
-      aws-sdk-resources (= 2.9.32)
-    aws-sdk-core (2.9.32)
+    aws-eventstream (1.0.3)
+    aws-sdk (2.11.374)
+      aws-sdk-resources (= 2.11.374)
+    aws-sdk-core (2.11.374)
       aws-sigv4 (~> 1.0)
       jmespath (~> 1.0)
-    aws-sdk-resources (2.9.32)
-      aws-sdk-core (= 2.9.32)
-    aws-sigv4 (1.0.0)
+    aws-sdk-resources (2.11.374)
+      aws-sdk-core (= 2.11.374)
+    aws-sigv4 (1.1.0)
+      aws-eventstream (~> 1.0, >= 1.0.2)
     axiom-types (0.1.1)
       descendants_tracker (~> 0.0.4)
       ice_nine (~> 0.11.0)
@@ -171,9 +173,9 @@ GEM
       unicode_utils (~> 1.4)
     crack (0.4.3)
       safe_yaml (~> 1.0.0)
-    crass (1.0.4)
+    crass (1.0.5)
     creole (0.5.0)
-    css_parser (1.5.0)
+    css_parser (1.7.0)
       addressable
     daemons (1.2.6)
     danger (6.0.9)
@@ -192,12 +194,12 @@ GEM
     database_cleaner (1.7.0)
     debug_inspector (0.0.3)
     debugger-ruby_core_source (1.3.8)
-    deckar01-task_list (2.2.0)
+    deckar01-task_list (2.2.1)
       html-pipeline
     declarative (0.0.10)
     declarative-option (0.1.0)
-    default_value_for (3.2.0)
-      activerecord (>= 3.2.0, < 6.0)
+    default_value_for (3.3.0)
+      activerecord (>= 3.2.0, < 6.1)
     derailed_benchmarks (1.3.5)
       benchmark-ips (~> 2)
       get_process_mem (~> 0)
@@ -222,6 +224,7 @@ GEM
       railties
       rotp (~> 2.0)
     diff-lcs (1.3)
+    diff_match_patch (0.1.0)
     diffy (3.1.0)
     discordrb-webhooks-blackst0ne (3.3.0)
       rest-client (~> 2.0)
@@ -285,13 +288,13 @@ GEM
     fast_gettext (1.6.0)
     ffaker (2.10.0)
     ffi (1.11.1)
-    flipper (0.13.0)
-    flipper-active_record (0.13.0)
-      activerecord (>= 3.2, < 6)
-      flipper (~> 0.13.0)
-    flipper-active_support_cache_store (0.13.0)
-      activesupport (>= 3.2, < 6)
-      flipper (~> 0.13.0)
+    flipper (0.17.1)
+    flipper-active_record (0.17.1)
+      activerecord (>= 4.2, < 7)
+      flipper (~> 0.17.1)
+    flipper-active_support_cache_store (0.17.1)
+      activesupport (>= 4.2, < 7)
+      flipper (~> 0.17.1)
     flowdock (0.7.1)
       httparty (~> 0.7)
       multi_json
@@ -332,10 +335,8 @@ GEM
     fog-xml (0.1.3)
       fog-core
       nokogiri (>= 1.5.11, < 2.0.0)
-    font-awesome-rails (4.7.0.4)
-      railties (>= 3.2, < 6.0)
-    foreman (0.84.0)
-      thor (~> 0.19.1)
+    font-awesome-rails (4.7.0.5)
+      railties (>= 3.2, < 6.1)
     formatador (0.2.5)
     fugit (1.2.1)
       et-orbi (~> 1.1, >= 1.1.8)
@@ -358,12 +359,12 @@ GEM
       po_to_json (>= 1.0.0)
       rails (>= 3.2.0)
     git (1.5.0)
-    gitaly (1.65.0)
+    gitaly (1.70.0)
       grpc (~> 1.0)
     github-markup (1.7.0)
-    gitlab-labkit (0.5.2)
-      actionpack (~> 5)
-      activesupport (~> 5)
+    gitlab-labkit (0.7.0)
+      actionpack (>= 5.0.0, < 6.1.0)
+      activesupport (>= 5.0.0, < 6.1.0)
       grpc (~> 1.19)
       jaeger-client (~> 0.10)
       opentracing (~> 0.4)
@@ -400,7 +401,7 @@ GEM
       mime-types (~> 3.0)
       representable (~> 3.0)
       retriable (>= 2.0, < 4.0)
-    google-protobuf (3.7.1)
+    google-protobuf (3.8.0)
     googleapis-common-protos-types (1.0.4)
       google-protobuf (~> 3.0)
     googleauth (0.6.6)
@@ -410,7 +411,7 @@ GEM
       multi_json (~> 1.11)
       os (>= 0.9, < 2.0)
       signet (~> 0.7)
-    gpgme (2.0.18)
+    gpgme (2.0.19)
       mini_portile2 (~> 2.3)
     grape (1.1.0)
       activesupport
@@ -440,11 +441,25 @@ GEM
       graphql (~> 1.6)
       html-pipeline (~> 2.8)
       sass (~> 3.4)
-    grpc (1.19.0)
-      google-protobuf (~> 3.1)
-      googleapis-common-protos-types (~> 1.0.0)
+    grpc (1.24.0)
+      google-protobuf (~> 3.8)
+      googleapis-common-protos-types (~> 1.0)
     gssapi (1.2.0)
       ffi (>= 1.0.1)
+    guard (2.15.1)
+      formatador (>= 0.2.4)
+      listen (>= 2.7, < 4.0)
+      lumberjack (>= 1.0.12, < 2.0)
+      nenv (~> 0.1)
+      notiffany (~> 0.0)
+      pry (>= 0.9.12)
+      shellany (~> 0.0)
+      thor (>= 0.18.1)
+    guard-compat (1.2.1)
+    guard-rspec (4.7.3)
+      guard (~> 2.1)
+      guard-compat (~> 1.1)
+      rspec (>= 2.99.0, < 4.0)
     haml (5.0.4)
       temple (>= 0.8.0)
       tilt
@@ -508,7 +523,7 @@ GEM
       atlassian-jwt
       multipart-post
       oauth (~> 0.5, >= 0.5.0)
-    jmespath (1.3.1)
+    jmespath (1.4.0)
     js_regex (3.1.1)
       character_set (~> 1.1)
       regexp_parser (~> 1.1)
@@ -560,15 +575,20 @@ GEM
       xml-simple
     licensee (8.9.2)
       rugged (~> 0.24)
+    listen (3.1.5)
+      rb-fsevent (~> 0.9, >= 0.9.4)
+      rb-inotify (~> 0.9, >= 0.9.7)
+      ruby_dep (~> 1.2)
     locale (2.1.2)
     lograge (0.10.0)
       actionpack (>= 4)
       activesupport (>= 4)
       railties (>= 4)
       request_store (~> 1.0)
-    loofah (2.3.0)
+    loofah (2.3.1)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
+    lumberjack (1.0.13)
     mail (2.7.1)
       mini_mime (>= 0.1.1)
     mail_room (0.9.1)
@@ -584,7 +604,7 @@ GEM
     mime-types-data (3.2019.0331)
     mimemagic (0.3.2)
     mini_magick (4.9.5)
-    mini_mime (1.0.1)
+    mini_mime (1.0.2)
     mini_portile2 (2.4.0)
     minitest (5.11.3)
     msgpack (1.3.1)
@@ -597,16 +617,20 @@ GEM
       mustermann (~> 1.0.0)
     nakayoshi_fork (0.0.4)
     nap (1.1.0)
+    nenv (0.3.0)
     net-ldap (0.16.0)
     net-ntp (2.1.3)
     net-ssh (5.2.0)
     netrc (0.11.0)
     nio4r (2.3.1)
     no_proxy_fix (0.1.2)
-    nokogiri (1.10.4)
+    nokogiri (1.10.5)
       mini_portile2 (~> 2.4.0)
     nokogumbo (1.5.0)
       nokogiri
+    notiffany (0.1.3)
+      nenv (~> 0.1)
+      shellany (~> 0.0)
     numerizer (0.1.1)
     oauth (0.5.4)
     oauth2 (1.4.1)
@@ -675,12 +699,12 @@ GEM
       activesupport
       nokogiri (>= 1.4.4)
       omniauth (~> 1.0)
-    omniauth_openid_connect (0.3.1)
+    omniauth_openid_connect (0.3.3)
       addressable (~> 2.5)
-      omniauth (~> 1.3)
+      omniauth (~> 1.9)
       openid_connect (~> 1.1)
     open4 (1.3.4)
-    openid_connect (1.1.6)
+    openid_connect (1.1.8)
       activemodel
       attr_required (>= 1.0.0)
       json-jwt (>= 1.5.0)
@@ -703,12 +727,12 @@ GEM
     pg (1.1.4)
     po_to_json (1.0.1)
       json (>= 1.6.0)
-    premailer (1.10.4)
+    premailer (1.11.1)
       addressable
-      css_parser (>= 1.4.10)
+      css_parser (>= 1.6.0)
       htmlentities (>= 4.0.0)
-    premailer-rails (1.9.7)
-      actionmailer (>= 3, < 6)
+    premailer-rails (1.10.3)
+      actionmailer (>= 3)
       premailer (~> 1.7, >= 1.7.9)
     proc_to_ast (0.1.0)
       coderay
@@ -724,7 +748,7 @@ GEM
       pry (~> 0.10)
     pry-rails (0.3.6)
       pry (>= 0.10.4)
-    public_suffix (3.1.0)
+    public_suffix (3.1.1)
     puma (3.12.0)
     puma_worker_killer (0.1.0)
       get_process_mem (~> 0.2)
@@ -734,8 +758,8 @@ GEM
     rack (2.0.7)
     rack-accept (0.4.5)
       rack (>= 0.4)
-    rack-attack (4.4.1)
-      rack
+    rack-attack (6.2.0)
+      rack (>= 1.0, < 3)
     rack-cors (1.0.2)
     rack-oauth2 (1.9.3)
       activesupport
@@ -763,10 +787,10 @@ GEM
       bundler (>= 1.3.0)
       railties (= 5.2.3)
       sprockets-rails (>= 2.0.0)
-    rails-controller-testing (1.0.2)
-      actionpack (~> 5.x, >= 5.0.1)
-      actionview (~> 5.x, >= 5.0.1)
-      activesupport (~> 5.x)
+    rails-controller-testing (1.0.4)
+      actionpack (>= 5.0.1.x)
+      actionview (>= 5.0.1.x)
+      activesupport (>= 5.0.1.x)
     rails-dom-testing (2.0.3)
       activesupport (>= 4.2.0)
       nokogiri (>= 1.6)
@@ -798,25 +822,25 @@ GEM
     recaptcha (4.13.1)
       json
     recursive-open-struct (1.1.0)
-    redis (4.1.2)
-    redis-actionpack (5.0.2)
-      actionpack (>= 4.0, < 6)
+    redis (4.1.3)
+    redis-actionpack (5.1.0)
+      actionpack (>= 4.0, < 7)
       redis-rack (>= 1, < 3)
       redis-store (>= 1.1.0, < 2)
-    redis-activesupport (5.0.7)
-      activesupport (>= 3, < 6)
+    redis-activesupport (5.2.0)
+      activesupport (>= 3, < 7)
       redis-store (>= 1.3, < 2)
     redis-namespace (1.6.0)
       redis (>= 3.0.4)
-    redis-rack (2.0.5)
+    redis-rack (2.0.6)
       rack (>= 1.5, < 3)
       redis-store (>= 1.2, < 2)
     redis-rails (5.0.2)
       redis-actionpack (>= 5.0, < 6)
       redis-activesupport (>= 5.0, < 6)
       redis-store (>= 1.2, < 2)
-    redis-store (1.6.0)
-      redis (>= 2.2, < 5)
+    redis-store (1.8.1)
+      redis (>= 4, < 5)
     regexp_parser (1.5.1)
     regexp_property_values (0.3.4)
     representable (3.0.4)
@@ -824,9 +848,9 @@ GEM
       declarative-option (< 0.2.0)
       uber (< 0.2.0)
     request_store (1.3.1)
-    responders (2.4.1)
-      actionpack (>= 4.2.0, < 6.0)
-      railties (>= 4.2.0, < 6.0)
+    responders (3.0.0)
+      actionpack (>= 5.0)
+      railties (>= 5.0)
     rest-client (2.0.2)
       http-cookie (>= 1.0.2, < 2.0)
       mime-types (>= 1.16, < 4.0)
@@ -897,11 +921,12 @@ GEM
     ruby-progressbar (1.10.1)
     ruby-saml (1.7.2)
       nokogiri (>= 1.5.10)
+    ruby_dep (1.5.0)
     ruby_parser (3.13.1)
       sexp_processor (~> 4.9)
     rubyntlm (0.6.2)
     rubypants (0.2.0)
-    rubyzip (1.2.2)
+    rubyzip (1.3.0)
     rugged (0.28.3.1)
     safe_yaml (1.0.4)
     sanitize (4.6.6)
@@ -938,6 +963,7 @@ GEM
       faraday (>= 0.7.6, < 1.0)
     settingslogic (2.0.9)
     sexp_processor (4.12.0)
+    shellany (0.0.1)
     shoulda-matchers (4.0.1)
       activesupport (>= 4.2.0)
     sidekiq (5.2.7)
@@ -978,11 +1004,11 @@ GEM
     sshkey (2.0.0)
     stackprof (0.2.10)
     state_machines (0.5.0)
-    state_machines-activemodel (0.5.1)
-      activemodel (>= 4.1, < 6.0)
+    state_machines-activemodel (0.7.1)
+      activemodel (>= 4.1)
       state_machines (>= 0.5.0)
-    state_machines-activerecord (0.5.1)
-      activerecord (>= 4.1, < 6.0)
+    state_machines-activerecord (0.6.0)
+      activerecord (>= 4.1)
       state_machines-activemodel (>= 0.5.0)
     swd (1.1.2)
       activesupport (>= 3)
@@ -1127,12 +1153,13 @@ DEPENDENCIES
   creole (~> 0.5.0)
   danger (~> 6.0)
   database_cleaner (~> 1.7.0)
-  deckar01-task_list (= 2.2.0)
-  default_value_for (~> 3.2.0)
+  deckar01-task_list (= 2.2.1)
+  default_value_for (~> 3.3.0)
   derailed_benchmarks
   device_detector
   devise (~> 4.6)
   devise-two-factor (~> 3.0.0)
+  diff_match_patch (~> 0.1.0)
   diffy (~> 3.1.0)
   discordrb-webhooks-blackst0ne (~> 3.3)
   doorkeeper (~> 4.3)
@@ -1149,9 +1176,9 @@ DEPENDENCIES
   faraday_middleware-aws-signers-v4
   fast_blank
   ffaker (~> 2.10)
-  flipper (~> 0.13.0)
-  flipper-active_record (~> 0.13.0)
-  flipper-active_support_cache_store (~> 0.13.0)
+  flipper (~> 0.17.1)
+  flipper-active_record (~> 0.17.1)
+  flipper-active_support_cache_store (~> 0.17.1)
   flowdock (~> 0.7)
   fog-aliyun (~> 0.3)
   fog-aws (~> 3.5)
@@ -1161,14 +1188,13 @@ DEPENDENCIES
   fog-openstack (~> 1.0)
   fog-rackspace (~> 0.1.1)
   font-awesome-rails (~> 4.7)
-  foreman (~> 0.84.0)
   fugit (~> 1.2.1)
   fuubar (~> 2.2.0)
   gemojione (~> 3.3)
   gettext (~> 3.2.2)
   gettext_i18n_rails (~> 1.8.0)
   gettext_i18n_rails_js (~> 1.3)
-  gitaly (~> 1.65.0)
+  gitaly (~> 1.70.0)
   github-markup (~> 1.7.0)
   gitlab-labkit (~> 0.5)
   gitlab-license (~> 1.0)
@@ -1181,8 +1207,8 @@ DEPENDENCIES
   gitlab_omniauth-ldap (~> 2.1.1)
   gon (~> 6.2)
   google-api-client (~> 0.23)
-  google-protobuf (~> 3.7.1)
-  gpgme (~> 2.0.18)
+  google-protobuf (~> 3.8.0)
+  gpgme (~> 2.0.19)
   grape (~> 1.1.0)
   grape-entity (~> 0.7.1)
   grape-path-helpers (~> 1.1)
@@ -1190,8 +1216,9 @@ DEPENDENCIES
   graphiql-rails (~> 1.4.10)
   graphql (~> 1.9.11)
   graphql-docs (~> 1.6.0)
-  grpc (~> 1.19.0)
+  grpc (~> 1.24.0)
   gssapi
+  guard-rspec
   haml_lint (~> 0.31.0)
   hamlit (~> 2.8.8)
   hangouts-chat (~> 0.0.5)
@@ -1226,7 +1253,7 @@ DEPENDENCIES
   net-ldap
   net-ntp
   net-ssh (~> 5.2)
-  nokogiri (~> 1.10.4)
+  nokogiri (~> 1.10.5)
   oauth2 (~> 1.4)
   octokit (~> 4.9)
   omniauth (~> 1.8)
@@ -1246,17 +1273,17 @@ DEPENDENCIES
   omniauth-twitter (~> 1.4)
   omniauth-ultraauth (~> 0.0.2)
   omniauth_crowd (~> 2.2.0)
-  omniauth_openid_connect (~> 0.3.1)
+  omniauth_openid_connect (~> 0.3.3)
   org-ruby (~> 0.9.12)
   pg (~> 1.1)
-  premailer-rails (~> 1.9.7)
+  premailer-rails (~> 1.10.3)
   prometheus-client-mmap (~> 0.9.10)
   pry-byebug (~> 3.5.1)
   pry-rails (~> 0.3.4)
   puma (~> 3.12)
   puma_worker_killer
   rack (~> 2.0.7)
-  rack-attack (~> 4.4.1)
+  rack-attack (~> 6.2.0)
   rack-cors (~> 1.0.0)
   rack-oauth2 (~> 1.9.3)
   rack-proxy (~> 0.6.0)
@@ -1275,7 +1302,8 @@ DEPENDENCIES
   redis-namespace (~> 1.6.0)
   redis-rails (~> 5.0.2)
   request_store (~> 1.3)
-  responders (~> 2.0)
+  responders (~> 3.0)
+  retriable (~> 3.1.2)
   rouge (~> 3.11.0)
   rqrcode-rails3 (~> 0.1.7)
   rspec-parameterized
@@ -1291,7 +1319,7 @@ DEPENDENCIES
   ruby-prof (~> 1.0.0)
   ruby-progressbar
   ruby_parser (~> 3.8)
-  rubyzip (~> 1.2.2)
+  rubyzip (~> 1.3.0)
   rugged (~> 0.28)
   sanitize (~> 4.6)
   sassc-rails (~> 2.1.0)
@@ -1312,7 +1340,7 @@ DEPENDENCIES
   sprockets (~> 3.7.0)
   sshkey (~> 2.0)
   stackprof (~> 0.2.10)
-  state_machines-activerecord (~> 0.5.1)
+  state_machines-activerecord (~> 0.6.0)
   sys-filesystem (~> 1.1.6)
   test-prof (~> 0.10.0)
   thin (~> 1.7.0)
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
index 84a984ea2b35..dc9c8128d2fe 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
@@ -146,10 +146,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hl52pjgfzy3acdwnbxfqy08m808vlv9dmsyp03d5x7x0y499kvl";
+      sha256 = "1nvhd986xa6llyjnhikq4h1nrcf5b9r9s11if25qsj8358inrpga";
       type = "gem";
     };
-    version = "6.0.0";
+    version = "6.5.0";
   };
   adamantium = {
     dependencies = ["ice_nine" "memoizable"];
@@ -309,16 +309,26 @@
     };
     version = "1.8.0";
   };
+  aws-eventstream = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "100g77a5ixg4p5zwq77f28n2pdkk0y481f7v83qrlmnj22318qq6";
+      type = "gem";
+    };
+    version = "1.0.3";
+  };
   aws-sdk = {
     dependencies = ["aws-sdk-resources"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03r754cqa0jayf1nxpcmp1anaypxwpcjyjaq5cz7i04l9jdxvsnn";
+      sha256 = "1yvl9bxzaxgcyzix2yw46cgll9nl0xfg5qx1j6y3xc1i78rk7vy0";
       type = "gem";
     };
-    version = "2.9.32";
+    version = "2.11.374";
   };
   aws-sdk-core = {
     dependencies = ["aws-sigv4" "jmespath"];
@@ -326,10 +336,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pq09wwb74y4m5adk4hi4zlz05q6sxjxij6g71v6nkd0z83hi34x";
+      sha256 = "1d7nw1jihv7rglcmkd3hhidjflbzq5ik63n43q27pmx8ki108rd9";
       type = "gem";
     };
-    version = "2.9.32";
+    version = "2.11.374";
   };
   aws-sdk-resources = {
     dependencies = ["aws-sdk-core"];
@@ -337,20 +347,21 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15m56k12x9gzkcyhwrab1qhi3wqla0qmv84dkqcjwp44d7c2xjyi";
+      sha256 = "0qx2a67vsw8rz1y0m04f97p1q4zx7miy06a5ck78hm77nvsigjj4";
       type = "gem";
     };
-    version = "2.9.32";
+    version = "2.11.374";
   };
   aws-sigv4 = {
+    dependencies = ["aws-eventstream"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cnrfxbaxn86qrxhfidg10f89ka1hddihakdhcvnri0dljaw7dsz";
+      sha256 = "1dfc8i5cxjwlvi4b665lbpbwvks8a6wfy3vfmwr3pjdmxwdmc2cs";
       type = "gem";
     };
-    version = "1.0.0";
+    version = "1.1.0";
   };
   axiom-types = {
     dependencies = ["descendants_tracker" "ice_nine" "thread_safe"];
@@ -814,10 +825,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bpxzy6gjw9ggjynlxschbfsgmx8lv3zw1azkjvnb8b9i895dqfi";
+      sha256 = "030sc98kjrb36rh7g21qsbdfxrj6knsjkx0mn3b7gig8zknwhp2f";
       type = "gem";
     };
-    version = "1.0.4";
+    version = "1.0.5";
   };
   creole = {
     groups = ["default"];
@@ -835,10 +846,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jlr17cn044yaq4l3d9p42g3bghnamwsprq9c39xn6pxjrn5k1hy";
+      sha256 = "1y4vc018b5mzp7winw4pbb22jk0dpxp22pzzxq7w0rgvfxzi89pd";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "1.7.0";
   };
   daemons = {
     groups = ["default" "development"];
@@ -901,10 +912,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s637v5pi5ipmv0gn9g2wwjpxdm27dvppfjd8ml0dc1m0jsm7964";
+      sha256 = "09k7rlxsl7pd5kn3wyswgqi0hhbmlj40b66l4mf8v9mqf3c7v0yk";
       type = "gem";
     };
-    version = "2.2.0";
+    version = "2.2.1";
   };
   declarative = {
     groups = ["default"];
@@ -932,10 +943,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xj9d1y2fk3kxfm1kyiwasjpw6r1w7c1xjx26sm3c33xhmz57fla";
+      sha256 = "08hwnnqm3bxd4n627isliq79zysdlmfkf813403v0b4mkhika5my";
       type = "gem";
     };
-    version = "3.2.0";
+    version = "3.3.0";
   };
   derailed_benchmarks = {
     dependencies = ["benchmark-ips" "get_process_mem" "heapy" "memory_profiler" "rack" "rake" "thor"];
@@ -1001,6 +1012,16 @@
     };
     version = "1.3";
   };
+  diff_match_patch = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "03n4g4w2pwiygmqq5lfhqrpbs9g6kv0jhb3vrffz3vgaryzmfq5k";
+      type = "gem";
+    };
+    version = "0.1.0";
+  };
   diffy = {
     groups = ["default"];
     platforms = [];
@@ -1374,10 +1395,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pdj9y3k6padiicfraxw9ibx9fm8yi2ihh608736lq5nnbf3k6gw";
+      sha256 = "01gbn1qmcvn49gjcbvd5fga57qc8l3915kb04ikkffvb6n09q7f7";
       type = "gem";
     };
-    version = "0.13.0";
+    version = "0.17.1";
   };
   flipper-active_record = {
     dependencies = ["activerecord" "flipper"];
@@ -1385,10 +1406,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rgm4h5h6xcbf17z47sw8ancaxva8x4hwlxmyqpm0vzj1pnc47c1";
+      sha256 = "154q9xajqs64gxa9fv4hwpad44x3rmwgpldrb941i8wi37dpzskg";
       type = "gem";
     };
-    version = "0.13.0";
+    version = "0.17.1";
   };
   flipper-active_support_cache_store = {
     dependencies = ["activesupport" "flipper"];
@@ -1396,10 +1417,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zpikmfhadb7l1ny6xbhk5d4840im6yq0wvfsnlw718spxi4ccgk";
+      sha256 = "0mkbyn3mx3f411x4z1l1djc9vix3wrfzd5rhrmxb83iqp60r42hg";
       type = "gem";
     };
-    version = "0.13.0";
+    version = "0.17.1";
   };
   flowdock = {
     dependencies = ["httparty" "multi_json"];
@@ -1517,21 +1538,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11mf7bk2737pyxjwba3a9lpgcxzbp0vgq01n2dn30774zysc90hj";
+      sha256 = "0a32q69rdsdw9zhmf2cflvvnikg20amidhn40sv2afw2qk91fcrz";
       type = "gem";
     };
-    version = "4.7.0.4";
-  };
-  foreman = {
-    dependencies = ["thor"];
-    groups = ["development"];
-    platforms = [];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "06mq39lpmc17bxzlwhad9d8i0lcnbb08xr18smh2x79mm631wsw0";
-      type = "gem";
-    };
-    version = "0.84.0";
+    version = "4.7.0.5";
   };
   formatador = {
     groups = ["default"];
@@ -1645,10 +1655,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0h8jzwifqgkrgh9d05g0vsdkyrnk75i53lmm3pfp9rj47gvn1z1j";
+      sha256 = "0b705d2fmdisirf3hydakswdr8jq786wbqn053gvxgssrwcdlrq3";
       type = "gem";
     };
-    version = "1.65.0";
+    version = "1.70.0";
   };
   github-markup = {
     groups = ["default"];
@@ -1666,10 +1676,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1j06gl4ksd83rycg3fb46bb77iw74i1ivs5li6pyf5klrxjq8k3h";
+      sha256 = "0r2zkxkj2l78c6qgr6k9lgcp7w6x7r703259rbsbrg7cfnjm43b7";
       type = "gem";
     };
-    version = "0.5.2";
+    version = "0.7.0";
   };
   gitlab-license = {
     groups = ["default"];
@@ -1794,10 +1804,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04988m3hmllg4sl4syjb35x0wzsg7rj1nmvhx3d9ihml22w76gb2";
+      sha256 = "0by3289irdklb9gjqw41fq6mg6yja3iyzh99dj8p8z9l4brllqn4";
       type = "gem";
     };
-    version = "3.7.1";
+    version = "3.8.0";
   };
   googleapis-common-protos-types = {
     dependencies = ["google-protobuf"];
@@ -1827,10 +1837,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12fqirxr964mc8jwsfl5nif6q4wcckrmj7w4c9ci4xg9xy2b9v6m";
+      sha256 = "0jbqajngi5ndqfarw9dxkhbphva0j71jav5wfym3fsiisvk5gg6p";
       type = "gem";
     };
-    version = "2.0.18";
+    version = "2.0.19";
   };
   grape = {
     dependencies = ["activesupport" "builder" "mustermann-grape" "rack" "rack-accept" "virtus"];
@@ -1914,10 +1924,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rdywzism5vxz8pnml6xjb9f19diclyy74014z69q01jzqwi1wgs";
+      sha256 = "18wikj9qd4jb4lks55cs2cf3q7fifnanm9z9ywnxhpj57vbnilpf";
       type = "gem";
     };
-    version = "1.19.0";
+    version = "1.24.0";
   };
   gssapi = {
     dependencies = ["ffi"];
@@ -1930,6 +1940,38 @@
     };
     version = "1.2.0";
   };
+  guard = {
+    dependencies = ["formatador" "listen" "lumberjack" "nenv" "notiffany" "pry" "shellany" "thor"];
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "000hn5cdqz3wl99b245q958c5byi2dlsqi814q5gmyljv7i47zwf";
+      type = "gem";
+    };
+    version = "2.15.1";
+  };
+  guard-compat = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1zj6sr1k8w59mmi27rsii0v8xyy2rnsi09nqvwpgj1q10yq1mlis";
+      type = "gem";
+    };
+    version = "1.2.1";
+  };
+  guard-rspec = {
+    dependencies = ["guard" "guard-compat" "rspec"];
+    groups = ["test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1jkm5xp90gm4c5s51pmf92i9hc10gslwwic6mvk72g0yplya0yx4";
+      type = "gem";
+    };
+    version = "4.7.3";
+  };
   haml = {
     dependencies = ["temple" "tilt"];
     groups = ["default" "development" "test"];
@@ -2241,10 +2283,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07w8ipjg59qavijq59hl82zs74jf3jsp7vxl9q3a2d0wpv5akz3y";
+      sha256 = "1d4wac0dcd1jf6kc57891glih9w57552zgqswgy74d1xhgnk0ngf";
       type = "gem";
     };
-    version = "1.3.1";
+    version = "1.4.0";
   };
   js_regex = {
     dependencies = ["character_set" "regexp_parser" "regexp_property_values"];
@@ -2450,6 +2492,17 @@
     };
     version = "8.9.2";
   };
+  listen = {
+    dependencies = ["rb-fsevent" "rb-inotify" "ruby_dep"];
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01v5mrnfqm6sgm8xn2v5swxsn1wlmq7rzh2i48d4jzjsc7qvb6mx";
+      type = "gem";
+    };
+    version = "3.1.5";
+  };
   locale = {
     groups = ["default" "development"];
     platforms = [];
@@ -2477,10 +2530,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06kfq90vi38gv6i128f4zg462kj32szs5vsgm25hxgw9zd12pj9x";
+      sha256 = "0npqav026zd7r4qdidq9x5nxcp2dzg71bnp421xxx7sngbxf2xbd";
       type = "gem";
     };
-    version = "2.3.0";
+    version = "2.3.1";
+  };
+  lumberjack = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "06im7gcg42x77yhz2w5da2ly9xz0n0c36y5ks7xs53v0l9g0vf5n";
+      type = "gem";
+    };
+    version = "1.0.13";
   };
   mail = {
     dependencies = ["mini_mime"];
@@ -2605,10 +2668,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1q4pshq387lzv9m39jv32vwb8wrq3wc4jwgl4jk209r4l33v09d3";
+      sha256 = "1axm0rxyx3ss93wbmfkm78a6x03l8y4qy60rhkkiq0aza0vwq3ha";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "1.0.2";
   };
   mini_portile2 = {
     groups = ["default" "development" "test"];
@@ -2721,6 +2784,16 @@
     };
     version = "1.1.0";
   };
+  nenv = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0r97jzknll9bhd8yyg2bngnnkj8rjhal667n7d32h8h7ny7nvpnr";
+      type = "gem";
+    };
+    version = "0.3.0";
+  };
   net-ldap = {
     groups = ["default"];
     platforms = [];
@@ -2787,10 +2860,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
+      sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
       type = "gem";
     };
-    version = "1.10.4";
+    version = "1.10.5";
   };
   nokogumbo = {
     dependencies = ["nokogiri"];
@@ -2803,6 +2876,17 @@
     };
     version = "1.5.0";
   };
+  notiffany = {
+    dependencies = ["nenv" "shellany"];
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0f47h3bmg1apr4x51szqfv3rh2vq58z3grh4w02cp3bzbdh6jxnk";
+      type = "gem";
+    };
+    version = "0.1.3";
+  };
   numerizer = {
     groups = ["default"];
     platforms = [];
@@ -3071,10 +3155,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ja7cjlm4z0k0pwwy64djl58pay3lzkw7im565fybs4a8q4wmacb";
+      sha256 = "0awybp2jnai0w2qfgqnr3f478g3nbg5r0vcm6pa5g8k5f4rs19qr";
       type = "gem";
     };
-    version = "0.3.1";
+    version = "0.3.3";
   };
   open4 = {
     groups = ["default" "development"];
@@ -3092,10 +3176,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1r13bv18nyvw0g1nw3fzffvv2si99zj24w0k5zgawf4q6nn5f7vd";
+      sha256 = "0r50vwf9hsf6r8gx5mwqs3w3w92l864ikiz9d0fcibqsr1489pbg";
       type = "gem";
     };
-    version = "1.1.6";
+    version = "1.1.8";
   };
   opentracing = {
     groups = ["default"];
@@ -3206,10 +3290,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "10w6f7r6snpkcnv3byxma9b08lyqzcfxkm083scb2dr2ly4xkzyf";
+      sha256 = "1xrhmialxn5vlp1nmf40a4db9gji4h2wbzd7f43sz64z8lvrjj6h";
       type = "gem";
     };
-    version = "1.10.4";
+    version = "1.11.1";
   };
   premailer-rails = {
     dependencies = ["actionmailer" "premailer"];
@@ -3217,10 +3301,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "05czxmx6hnykg6g23hy2ww2bf86a69njbi02sv7lrds4w776jhim";
+      sha256 = "0bqi7d4f15vy3f1g0xb3bxmncfbzv9dd3ilhqj0plvw64xqbkp3w";
       type = "gem";
     };
-    version = "1.9.7";
+    version = "1.10.3";
   };
   proc_to_ast = {
     dependencies = ["coderay" "parser" "unparser"];
@@ -3299,10 +3383,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1c7c5xxkx91hwj4572hbnyvxmydb90q69wlpr2l0dxrmwx2p365l";
+      sha256 = "0g9ds2ffzljl6jjmkjffwxc1z6lh5nkqqmhhkxjk71q5ggv0rkpm";
       type = "gem";
     };
-    version = "3.1.0";
+    version = "3.1.1";
   };
   puma = {
     groups = ["puma"];
@@ -3372,10 +3456,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1czx68p70x98y21dkdndsb64lrxf9qrv09wl1dbcxrypcjnpsdl1";
+      sha256 = "1sqjqwa18c0l59zdymcvvvnh5nk3pjggnzaydb2q1qbrk3rypcnq";
       type = "gem";
     };
-    version = "4.4.1";
+    version = "6.2.0";
   };
   rack-cors = {
     groups = ["default"];
@@ -3458,10 +3542,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "16kdkk73mhhs73iz3i1i0ryjm84dadiyh817b3nh8acdi490jyhy";
+      sha256 = "1m1rklj6pvzi4fydxcmcv4q0xd7913hhhw1hw530nfz1wkl7vjlf";
       type = "gem";
     };
-    version = "1.0.2";
+    version = "1.0.4";
   };
   rails-dom-testing = {
     dependencies = ["activesupport" "nokogiri"];
@@ -3640,10 +3724,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mymdx7s5sr4mablklaipz679ckczsiigswm1g2v5mc93yj5amw3";
+      sha256 = "08v2y91q1pmv12g9zsvwj66w3s8j9d82yrmxgyv4y4gz380j3wyh";
       type = "gem";
     };
-    version = "4.1.2";
+    version = "4.1.3";
   };
   redis-actionpack = {
     dependencies = ["actionpack" "redis-rack" "redis-store"];
@@ -3651,10 +3735,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15k41gz7nygd4yydk2yd25gghya1j7q6zifk4mdrra6bwnwjbm63";
+      sha256 = "1hvai5ygkyii9wq8h98wim8shgrm7vkv0js62zpm85vdl1xzvphz";
       type = "gem";
     };
-    version = "5.0.2";
+    version = "5.1.0";
   };
   redis-activesupport = {
     dependencies = ["activesupport" "redis-store"];
@@ -3662,10 +3746,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0y1df62gpqgy0yrlmgl05rp4kb0xvn0kylprhv1k32bs33dgpv62";
+      sha256 = "14a3z8810j02ysvg53f3mvcfb4rw34m91yfd19zy9y5lb3yv2g59";
       type = "gem";
     };
-    version = "5.0.7";
+    version = "5.2.0";
   };
   redis-namespace = {
     dependencies = ["redis"];
@@ -3684,10 +3768,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03xgdmq4fh187aqlh8z05idbxrmgddcarlb8x1kw4wjfcsf5afqi";
+      sha256 = "1pa19ydbk0l6wilwbxcjn6knfs4ffgj0rhaaldrlhf76pjgkaiqb";
       type = "gem";
     };
-    version = "2.0.5";
+    version = "2.0.6";
   };
   redis-rails = {
     dependencies = ["redis-actionpack" "redis-activesupport" "redis-store"];
@@ -3706,10 +3790,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1mrcnjgkbmx1zf569mly82agdizqayjvnp2k6055k1iy07in3j8b";
+      sha256 = "1isqzzds9kszc2nn8jiy8ikry01qspn7637ba9z2k6sk7vky46d9";
       type = "gem";
     };
-    version = "1.6.0";
+    version = "1.8.1";
   };
   regexp_parser = {
     groups = ["default" "development" "test"];
@@ -3758,10 +3842,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18lqbiyc7234vd6iwxia5yvvzg6bdvdwl2nm4a5y7ia5fxjl3kqm";
+      sha256 = "1p7pqcfq33q1z4xlp4qm94w4h3fzc1yvr3cny16d00i8b20v4rx2";
       type = "gem";
     };
-    version = "2.4.1";
+    version = "3.0.0";
   };
   rest-client = {
     dependencies = ["http-cookie" "mime-types" "netrc"];
@@ -4052,6 +4136,16 @@
     };
     version = "1.7.2";
   };
+  ruby_dep = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1c1bkl97i9mkcvkn1jks346ksnvnnp84cs22gwl0vd7radybrgy5";
+      type = "gem";
+    };
+    version = "1.5.0";
+  };
   ruby_parser = {
     dependencies = ["sexp_processor"];
     groups = ["default"];
@@ -4084,14 +4178,14 @@
     version = "0.2.0";
   };
   rubyzip = {
-    groups = ["default" "development" "test"];
+    groups = ["default" "development" "omnibus" "test"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1n1lb2sdwh9h27y244hxzg1lrxxg2m53pk1vq7p33bna003qkyrj";
+      sha256 = "1qxc2zxwwipm6kviiar4gfhcakpx1jdcs89v6lvzivn5hq1xk78l";
       type = "gem";
     };
-    version = "1.2.2";
+    version = "1.3.0";
   };
   rugged = {
     groups = ["default"];
@@ -4243,6 +4337,16 @@
     };
     version = "4.12.0";
   };
+  shellany = {
+    groups = ["default" "test"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ryyzrj1kxmnpdzhlv4ys3dnl2r5r3d2rs2jwzbnd1v96a8pl4hf";
+      type = "gem";
+    };
+    version = "0.0.1";
+  };
   shoulda-matchers = {
     dependencies = ["activesupport"];
     groups = ["test"];
@@ -4439,10 +4543,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0chhm5hs1y83dq8haff10m66r3yrm7jab35r9xg6adn6qd8ynv2l";
+      sha256 = "05c2dw3115zj3pmyyqh2iypc7afj8ibhrghisg0d61z7gzmir1rd";
       type = "gem";
     };
-    version = "0.5.1";
+    version = "0.7.1";
   };
   state_machines-activerecord = {
     dependencies = ["activerecord" "state_machines-activemodel"];
@@ -4450,10 +4554,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00h07gd4kb22ahgv61r8zca9hqxaw44fnk2sc28j00c1nmwsw6r3";
+      sha256 = "12g7yqy11fpfiprzc86pwa9jjky1h3haxj37kg47467fgg43p511";
       type = "gem";
     };
-    version = "0.5.1";
+    version = "0.6.0";
   };
   swd = {
     dependencies = ["activesupport" "attr_required" "httpclient"];
diff --git a/pkgs/applications/version-management/gitlab/update.py b/pkgs/applications/version-management/gitlab/update.py
index 1aeb459f64c9..a2231f813e82 100755
--- a/pkgs/applications/version-management/gitlab/update.py
+++ b/pkgs/applications/version-management/gitlab/update.py
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#! nix-shell -i python3 -p bundix common-updater-scripts nix nix-prefetch-git python3 python3Packages.requests python3Packages.lxml python3Packages.click python3Packages.click-log vgo2nix yarn2nix-moretea.yarn2nix
+#! nix-shell -i python3 -p bundix common-updater-scripts nix nix-prefetch-git python3 python3Packages.requests python3Packages.lxml python3Packages.click python3Packages.click-log vgo2nix yarn2nix
 
 import click
 import click_log
diff --git a/pkgs/applications/version-management/gitlab/yarnPkgs.nix b/pkgs/applications/version-management/gitlab/yarnPkgs.nix
index cff2603129d5..04c0b44f4ac5 100644
--- a/pkgs/applications/version-management/gitlab/yarnPkgs.nix
+++ b/pkgs/applications/version-management/gitlab/yarnPkgs.nix
@@ -42,14 +42,6 @@
       };
     }
     {
-      name = "_babel_helper_builder_react_jsx___helper_builder_react_jsx_7.3.0.tgz";
-      path = fetchurl {
-        name = "_babel_helper_builder_react_jsx___helper_builder_react_jsx_7.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz";
-        sha1 = "a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4";
-      };
-    }
-    {
       name = "_babel_helper_call_delegate___helper_call_delegate_7.4.4.tgz";
       path = fetchurl {
         name = "_babel_helper_call_delegate___helper_call_delegate_7.4.4.tgz";
@@ -210,14 +202,6 @@
       };
     }
     {
-      name = "_babel_parser___parser_7.1.3.tgz";
-      path = fetchurl {
-        name = "_babel_parser___parser_7.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.1.3.tgz";
-        sha1 = "2c92469bac2b7fbff810b67fca07bd138b48af77";
-      };
-    }
-    {
       name = "_babel_parser___parser_7.6.2.tgz";
       path = fetchurl {
         name = "_babel_parser___parser_7.6.2.tgz";
@@ -242,22 +226,6 @@
       };
     }
     {
-      name = "_babel_plugin_proposal_decorators___plugin_proposal_decorators_7.4.4.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_decorators___plugin_proposal_decorators_7.4.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.4.tgz";
-        sha1 = "de9b2a1a8ab0196f378e2a82f10b6e2a36f21cc0";
-      };
-    }
-    {
-      name = "_babel_plugin_proposal_do_expressions___plugin_proposal_do_expressions_7.5.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_do_expressions___plugin_proposal_do_expressions_7.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-do-expressions/-/plugin-proposal-do-expressions-7.5.0.tgz";
-        sha1 = "ceb594d4a618545b00aa0b5cd61cad4aaaeb7a5a";
-      };
-    }
-    {
       name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.5.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_dynamic_import___plugin_proposal_dynamic_import_7.5.0.tgz";
@@ -266,38 +234,6 @@
       };
     }
     {
-      name = "_babel_plugin_proposal_export_default_from___plugin_proposal_export_default_from_7.5.2.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_export_default_from___plugin_proposal_export_default_from_7.5.2.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.5.2.tgz";
-        sha1 = "2c0ac2dcc36e3b2443fead2c3c5fc796fb1b5145";
-      };
-    }
-    {
-      name = "_babel_plugin_proposal_export_namespace_from___plugin_proposal_export_namespace_from_7.5.2.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_export_namespace_from___plugin_proposal_export_namespace_from_7.5.2.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.5.2.tgz";
-        sha1 = "ccd5ed05b06d700688ff1db01a9dd27155e0d2a0";
-      };
-    }
-    {
-      name = "_babel_plugin_proposal_function_bind___plugin_proposal_function_bind_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_function_bind___plugin_proposal_function_bind_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-function-bind/-/plugin-proposal-function-bind-7.2.0.tgz";
-        sha1 = "94dc2cdc505cafc4e225c0014335a01648056bf7";
-      };
-    }
-    {
-      name = "_babel_plugin_proposal_function_sent___plugin_proposal_function_sent_7.5.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_function_sent___plugin_proposal_function_sent_7.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.5.0.tgz";
-        sha1 = "39233aa801145e7d8072077cdb2d25f781c1ffd7";
-      };
-    }
-    {
       name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.2.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_json_strings___plugin_proposal_json_strings_7.2.0.tgz";
@@ -306,30 +242,6 @@
       };
     }
     {
-      name = "_babel_plugin_proposal_logical_assignment_operators___plugin_proposal_logical_assignment_operators_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_logical_assignment_operators___plugin_proposal_logical_assignment_operators_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.2.0.tgz";
-        sha1 = "8a5cea6c42a7c87446959e02fff5fad012c56f57";
-      };
-    }
-    {
-      name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.4.4.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_nullish_coalescing_operator___plugin_proposal_nullish_coalescing_operator_7.4.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.4.4.tgz";
-        sha1 = "41c360d59481d88e0ce3a3f837df10121a769b39";
-      };
-    }
-    {
-      name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_numeric_separator___plugin_proposal_numeric_separator_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.2.0.tgz";
-        sha1 = "646854daf4cd22fd6733f6076013a936310443ac";
-      };
-    }
-    {
       name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.6.2.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_object_rest_spread___plugin_proposal_object_rest_spread_7.6.2.tgz";
@@ -346,22 +258,6 @@
       };
     }
     {
-      name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_optional_chaining___plugin_proposal_optional_chaining_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.2.0.tgz";
-        sha1 = "ae454f4c21c6c2ce8cb2397dc332ae8b420c5441";
-      };
-    }
-    {
-      name = "_babel_plugin_proposal_pipeline_operator___plugin_proposal_pipeline_operator_7.5.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_pipeline_operator___plugin_proposal_pipeline_operator_7.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-pipeline-operator/-/plugin-proposal-pipeline-operator-7.5.0.tgz";
-        sha1 = "4100ec55ef4f6a4c2490b5f5a4f2a22dfa272c06";
-      };
-    }
-    {
       name = "_babel_plugin_proposal_private_methods___plugin_proposal_private_methods_7.6.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_private_methods___plugin_proposal_private_methods_7.6.0.tgz";
@@ -370,14 +266,6 @@
       };
     }
     {
-      name = "_babel_plugin_proposal_throw_expressions___plugin_proposal_throw_expressions_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_proposal_throw_expressions___plugin_proposal_throw_expressions_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-proposal-throw-expressions/-/plugin-proposal-throw-expressions-7.2.0.tgz";
-        sha1 = "2d9e452d370f139000e51db65d0a85dc60c64739";
-      };
-    }
-    {
       name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.6.2.tgz";
       path = fetchurl {
         name = "_babel_plugin_proposal_unicode_property_regex___plugin_proposal_unicode_property_regex_7.6.2.tgz";
@@ -394,22 +282,6 @@
       };
     }
     {
-      name = "_babel_plugin_syntax_decorators___plugin_syntax_decorators_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_decorators___plugin_syntax_decorators_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz";
-        sha1 = "c50b1b957dcc69e4b1127b65e1c33eef61570c1b";
-      };
-    }
-    {
-      name = "_babel_plugin_syntax_do_expressions___plugin_syntax_do_expressions_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_do_expressions___plugin_syntax_do_expressions_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-do-expressions/-/plugin-syntax-do-expressions-7.2.0.tgz";
-        sha1 = "f3d4b01be05ecde2892086d7cfd5f1fa1ead5a2a";
-      };
-    }
-    {
       name = "_babel_plugin_syntax_dynamic_import___plugin_syntax_dynamic_import_7.2.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_syntax_dynamic_import___plugin_syntax_dynamic_import_7.2.0.tgz";
@@ -418,46 +290,6 @@
       };
     }
     {
-      name = "_babel_plugin_syntax_export_default_from___plugin_syntax_export_default_from_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_export_default_from___plugin_syntax_export_default_from_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.2.0.tgz";
-        sha1 = "edd83b7adc2e0d059e2467ca96c650ab6d2f3820";
-      };
-    }
-    {
-      name = "_babel_plugin_syntax_export_namespace_from___plugin_syntax_export_namespace_from_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_export_namespace_from___plugin_syntax_export_namespace_from_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.2.0.tgz";
-        sha1 = "8d257838c6b3b779db52c0224443459bd27fb039";
-      };
-    }
-    {
-      name = "_babel_plugin_syntax_flow___plugin_syntax_flow_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_flow___plugin_syntax_flow_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz";
-        sha1 = "a765f061f803bc48f240c26f8747faf97c26bf7c";
-      };
-    }
-    {
-      name = "_babel_plugin_syntax_function_bind___plugin_syntax_function_bind_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_function_bind___plugin_syntax_function_bind_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-function-bind/-/plugin-syntax-function-bind-7.2.0.tgz";
-        sha1 = "68fe85b0c0da67125f87bf239c68051b06c66309";
-      };
-    }
-    {
-      name = "_babel_plugin_syntax_function_sent___plugin_syntax_function_sent_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_function_sent___plugin_syntax_function_sent_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.2.0.tgz";
-        sha1 = "91474d4d400604e4c6cbd4d77cd6cb3b8565576c";
-      };
-    }
-    {
       name = "_babel_plugin_syntax_import_meta___plugin_syntax_import_meta_7.2.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_syntax_import_meta___plugin_syntax_import_meta_7.2.0.tgz";
@@ -474,38 +306,6 @@
       };
     }
     {
-      name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_jsx___plugin_syntax_jsx_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz";
-        sha1 = "0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7";
-      };
-    }
-    {
-      name = "_babel_plugin_syntax_logical_assignment_operators___plugin_syntax_logical_assignment_operators_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_logical_assignment_operators___plugin_syntax_logical_assignment_operators_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.2.0.tgz";
-        sha1 = "fcab7388530e96c6f277ce494c55caa6c141fcfb";
-      };
-    }
-    {
-      name = "_babel_plugin_syntax_nullish_coalescing_operator___plugin_syntax_nullish_coalescing_operator_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_nullish_coalescing_operator___plugin_syntax_nullish_coalescing_operator_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.2.0.tgz";
-        sha1 = "f75083dfd5ade73e783db729bbd87e7b9efb7624";
-      };
-    }
-    {
-      name = "_babel_plugin_syntax_numeric_separator___plugin_syntax_numeric_separator_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_numeric_separator___plugin_syntax_numeric_separator_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.2.0.tgz";
-        sha1 = "7470fe070c2944469a756752a69a6963135018be";
-      };
-    }
-    {
       name = "_babel_plugin_syntax_object_rest_spread___plugin_syntax_object_rest_spread_7.2.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_syntax_object_rest_spread___plugin_syntax_object_rest_spread_7.2.0.tgz";
@@ -522,30 +322,6 @@
       };
     }
     {
-      name = "_babel_plugin_syntax_optional_chaining___plugin_syntax_optional_chaining_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_optional_chaining___plugin_syntax_optional_chaining_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.2.0.tgz";
-        sha1 = "a59d6ae8c167e7608eaa443fda9fa8fa6bf21dff";
-      };
-    }
-    {
-      name = "_babel_plugin_syntax_pipeline_operator___plugin_syntax_pipeline_operator_7.5.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_pipeline_operator___plugin_syntax_pipeline_operator_7.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-pipeline-operator/-/plugin-syntax-pipeline-operator-7.5.0.tgz";
-        sha1 = "8ea7c2c22847c797748bf07752722a317079dc1e";
-      };
-    }
-    {
-      name = "_babel_plugin_syntax_throw_expressions___plugin_syntax_throw_expressions_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_syntax_throw_expressions___plugin_syntax_throw_expressions_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-syntax-throw-expressions/-/plugin-syntax-throw-expressions-7.2.0.tgz";
-        sha1 = "79001ee2afe1b174b1733cdc2fc69c9a46a0f1f8";
-      };
-    }
-    {
       name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.2.0.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_arrow_functions___plugin_transform_arrow_functions_7.2.0.tgz";
@@ -626,14 +402,6 @@
       };
     }
     {
-      name = "_babel_plugin_transform_flow_strip_types___plugin_transform_flow_strip_types_7.4.4.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_transform_flow_strip_types___plugin_transform_flow_strip_types_7.4.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.4.tgz";
-        sha1 = "d267a081f49a8705fc9146de0768c6b58dccd8f7";
-      };
-    }
-    {
       name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.4.4.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_for_of___plugin_transform_for_of_7.4.4.tgz";
@@ -738,38 +506,6 @@
       };
     }
     {
-      name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_transform_react_display_name___plugin_transform_react_display_name_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz";
-        sha1 = "ebfaed87834ce8dc4279609a4f0c324c156e3eb0";
-      };
-    }
-    {
-      name = "_babel_plugin_transform_react_jsx_self___plugin_transform_react_jsx_self_7.2.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_transform_react_jsx_self___plugin_transform_react_jsx_self_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz";
-        sha1 = "461e21ad9478f1031dd5e276108d027f1b5240ba";
-      };
-    }
-    {
-      name = "_babel_plugin_transform_react_jsx_source___plugin_transform_react_jsx_source_7.5.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_transform_react_jsx_source___plugin_transform_react_jsx_source_7.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz";
-        sha1 = "583b10c49cf057e237085bcbd8cc960bd83bd96b";
-      };
-    }
-    {
-      name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.3.0.tgz";
-      path = fetchurl {
-        name = "_babel_plugin_transform_react_jsx___plugin_transform_react_jsx_7.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz";
-        sha1 = "f2cab99026631c767e2745a5368b331cfe8f5290";
-      };
-    }
-    {
       name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.4.5.tgz";
       path = fetchurl {
         name = "_babel_plugin_transform_regenerator___plugin_transform_regenerator_7.4.5.tgz";
@@ -842,30 +578,6 @@
       };
     }
     {
-      name = "_babel_preset_flow___preset_flow_7.0.0.tgz";
-      path = fetchurl {
-        name = "_babel_preset_flow___preset_flow_7.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.0.0.tgz";
-        sha1 = "afd764835d9535ec63d8c7d4caf1c06457263da2";
-      };
-    }
-    {
-      name = "_babel_preset_react___preset_react_7.0.0.tgz";
-      path = fetchurl {
-        name = "_babel_preset_react___preset_react_7.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz";
-        sha1 = "e86b4b3d99433c7b3e9e91747e2653958bc6b3c0";
-      };
-    }
-    {
-      name = "_babel_preset_stage_0___preset_stage_0_7.0.0.tgz";
-      path = fetchurl {
-        name = "_babel_preset_stage_0___preset_stage_0_7.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/preset-stage-0/-/preset-stage-0-7.0.0.tgz";
-        sha1 = "999aaec79ee8f0a763042c68c06539c97c6e0646";
-      };
-    }
-    {
       name = "_babel_standalone___standalone_7.5.5.tgz";
       path = fetchurl {
         name = "_babel_standalone___standalone_7.5.5.tgz";
@@ -938,27 +650,27 @@
       };
     }
     {
-      name = "_gitlab_svgs___svgs_1.78.0.tgz";
+      name = "_gitlab_svgs___svgs_1.82.0.tgz";
       path = fetchurl {
-        name = "_gitlab_svgs___svgs_1.78.0.tgz";
-        url  = "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-1.78.0.tgz";
-        sha1 = "469493bd6cdd254eb5d1271edeab22bbbee2f4c4";
+        name = "_gitlab_svgs___svgs_1.82.0.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/svgs/-/svgs-1.82.0.tgz";
+        sha1 = "c059c460afc13ebfe9df370521ca8963fa5afb80";
       };
     }
     {
-      name = "_gitlab_ui___ui_5.36.0.tgz";
+      name = "_gitlab_ui___ui_7.11.0.tgz";
       path = fetchurl {
-        name = "_gitlab_ui___ui_5.36.0.tgz";
-        url  = "https://registry.yarnpkg.com/@gitlab/ui/-/ui-5.36.0.tgz";
-        sha1 = "3087b23c138ad1c222f6b047e533f253371bc618";
+        name = "_gitlab_ui___ui_7.11.0.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/ui/-/ui-7.11.0.tgz";
+        sha1 = "b5c981f3b1edbf0ad75bcca8fa1cd81017676b3b";
       };
     }
     {
-      name = "_gitlab_visual_review_tools___visual_review_tools_1.0.3.tgz";
+      name = "_gitlab_visual_review_tools___visual_review_tools_1.2.0.tgz";
       path = fetchurl {
-        name = "_gitlab_visual_review_tools___visual_review_tools_1.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/@gitlab/visual-review-tools/-/visual-review-tools-1.0.3.tgz";
-        sha1 = "b49c4a6fd8af3a1517d7e7d04096562f8bcb5d14";
+        name = "_gitlab_visual_review_tools___visual_review_tools_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/@gitlab/visual-review-tools/-/visual-review-tools-1.2.0.tgz";
+        sha1 = "8d6757917193c1023012bb4a316dc1a97309a27a";
       };
     }
     {
@@ -1074,6 +786,62 @@
       };
     }
     {
+      name = "_sentry_browser___browser_5.7.1.tgz";
+      path = fetchurl {
+        name = "_sentry_browser___browser_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/browser/-/browser-5.7.1.tgz";
+        sha1 = "1f8435e2a325d7a09f830065ebce40a2b3c708a4";
+      };
+    }
+    {
+      name = "_sentry_core___core_5.7.1.tgz";
+      path = fetchurl {
+        name = "_sentry_core___core_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/core/-/core-5.7.1.tgz";
+        sha1 = "3eb2b7662cac68245931ee939ec809bf7a639d0e";
+      };
+    }
+    {
+      name = "_sentry_hub___hub_5.7.1.tgz";
+      path = fetchurl {
+        name = "_sentry_hub___hub_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.7.1.tgz";
+        sha1 = "a52acd9fead7f3779d96e9965c6978aecc8b9cad";
+      };
+    }
+    {
+      name = "_sentry_minimal___minimal_5.7.1.tgz";
+      path = fetchurl {
+        name = "_sentry_minimal___minimal_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.7.1.tgz";
+        sha1 = "56afc537737586929e25349765e37a367958c1e1";
+      };
+    }
+    {
+      name = "_sentry_types___types_5.7.1.tgz";
+      path = fetchurl {
+        name = "_sentry_types___types_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/types/-/types-5.7.1.tgz";
+        sha1 = "4c4c1d4d891b6b8c2c3c7b367d306a8b1350f090";
+      };
+    }
+    {
+      name = "_sentry_utils___utils_5.7.1.tgz";
+      path = fetchurl {
+        name = "_sentry_utils___utils_5.7.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.7.1.tgz";
+        sha1 = "cf37ad55f78e317665cd8680f202d307fa77f1d0";
+      };
+    }
+    {
+      name = "_sourcegraph_code_host_integration___code_host_integration_0.0.13.tgz";
+      path = fetchurl {
+        name = "_sourcegraph_code_host_integration___code_host_integration_0.0.13.tgz";
+        url  = "https://registry.yarnpkg.com/@sourcegraph/code-host-integration/-/code-host-integration-0.0.13.tgz";
+        sha1 = "4fd5fe1e0088c63b2a26be231c5a2a4ca79b1596";
+      };
+    }
+    {
       name = "_types_anymatch___anymatch_1.3.0.tgz";
       path = fetchurl {
         name = "_types_anymatch___anymatch_1.3.0.tgz";
@@ -1434,6 +1202,22 @@
       };
     }
     {
+      name = "_wry_context___context_0.4.4.tgz";
+      path = fetchurl {
+        name = "_wry_context___context_0.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/@wry/context/-/context-0.4.4.tgz";
+        sha1 = "e50f5fa1d6cfaabf2977d1fda5ae91717f8815f8";
+      };
+    }
+    {
+      name = "_wry_equality___equality_0.1.9.tgz";
+      path = fetchurl {
+        name = "_wry_equality___equality_0.1.9.tgz";
+        url  = "https://registry.yarnpkg.com/@wry/equality/-/equality-0.1.9.tgz";
+        sha1 = "b13e18b7a8053c6858aa6c85b54911fb31e3a909";
+      };
+    }
+    {
       name = "_xtuc_ieee754___ieee754_1.2.0.tgz";
       path = fetchurl {
         name = "_xtuc_ieee754___ieee754_1.2.0.tgz";
@@ -1458,14 +1242,6 @@
       };
     }
     {
-      name = "JSONStream___JSONStream_1.3.5.tgz";
-      path = fetchurl {
-        name = "JSONStream___JSONStream_1.3.5.tgz";
-        url  = "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz";
-        sha1 = "3208c1f08d3a4d99261ab64f92302bc15e111ca0";
-      };
-    }
-    {
       name = "abab___abab_2.0.0.tgz";
       path = fetchurl {
         name = "abab___abab_2.0.0.tgz";
@@ -1658,27 +1434,27 @@
       };
     }
     {
-      name = "apollo_cache_inmemory___apollo_cache_inmemory_1.5.1.tgz";
+      name = "apollo_cache_inmemory___apollo_cache_inmemory_1.6.3.tgz";
       path = fetchurl {
-        name = "apollo_cache_inmemory___apollo_cache_inmemory_1.5.1.tgz";
-        url  = "https://registry.yarnpkg.com/apollo-cache-inmemory/-/apollo-cache-inmemory-1.5.1.tgz";
-        sha1 = "265d1ee67b0bf0aca9c37629d410bfae44e62953";
+        name = "apollo_cache_inmemory___apollo_cache_inmemory_1.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-cache-inmemory/-/apollo-cache-inmemory-1.6.3.tgz";
+        sha1 = "826861d20baca4abc45f7ca7a874105905b8525d";
       };
     }
     {
-      name = "apollo_cache___apollo_cache_1.2.1.tgz";
+      name = "apollo_cache___apollo_cache_1.3.2.tgz";
       path = fetchurl {
-        name = "apollo_cache___apollo_cache_1.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/apollo-cache/-/apollo-cache-1.2.1.tgz";
-        sha1 = "aae71eb4a11f1f7322adc343f84b1a39b0693644";
+        name = "apollo_cache___apollo_cache_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-cache/-/apollo-cache-1.3.2.tgz";
+        sha1 = "df4dce56240d6c95c613510d7e409f7214e6d26a";
       };
     }
     {
-      name = "apollo_client___apollo_client_2.5.1.tgz";
+      name = "apollo_client___apollo_client_2.6.4.tgz";
       path = fetchurl {
-        name = "apollo_client___apollo_client_2.5.1.tgz";
-        url  = "https://registry.yarnpkg.com/apollo-client/-/apollo-client-2.5.1.tgz";
-        sha1 = "36126ed1d32edd79c3713c6684546a3bea80e6d1";
+        name = "apollo_client___apollo_client_2.6.4.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-client/-/apollo-client-2.6.4.tgz";
+        sha1 = "872c32927263a0d34655c5ef8a8949fbb20b6140";
       };
     }
     {
@@ -1698,14 +1474,6 @@
       };
     }
     {
-      name = "apollo_link_dedup___apollo_link_dedup_1.0.10.tgz";
-      path = fetchurl {
-        name = "apollo_link_dedup___apollo_link_dedup_1.0.10.tgz";
-        url  = "https://registry.yarnpkg.com/apollo-link-dedup/-/apollo-link-dedup-1.0.10.tgz";
-        sha1 = "7b94589fe7f969777efd18a129043c78430800ae";
-      };
-    }
-    {
       name = "apollo_link_http_common___apollo_link_http_common_0.2.13.tgz";
       path = fetchurl {
         name = "apollo_link_http_common___apollo_link_http_common_0.2.13.tgz";
@@ -1730,19 +1498,11 @@
       };
     }
     {
-      name = "apollo_utilities___apollo_utilities_1.2.1.tgz";
+      name = "apollo_utilities___apollo_utilities_1.3.2.tgz";
       path = fetchurl {
-        name = "apollo_utilities___apollo_utilities_1.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.2.1.tgz";
-        sha1 = "1c3a1ebf5607d7c8efe7636daaf58e7463b41b3c";
-      };
-    }
-    {
-      name = "append_buffer___append_buffer_1.0.2.tgz";
-      path = fetchurl {
-        name = "append_buffer___append_buffer_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz";
-        sha1 = "d8220cf466081525efea50614f3de6514dfa58f1";
+        name = "apollo_utilities___apollo_utilities_1.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.3.2.tgz";
+        sha1 = "8cbdcf8b012f664cd6cb5767f6130f5aed9115c9";
       };
     }
     {
@@ -2122,14 +1882,6 @@
       };
     }
     {
-      name = "babelify___babelify_10.0.0.tgz";
-      path = fetchurl {
-        name = "babelify___babelify_10.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/babelify/-/babelify-10.0.0.tgz";
-        sha1 = "fe73b1a22583f06680d8d072e25a1e0d1d1d7fb5";
-      };
-    }
-    {
       name = "babylon___babylon_7.0.0_beta.19.tgz";
       path = fetchurl {
         name = "babylon___babylon_7.0.0_beta.19.tgz";
@@ -2298,14 +2050,6 @@
       };
     }
     {
-      name = "body___body_5.1.0.tgz";
-      path = fetchurl {
-        name = "body___body_5.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/body/-/body-5.1.0.tgz";
-        sha1 = "e4ba0ce410a46936323367609ecb4e6553125069";
-      };
-    }
-    {
       name = "bonjour___bonjour_3.5.0.tgz";
       path = fetchurl {
         name = "bonjour___bonjour_3.5.0.tgz";
@@ -2458,14 +2202,6 @@
       };
     }
     {
-      name = "buffer_equal___buffer_equal_1.0.0.tgz";
-      path = fetchurl {
-        name = "buffer_equal___buffer_equal_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz";
-        sha1 = "59616b498304d556abd466966b22eeda3eca5fbe";
-      };
-    }
-    {
       name = "buffer_from___buffer_from_1.1.1.tgz";
       path = fetchurl {
         name = "buffer_from___buffer_from_1.1.1.tgz";
@@ -2490,14 +2226,6 @@
       };
     }
     {
-      name = "buffer_shims___buffer_shims_1.0.0.tgz";
-      path = fetchurl {
-        name = "buffer_shims___buffer_shims_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz";
-        sha1 = "9978ce317388c649ad8793028c3477ef044a8b51";
-      };
-    }
-    {
       name = "buffer_xor___buffer_xor_1.0.3.tgz";
       path = fetchurl {
         name = "buffer_xor___buffer_xor_1.0.3.tgz";
@@ -2522,14 +2250,6 @@
       };
     }
     {
-      name = "bytes___bytes_1.0.0.tgz";
-      path = fetchurl {
-        name = "bytes___bytes_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/bytes/-/bytes-1.0.0.tgz";
-        sha1 = "3569ede8ba34315fab99c3e92cb04c7220de1fa8";
-      };
-    }
-    {
       name = "bytes___bytes_3.0.0.tgz";
       path = fetchurl {
         name = "bytes___bytes_3.0.0.tgz";
@@ -2578,14 +2298,6 @@
       };
     }
     {
-      name = "cached_path_relative___cached_path_relative_1.0.2.tgz";
-      path = fetchurl {
-        name = "cached_path_relative___cached_path_relative_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.0.2.tgz";
-        sha1 = "a13df4196d26776220cc3356eb147a52dba2c6db";
-      };
-    }
-    {
       name = "call_me_maybe___call_me_maybe_1.0.1.tgz";
       path = fetchurl {
         name = "call_me_maybe___call_me_maybe_1.0.1.tgz";
@@ -2994,14 +2706,6 @@
       };
     }
     {
-      name = "clone_buffer___clone_buffer_1.0.0.tgz";
-      path = fetchurl {
-        name = "clone_buffer___clone_buffer_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz";
-        sha1 = "e3e25b207ac4e701af721e2cb5a16792cac3dc58";
-      };
-    }
-    {
       name = "clone_deep___clone_deep_4.0.1.tgz";
       path = fetchurl {
         name = "clone_deep___clone_deep_4.0.1.tgz";
@@ -3018,30 +2722,6 @@
       };
     }
     {
-      name = "clone_stats___clone_stats_1.0.0.tgz";
-      path = fetchurl {
-        name = "clone_stats___clone_stats_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz";
-        sha1 = "b3782dff8bb5474e18b9b6bf0fdfe782f8777680";
-      };
-    }
-    {
-      name = "clone___clone_2.1.2.tgz";
-      path = fetchurl {
-        name = "clone___clone_2.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz";
-        sha1 = "1b7f4b9f591f1e8f83670401600345a02887435f";
-      };
-    }
-    {
-      name = "cloneable_readable___cloneable_readable_1.1.3.tgz";
-      path = fetchurl {
-        name = "cloneable_readable___cloneable_readable_1.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz";
-        sha1 = "120a00cb053bfb63a222e709f9683ea2e11d8cec";
-      };
-    }
-    {
       name = "co___co_4.6.0.tgz";
       path = fetchurl {
         name = "co___co_4.6.0.tgz";
@@ -3138,14 +2818,6 @@
       };
     }
     {
-      name = "comma_separated_tokens___comma_separated_tokens_1.0.7.tgz";
-      path = fetchurl {
-        name = "comma_separated_tokens___comma_separated_tokens_1.0.7.tgz";
-        url  = "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.7.tgz";
-        sha1 = "419cd7fb3258b1ed838dc0953167a25e152f5b59";
-      };
-    }
-    {
       name = "commander___commander_2.20.0.tgz";
       path = fetchurl {
         name = "commander___commander_2.20.0.tgz";
@@ -3242,14 +2914,6 @@
       };
     }
     {
-      name = "concat_stream___concat_stream_1.5.2.tgz";
-      path = fetchurl {
-        name = "concat_stream___concat_stream_1.5.2.tgz";
-        url  = "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz";
-        sha1 = "708978624d856af41a5a741defdd261da752c266";
-      };
-    }
-    {
       name = "config_chain___config_chain_1.1.12.tgz";
       path = fetchurl {
         name = "config_chain___config_chain_1.1.12.tgz";
@@ -3346,14 +3010,6 @@
       };
     }
     {
-      name = "continuable_cache___continuable_cache_0.3.1.tgz";
-      path = fetchurl {
-        name = "continuable_cache___continuable_cache_0.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/continuable-cache/-/continuable-cache-0.3.1.tgz";
-        sha1 = "bd727a7faed77e71ff3985ac93351a912733ad0f";
-      };
-    }
-    {
       name = "convert_source_map___convert_source_map_1.6.0.tgz";
       path = fetchurl {
         name = "convert_source_map___convert_source_map_1.6.0.tgz";
@@ -3554,6 +3210,14 @@
       };
     }
     {
+      name = "crypto_random_string___crypto_random_string_3.0.1.tgz";
+      path = fetchurl {
+        name = "crypto_random_string___crypto_random_string_3.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-3.0.1.tgz";
+        sha1 = "29d7dc759d577a768afb3b7b2765dd9bd7ffe36a";
+      };
+    }
+    {
       name = "css_b64_images___css_b64_images_0.2.5.tgz";
       path = fetchurl {
         name = "css_b64_images___css_b64_images_0.2.5.tgz";
@@ -3618,6 +3282,14 @@
       };
     }
     {
+      name = "cssfontparser___cssfontparser_1.2.1.tgz";
+      path = fetchurl {
+        name = "cssfontparser___cssfontparser_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/cssfontparser/-/cssfontparser-1.2.1.tgz";
+        sha1 = "f4022fc8f9700c68029d542084afbaf425a3f3e3";
+      };
+    }
+    {
       name = "cssom___cssom_0.3.4.tgz";
       path = fetchurl {
         name = "cssom___cssom_0.3.4.tgz";
@@ -3946,27 +3618,27 @@
       };
     }
     {
-      name = "d3___d3_5.9.2.tgz";
+      name = "d3___d3_5.12.0.tgz";
       path = fetchurl {
-        name = "d3___d3_5.9.2.tgz";
-        url  = "https://registry.yarnpkg.com/d3/-/d3-5.9.2.tgz";
-        sha1 = "64e8a7e9c3d96d9e6e4999d2c8a2c829767e67f5";
+        name = "d3___d3_5.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/d3/-/d3-5.12.0.tgz";
+        sha1 = "0ddeac879c28c882317cd439b495290acd59ab61";
       };
     }
     {
-      name = "dagre_d3_renderer___dagre_d3_renderer_0.5.8.tgz";
+      name = "https___codeload.github.com_dagrejs_dagre_d3_tar.gz_e1a00e5cb518f5d2304a35647e024f31d178e55b";
       path = fetchurl {
-        name = "dagre_d3_renderer___dagre_d3_renderer_0.5.8.tgz";
-        url  = "https://registry.yarnpkg.com/dagre-d3-renderer/-/dagre-d3-renderer-0.5.8.tgz";
-        sha1 = "aa071bb71d3c4d67426925906f3f6ddead49c1a3";
+        name = "https___codeload.github.com_dagrejs_dagre_d3_tar.gz_e1a00e5cb518f5d2304a35647e024f31d178e55b";
+        url  = "https://codeload.github.com/dagrejs/dagre-d3/tar.gz/e1a00e5cb518f5d2304a35647e024f31d178e55b";
+        sha1 = "7400df3f5fe80538fde43d0201e1570e1d689004";
       };
     }
     {
-      name = "dagre_layout___dagre_layout_0.8.8.tgz";
+      name = "dagre___dagre_0.8.4.tgz";
       path = fetchurl {
-        name = "dagre_layout___dagre_layout_0.8.8.tgz";
-        url  = "https://registry.yarnpkg.com/dagre-layout/-/dagre-layout-0.8.8.tgz";
-        sha1 = "9b6792f24229f402441c14162c1049e3f261f6d9";
+        name = "dagre___dagre_0.8.4.tgz";
+        url  = "https://registry.yarnpkg.com/dagre/-/dagre-0.8.4.tgz";
+        sha1 = "26b9fb8f7bdc60c6110a0458c375261836786061";
       };
     }
     {
@@ -4066,11 +3738,11 @@
       };
     }
     {
-      name = "deckar01_task_list___deckar01_task_list_2.2.0.tgz";
+      name = "deckar01_task_list___deckar01_task_list_2.2.1.tgz";
       path = fetchurl {
-        name = "deckar01_task_list___deckar01_task_list_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/deckar01-task_list/-/deckar01-task_list-2.2.0.tgz";
-        sha1 = "5cc3ea06f01d3d786b1a667064a462eb5d069bd3";
+        name = "deckar01_task_list___deckar01_task_list_2.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/deckar01-task_list/-/deckar01-task_list-2.2.1.tgz";
+        sha1 = "e1e8a16c4fd6e153e51fd9258fdbee067ebcd86b";
       };
     }
     {
@@ -4162,14 +3834,6 @@
       };
     }
     {
-      name = "defined___defined_1.0.0.tgz";
-      path = fetchurl {
-        name = "defined___defined_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz";
-        sha1 = "c98d9bcef75674188e110969151199e39b1fa693";
-      };
-    }
-    {
       name = "del___del_2.2.2.tgz";
       path = fetchurl {
         name = "del___del_2.2.2.tgz";
@@ -4242,14 +3906,6 @@
       };
     }
     {
-      name = "detab___detab_2.0.2.tgz";
-      path = fetchurl {
-        name = "detab___detab_2.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/detab/-/detab-2.0.2.tgz";
-        sha1 = "074970d1a807b045d0258a4235df5928dd683561";
-      };
-    }
-    {
       name = "detect_file___detect_file_1.0.0.tgz";
       path = fetchurl {
         name = "detect_file___detect_file_1.0.0.tgz";
@@ -4282,14 +3938,6 @@
       };
     }
     {
-      name = "detective___detective_4.7.1.tgz";
-      path = fetchurl {
-        name = "detective___detective_4.7.1.tgz";
-        url  = "https://registry.yarnpkg.com/detective/-/detective-4.7.1.tgz";
-        sha1 = "0eca7314338442febb6d65da54c10bb1c82b246e";
-      };
-    }
-    {
       name = "di___di_0.0.1.tgz";
       path = fetchurl {
         name = "di___di_0.0.1.tgz";
@@ -4314,14 +3962,6 @@
       };
     }
     {
-      name = "diff___diff_4.0.1.tgz";
-      path = fetchurl {
-        name = "diff___diff_4.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz";
-        sha1 = "0c667cb467ebbb5cea7f14f135cc2dba7780a8ff";
-      };
-    }
-    {
       name = "diffie_hellman___diffie_hellman_5.0.2.tgz";
       path = fetchurl {
         name = "diffie_hellman___diffie_hellman_5.0.2.tgz";
@@ -4370,14 +4010,6 @@
       };
     }
     {
-      name = "doctrine_temporary_fork___doctrine_temporary_fork_2.1.0.tgz";
-      path = fetchurl {
-        name = "doctrine_temporary_fork___doctrine_temporary_fork_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/doctrine-temporary-fork/-/doctrine-temporary-fork-2.1.0.tgz";
-        sha1 = "36f2154f556ee4f1e60311d391cd23de5187ed57";
-      };
-    }
-    {
       name = "doctrine___doctrine_1.5.0.tgz";
       path = fetchurl {
         name = "doctrine___doctrine_1.5.0.tgz";
@@ -4402,14 +4034,6 @@
       };
     }
     {
-      name = "documentation___documentation_12.0.3.tgz";
-      path = fetchurl {
-        name = "documentation___documentation_12.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/documentation/-/documentation-12.0.3.tgz";
-        sha1 = "32f91da8e5cb4104f69db9fd32c87773a1ad6240";
-      };
-    }
-    {
       name = "dom_serialize___dom_serialize_2.2.1.tgz";
       path = fetchurl {
         name = "dom_serialize___dom_serialize_2.2.1.tgz";
@@ -4490,14 +4114,6 @@
       };
     }
     {
-      name = "duplexer2___duplexer2_0.1.4.tgz";
-      path = fetchurl {
-        name = "duplexer2___duplexer2_0.1.4.tgz";
-        url  = "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz";
-        sha1 = "8b12dab878c0d69e3e7891051662a32fc6bddcc1";
-      };
-    }
-    {
       name = "duplexer3___duplexer3_0.1.4.tgz";
       path = fetchurl {
         name = "duplexer3___duplexer3_0.1.4.tgz";
@@ -4586,14 +4202,6 @@
       };
     }
     {
-      name = "emoji_regex___emoji_regex_6.1.1.tgz";
-      path = fetchurl {
-        name = "emoji_regex___emoji_regex_6.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.1.1.tgz";
-        sha1 = "c6cd0ec1b0642e2a3c67a1137efc5e796da4f88e";
-      };
-    }
-    {
       name = "emoji_regex___emoji_regex_7.0.3.tgz";
       path = fetchurl {
         name = "emoji_regex___emoji_regex_7.0.3.tgz";
@@ -4714,14 +4322,6 @@
       };
     }
     {
-      name = "error___error_7.0.2.tgz";
-      path = fetchurl {
-        name = "error___error_7.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/error/-/error-7.0.2.tgz";
-        sha1 = "a5f75fff4d9926126ddac0ea5dc38e689153cb02";
-      };
-    }
-    {
       name = "es_abstract___es_abstract_1.13.0.tgz";
       path = fetchurl {
         name = "es_abstract___es_abstract_1.13.0.tgz";
@@ -5546,14 +5146,6 @@
       };
     }
     {
-      name = "fs_mkdirp_stream___fs_mkdirp_stream_1.0.0.tgz";
-      path = fetchurl {
-        name = "fs_mkdirp_stream___fs_mkdirp_stream_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz";
-        sha1 = "0b7815fc3201c6a69e14db98ce098c16935259eb";
-      };
-    }
-    {
       name = "fs_write_stream_atomic___fs_write_stream_atomic_1.0.10.tgz";
       path = fetchurl {
         name = "fs_write_stream_atomic___fs_write_stream_atomic_1.0.10.tgz";
@@ -5650,14 +5242,6 @@
       };
     }
     {
-      name = "get_port___get_port_4.2.0.tgz";
-      path = fetchurl {
-        name = "get_port___get_port_4.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/get-port/-/get-port-4.2.0.tgz";
-        sha1 = "e37368b1e863b7629c43c5a323625f95cf24b119";
-      };
-    }
-    {
       name = "get_stdin___get_stdin_4.0.1.tgz";
       path = fetchurl {
         name = "get_stdin___get_stdin_4.0.1.tgz";
@@ -5738,38 +5322,6 @@
       };
     }
     {
-      name = "git_up___git_up_2.1.0.tgz";
-      path = fetchurl {
-        name = "git_up___git_up_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/git-up/-/git-up-2.1.0.tgz";
-        sha1 = "2f14cfe78327e7c4a2b92fcac7bfc674fdfad40c";
-      };
-    }
-    {
-      name = "git_url_parse___git_url_parse_10.1.0.tgz";
-      path = fetchurl {
-        name = "git_url_parse___git_url_parse_10.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-10.1.0.tgz";
-        sha1 = "a27813218f8777e91d15f1c121b83bf14721b67e";
-      };
-    }
-    {
-      name = "github_slugger___github_slugger_1.2.0.tgz";
-      path = fetchurl {
-        name = "github_slugger___github_slugger_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.2.0.tgz";
-        sha1 = "8ada3286fd046d8951c3c952a8d7854cfd90fd9a";
-      };
-    }
-    {
-      name = "github_slugger___github_slugger_1.2.1.tgz";
-      path = fetchurl {
-        name = "github_slugger___github_slugger_1.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.2.1.tgz";
-        sha1 = "47e904e70bf2dccd0014748142d31126cfd49508";
-      };
-    }
-    {
       name = "glob_parent___glob_parent_3.1.0.tgz";
       path = fetchurl {
         name = "glob_parent___glob_parent_3.1.0.tgz";
@@ -5786,14 +5338,6 @@
       };
     }
     {
-      name = "glob_stream___glob_stream_6.1.0.tgz";
-      path = fetchurl {
-        name = "glob_stream___glob_stream_6.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz";
-        sha1 = "7045c99413b3eb94888d83ab46d0b404cc7bdde4";
-      };
-    }
-    {
       name = "glob_to_regexp___glob_to_regexp_0.3.0.tgz";
       path = fetchurl {
         name = "glob_to_regexp___glob_to_regexp_0.3.0.tgz";
@@ -5858,14 +5402,6 @@
       };
     }
     {
-      name = "globals_docs___globals_docs_2.4.0.tgz";
-      path = fetchurl {
-        name = "globals_docs___globals_docs_2.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/globals-docs/-/globals-docs-2.4.0.tgz";
-        sha1 = "f2c647544eb6161c7c38452808e16e693c2dafbb";
-      };
-    }
-    {
       name = "globals___globals_11.12.0.tgz";
       path = fetchurl {
         name = "globals___globals_11.12.0.tgz";
@@ -5962,11 +5498,11 @@
       };
     }
     {
-      name = "graphlibrary___graphlibrary_2.2.0.tgz";
+      name = "graphlib___graphlib_2.1.7.tgz";
       path = fetchurl {
-        name = "graphlibrary___graphlibrary_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/graphlibrary/-/graphlibrary-2.2.0.tgz";
-        sha1 = "017a14899775228dec4497a39babfdd6bf56eac6";
+        name = "graphlib___graphlib_2.1.7.tgz";
+        url  = "https://registry.yarnpkg.com/graphlib/-/graphlib-2.1.7.tgz";
+        sha1 = "b6a69f9f44bd9de3963ce6804a2fc9e73d86aecc";
       };
     }
     {
@@ -6154,38 +5690,6 @@
       };
     }
     {
-      name = "hast_util_is_element___hast_util_is_element_1.0.3.tgz";
-      path = fetchurl {
-        name = "hast_util_is_element___hast_util_is_element_1.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/hast-util-is-element/-/hast-util-is-element-1.0.3.tgz";
-        sha1 = "423b4b26fe8bf1f25950fe052e9ce8f83fd5f6a4";
-      };
-    }
-    {
-      name = "hast_util_sanitize___hast_util_sanitize_1.3.1.tgz";
-      path = fetchurl {
-        name = "hast_util_sanitize___hast_util_sanitize_1.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/hast-util-sanitize/-/hast-util-sanitize-1.3.1.tgz";
-        sha1 = "4e60d66336bd67e52354d581967467029a933f2e";
-      };
-    }
-    {
-      name = "hast_util_to_html___hast_util_to_html_4.0.1.tgz";
-      path = fetchurl {
-        name = "hast_util_to_html___hast_util_to_html_4.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-4.0.1.tgz";
-        sha1 = "3666b05afb62bd69f8f5e6c94db04dea19438e2a";
-      };
-    }
-    {
-      name = "hast_util_whitespace___hast_util_whitespace_1.0.3.tgz";
-      path = fetchurl {
-        name = "hast_util_whitespace___hast_util_whitespace_1.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-1.0.3.tgz";
-        sha1 = "6d161b307bd0693b5ec000c7c7e8b5445109ee34";
-      };
-    }
-    {
       name = "he___he_1.2.0.tgz";
       path = fetchurl {
         name = "he___he_1.2.0.tgz";
@@ -6194,14 +5698,6 @@
       };
     }
     {
-      name = "highlight.js___highlight.js_9.15.8.tgz";
-      path = fetchurl {
-        name = "highlight.js___highlight.js_9.15.8.tgz";
-        url  = "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.15.8.tgz";
-        sha1 = "f344fda123f36f1a65490e932cf90569e4999971";
-      };
-    }
-    {
       name = "highlight.js___highlight.js_9.13.1.tgz";
       path = fetchurl {
         name = "highlight.js___highlight.js_9.13.1.tgz";
@@ -6282,14 +5778,6 @@
       };
     }
     {
-      name = "html_void_elements___html_void_elements_1.0.4.tgz";
-      path = fetchurl {
-        name = "html_void_elements___html_void_elements_1.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.4.tgz";
-        sha1 = "95e8bb5ecd6b88766569c2645f2b5f1591db9ba5";
-      };
-    }
-    {
       name = "htmlparser2___htmlparser2_3.10.0.tgz";
       path = fetchurl {
         name = "htmlparser2___htmlparser2_3.10.0.tgz";
@@ -6442,14 +5930,6 @@
       };
     }
     {
-      name = "immutable_tuple___immutable_tuple_0.4.9.tgz";
-      path = fetchurl {
-        name = "immutable_tuple___immutable_tuple_0.4.9.tgz";
-        url  = "https://registry.yarnpkg.com/immutable-tuple/-/immutable-tuple-0.4.9.tgz";
-        sha1 = "473ebdd6c169c461913a454bf87ef8f601a20ff0";
-      };
-    }
-    {
       name = "import_fresh___import_fresh_2.0.0.tgz";
       path = fetchurl {
         name = "import_fresh___import_fresh_2.0.0.tgz";
@@ -6658,14 +6138,6 @@
       };
     }
     {
-      name = "is_absolute___is_absolute_1.0.0.tgz";
-      path = fetchurl {
-        name = "is_absolute___is_absolute_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz";
-        sha1 = "395e1ae84b11f26ad1795e73c17378e48a301576";
-      };
-    }
-    {
       name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz";
       path = fetchurl {
         name = "is_accessor_descriptor___is_accessor_descriptor_0.1.6.tgz";
@@ -6922,14 +6394,6 @@
       };
     }
     {
-      name = "is_negated_glob___is_negated_glob_1.0.0.tgz";
-      path = fetchurl {
-        name = "is_negated_glob___is_negated_glob_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz";
-        sha1 = "6910bca5da8c95e784b5751b976cf5a10fee36d2";
-      };
-    }
-    {
       name = "is_npm___is_npm_1.0.0.tgz";
       path = fetchurl {
         name = "is_npm___is_npm_1.0.0.tgz";
@@ -7066,14 +6530,6 @@
       };
     }
     {
-      name = "is_relative___is_relative_1.0.0.tgz";
-      path = fetchurl {
-        name = "is_relative___is_relative_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz";
-        sha1 = "a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d";
-      };
-    }
-    {
       name = "is_resolvable___is_resolvable_1.1.0.tgz";
       path = fetchurl {
         name = "is_resolvable___is_resolvable_1.1.0.tgz";
@@ -7090,14 +6546,6 @@
       };
     }
     {
-      name = "is_ssh___is_ssh_1.3.1.tgz";
-      path = fetchurl {
-        name = "is_ssh___is_ssh_1.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.1.tgz";
-        sha1 = "f349a8cadd24e65298037a522cf7520f2e81a0f3";
-      };
-    }
-    {
       name = "is_stream___is_stream_1.1.0.tgz";
       path = fetchurl {
         name = "is_stream___is_stream_1.1.0.tgz";
@@ -7122,14 +6570,6 @@
       };
     }
     {
-      name = "is_unc_path___is_unc_path_1.0.0.tgz";
-      path = fetchurl {
-        name = "is_unc_path___is_unc_path_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz";
-        sha1 = "d731e8898ed090a12c352ad2eaed5095ad322c9d";
-      };
-    }
-    {
       name = "is_utf8___is_utf8_0.2.1.tgz";
       path = fetchurl {
         name = "is_utf8___is_utf8_0.2.1.tgz";
@@ -7138,14 +6578,6 @@
       };
     }
     {
-      name = "is_valid_glob___is_valid_glob_1.0.0.tgz";
-      path = fetchurl {
-        name = "is_valid_glob___is_valid_glob_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz";
-        sha1 = "29bf3eff701be2d4d315dbacc39bc39fe8f601aa";
-      };
-    }
-    {
       name = "is_whitespace_character___is_whitespace_character_1.0.2.tgz";
       path = fetchurl {
         name = "is_whitespace_character___is_whitespace_character_1.0.2.tgz";
@@ -7338,6 +6770,14 @@
       };
     }
     {
+      name = "jest_canvas_mock___jest_canvas_mock_2.1.2.tgz";
+      path = fetchurl {
+        name = "jest_canvas_mock___jest_canvas_mock_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/jest-canvas-mock/-/jest-canvas-mock-2.1.2.tgz";
+        sha1 = "0d16c9f91534f773fd132fc289f2e6b6db8faa28";
+      };
+    }
+    {
       name = "jest_changed_files___jest_changed_files_24.8.0.tgz";
       path = fetchurl {
         name = "jest_changed_files___jest_changed_files_24.8.0.tgz";
@@ -7802,14 +7242,6 @@
       };
     }
     {
-      name = "jsonparse___jsonparse_1.3.1.tgz";
-      path = fetchurl {
-        name = "jsonparse___jsonparse_1.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz";
-        sha1 = "3f4dae4a91fac315f71062f8521cc239f1366280";
-      };
-    }
-    {
       name = "jsprim___jsprim_1.4.1.tgz";
       path = fetchurl {
         name = "jsprim___jsprim_1.4.1.tgz";
@@ -7978,14 +7410,6 @@
       };
     }
     {
-      name = "lazystream___lazystream_1.0.0.tgz";
-      path = fetchurl {
-        name = "lazystream___lazystream_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz";
-        sha1 = "f6995fe0f820392f61396be89462407bb77168e4";
-      };
-    }
-    {
       name = "lcid___lcid_1.0.0.tgz";
       path = fetchurl {
         name = "lcid___lcid_1.0.0.tgz";
@@ -8002,14 +7426,6 @@
       };
     }
     {
-      name = "lead___lead_1.0.0.tgz";
-      path = fetchurl {
-        name = "lead___lead_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/lead/-/lead-1.0.0.tgz";
-        sha1 = "6f14f99a37be3a9dd784f5495690e5903466ee42";
-      };
-    }
-    {
       name = "left_pad___left_pad_1.3.0.tgz";
       path = fetchurl {
         name = "left_pad___left_pad_1.3.0.tgz";
@@ -8066,14 +7482,6 @@
       };
     }
     {
-      name = "livereload_js___livereload_js_2.4.0.tgz";
-      path = fetchurl {
-        name = "livereload_js___livereload_js_2.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.4.0.tgz";
-        sha1 = "447c31cf1ea9ab52fc20db615c5ddf678f78009c";
-      };
-    }
-    {
       name = "load_json_file___load_json_file_1.1.0.tgz";
       path = fetchurl {
         name = "load_json_file___load_json_file_1.1.0.tgz";
@@ -8186,6 +7594,22 @@
       };
     }
     {
+      name = "lodash.isplainobject___lodash.isplainobject_4.0.6.tgz";
+      path = fetchurl {
+        name = "lodash.isplainobject___lodash.isplainobject_4.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz";
+        sha1 = "7c526a52d89b45c45cc690b88163be0497f550cb";
+      };
+    }
+    {
+      name = "lodash.isstring___lodash.isstring_4.0.1.tgz";
+      path = fetchurl {
+        name = "lodash.isstring___lodash.isstring_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz";
+        sha1 = "d527dfb5456eca7cc9bb95d5daeaf88ba54a5451";
+      };
+    }
+    {
       name = "lodash.kebabcase___lodash.kebabcase_4.1.1.tgz";
       path = fetchurl {
         name = "lodash.kebabcase___lodash.kebabcase_4.1.1.tgz";
@@ -8514,46 +7938,6 @@
       };
     }
     {
-      name = "mdast_util_definitions___mdast_util_definitions_1.2.4.tgz";
-      path = fetchurl {
-        name = "mdast_util_definitions___mdast_util_definitions_1.2.4.tgz";
-        url  = "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-1.2.4.tgz";
-        sha1 = "2b54ad4eecaff9d9fcb6bf6f9f6b68b232d77ca7";
-      };
-    }
-    {
-      name = "mdast_util_inject___mdast_util_inject_1.1.0.tgz";
-      path = fetchurl {
-        name = "mdast_util_inject___mdast_util_inject_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/mdast-util-inject/-/mdast-util-inject-1.1.0.tgz";
-        sha1 = "db06b8b585be959a2dcd2f87f472ba9b756f3675";
-      };
-    }
-    {
-      name = "mdast_util_to_hast___mdast_util_to_hast_3.0.4.tgz";
-      path = fetchurl {
-        name = "mdast_util_to_hast___mdast_util_to_hast_3.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-3.0.4.tgz";
-        sha1 = "132001b266031192348d3366a6b011f28e54dc40";
-      };
-    }
-    {
-      name = "mdast_util_to_string___mdast_util_to_string_1.0.6.tgz";
-      path = fetchurl {
-        name = "mdast_util_to_string___mdast_util_to_string_1.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.0.6.tgz";
-        sha1 = "7d85421021343b33de1552fc71cb8e5b4ae7536d";
-      };
-    }
-    {
-      name = "mdast_util_toc___mdast_util_toc_3.1.0.tgz";
-      path = fetchurl {
-        name = "mdast_util_toc___mdast_util_toc_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/mdast-util-toc/-/mdast-util-toc-3.1.0.tgz";
-        sha1 = "395eeb877f067f9d2165d990d77c7eea6f740934";
-      };
-    }
-    {
       name = "mdurl___mdurl_1.0.1.tgz";
       path = fetchurl {
         name = "mdurl___mdurl_1.0.1.tgz";
@@ -8642,11 +8026,11 @@
       };
     }
     {
-      name = "mermaid___mermaid_8.2.6.tgz";
+      name = "mermaid___mermaid_8.4.2.tgz";
       path = fetchurl {
-        name = "mermaid___mermaid_8.2.6.tgz";
-        url  = "https://registry.yarnpkg.com/mermaid/-/mermaid-8.2.6.tgz";
-        sha1 = "e73f396461a435c39a998819171c2114f59e46e1";
+        name = "mermaid___mermaid_8.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/mermaid/-/mermaid-8.4.2.tgz";
+        sha1 = "91d3d8e9541e72eed7a78d0e882db11564fab3bb";
       };
     }
     {
@@ -8834,14 +8218,6 @@
       };
     }
     {
-      name = "module_deps_sortable___module_deps_sortable_5.0.0.tgz";
-      path = fetchurl {
-        name = "module_deps_sortable___module_deps_sortable_5.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/module-deps-sortable/-/module-deps-sortable-5.0.0.tgz";
-        sha1 = "99db5bb08f7eab55e4c31f6b7c722c6a2144ba74";
-      };
-    }
-    {
       name = "moment_mini___moment_mini_2.22.1.tgz";
       path = fetchurl {
         name = "moment_mini___moment_mini_2.22.1.tgz";
@@ -9154,22 +8530,6 @@
       };
     }
     {
-      name = "normalize_url___normalize_url_1.9.1.tgz";
-      path = fetchurl {
-        name = "normalize_url___normalize_url_1.9.1.tgz";
-        url  = "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz";
-        sha1 = "2cc0d66b31ea23036458436e3620d85954c66c3c";
-      };
-    }
-    {
-      name = "now_and_later___now_and_later_2.0.1.tgz";
-      path = fetchurl {
-        name = "now_and_later___now_and_later_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.1.tgz";
-        sha1 = "8e579c8685764a7cc02cb680380e94f43ccb1f7c";
-      };
-    }
-    {
       name = "npm_bundled___npm_bundled_1.0.6.tgz";
       path = fetchurl {
         name = "npm_bundled___npm_bundled_1.0.6.tgz";
@@ -9362,11 +8722,11 @@
       };
     }
     {
-      name = "optimism___optimism_0.6.9.tgz";
+      name = "optimism___optimism_0.10.3.tgz";
       path = fetchurl {
-        name = "optimism___optimism_0.6.9.tgz";
-        url  = "https://registry.yarnpkg.com/optimism/-/optimism-0.6.9.tgz";
-        sha1 = "19258ff8b3be0cea29ac35f06bff818e026e30bb";
+        name = "optimism___optimism_0.10.3.tgz";
+        url  = "https://registry.yarnpkg.com/optimism/-/optimism-0.10.3.tgz";
+        sha1 = "163268fdc741dea2fb50f300bedda80356445fd7";
       };
     }
     {
@@ -9386,14 +8746,6 @@
       };
     }
     {
-      name = "ordered_read_streams___ordered_read_streams_1.0.1.tgz";
-      path = fetchurl {
-        name = "ordered_read_streams___ordered_read_streams_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz";
-        sha1 = "77c0cb37c41525d64166d990ffad7ec6a0e1363e";
-      };
-    }
-    {
       name = "orderedmap___orderedmap_1.0.0.tgz";
       path = fetchurl {
         name = "orderedmap___orderedmap_1.0.0.tgz";
@@ -9610,27 +8962,19 @@
       };
     }
     {
-      name = "parse_entities___parse_entities_1.2.0.tgz";
+      name = "parse_color___parse_color_1.0.0.tgz";
       path = fetchurl {
-        name = "parse_entities___parse_entities_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.0.tgz";
-        sha1 = "9deac087661b2e36814153cb78d7e54a4c5fd6f4";
+        name = "parse_color___parse_color_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-color/-/parse-color-1.0.0.tgz";
+        sha1 = "7b748b95a83f03f16a94f535e52d7f3d94658619";
       };
     }
     {
-      name = "parse_filepath___parse_filepath_1.0.2.tgz";
-      path = fetchurl {
-        name = "parse_filepath___parse_filepath_1.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz";
-        sha1 = "a632127f53aaf3d15876f5872f3ffac763d6c891";
-      };
-    }
-    {
-      name = "parse_git_config___parse_git_config_0.2.0.tgz";
+      name = "parse_entities___parse_entities_1.2.0.tgz";
       path = fetchurl {
-        name = "parse_git_config___parse_git_config_0.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/parse-git-config/-/parse-git-config-0.2.0.tgz";
-        sha1 = "272833fdd15fea146fb75d336d236b963b6ff706";
+        name = "parse_entities___parse_entities_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.0.tgz";
+        sha1 = "9deac087661b2e36814153cb78d7e54a4c5fd6f4";
       };
     }
     {
@@ -9658,22 +9002,6 @@
       };
     }
     {
-      name = "parse_path___parse_path_3.0.4.tgz";
-      path = fetchurl {
-        name = "parse_path___parse_path_3.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/parse-path/-/parse-path-3.0.4.tgz";
-        sha1 = "a48b7b529da41f34d9d1428602a39b29fc7180e4";
-      };
-    }
-    {
-      name = "parse_url___parse_url_3.0.2.tgz";
-      path = fetchurl {
-        name = "parse_url___parse_url_3.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/parse-url/-/parse-url-3.0.2.tgz";
-        sha1 = "602787a7063a795d72b8673197505e72f60610be";
-      };
-    }
-    {
       name = "parse5___parse5_4.0.0.tgz";
       path = fetchurl {
         name = "parse5___parse5_4.0.0.tgz";
@@ -9794,22 +9122,6 @@
       };
     }
     {
-      name = "path_root_regex___path_root_regex_0.1.2.tgz";
-      path = fetchurl {
-        name = "path_root_regex___path_root_regex_0.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz";
-        sha1 = "bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d";
-      };
-    }
-    {
-      name = "path_root___path_root_0.1.1.tgz";
-      path = fetchurl {
-        name = "path_root___path_root_0.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz";
-        sha1 = "9a4a6814cac1c0cd73360a95f32083c8ea4745b7";
-      };
-    }
-    {
       name = "path_to_regexp___path_to_regexp_0.1.7.tgz";
       path = fetchurl {
         name = "path_to_regexp___path_to_regexp_0.1.7.tgz";
@@ -10194,11 +9506,11 @@
       };
     }
     {
-      name = "postcss___postcss_7.0.18.tgz";
+      name = "postcss___postcss_7.0.21.tgz";
       path = fetchurl {
-        name = "postcss___postcss_7.0.18.tgz";
-        url  = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.18.tgz";
-        sha1 = "4b9cda95ae6c069c67a4d933029eddd4838ac233";
+        name = "postcss___postcss_7.0.21.tgz";
+        url  = "https://registry.yarnpkg.com/postcss/-/postcss-7.0.21.tgz";
+        sha1 = "06bb07824c19c2021c5d056d5b10c35b989f7e17";
       };
     }
     {
@@ -10258,14 +9570,6 @@
       };
     }
     {
-      name = "process_nextick_args___process_nextick_args_2.0.1.tgz";
-      path = fetchurl {
-        name = "process_nextick_args___process_nextick_args_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz";
-        sha1 = "7820d9b16120cc55ca9ae7792680ae7dba6d7fe2";
-      };
-    }
-    {
       name = "process_nextick_args___process_nextick_args_1.0.7.tgz";
       path = fetchurl {
         name = "process_nextick_args___process_nextick_args_1.0.7.tgz";
@@ -10274,6 +9578,14 @@
       };
     }
     {
+      name = "process_nextick_args___process_nextick_args_2.0.1.tgz";
+      path = fetchurl {
+        name = "process_nextick_args___process_nextick_args_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz";
+        sha1 = "7820d9b16120cc55ca9ae7792680ae7dba6d7fe2";
+      };
+    }
+    {
       name = "process___process_0.11.10.tgz";
       path = fetchurl {
         name = "process___process_0.11.10.tgz";
@@ -10306,14 +9618,6 @@
       };
     }
     {
-      name = "property_information___property_information_4.2.0.tgz";
-      path = fetchurl {
-        name = "property_information___property_information_4.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/property-information/-/property-information-4.2.0.tgz";
-        sha1 = "f0e66e07cbd6fed31d96844d958d153ad3eb486e";
-      };
-    }
-    {
       name = "prosemirror_commands___prosemirror_commands_1.0.7.tgz";
       path = fetchurl {
         name = "prosemirror_commands___prosemirror_commands_1.0.7.tgz";
@@ -10434,14 +9738,6 @@
       };
     }
     {
-      name = "protocols___protocols_1.4.7.tgz";
-      path = fetchurl {
-        name = "protocols___protocols_1.4.7.tgz";
-        url  = "https://registry.yarnpkg.com/protocols/-/protocols-1.4.7.tgz";
-        sha1 = "95f788a4f0e979b291ffefcf5636ad113d037d32";
-      };
-    }
-    {
       name = "proxy_addr___proxy_addr_2.0.5.tgz";
       path = fetchurl {
         name = "proxy_addr___proxy_addr_2.0.5.tgz";
@@ -10562,14 +9858,6 @@
       };
     }
     {
-      name = "query_string___query_string_4.3.4.tgz";
-      path = fetchurl {
-        name = "query_string___query_string_4.3.4.tgz";
-        url  = "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz";
-        sha1 = "bbb693b9ca915c232515b228b1a02b609043dbeb";
-      };
-    }
-    {
       name = "querystring_es3___querystring_es3_0.2.1.tgz";
       path = fetchurl {
         name = "querystring_es3___querystring_es3_0.2.1.tgz";
@@ -10634,14 +9922,6 @@
       };
     }
     {
-      name = "raven_js___raven_js_3.22.1.tgz";
-      path = fetchurl {
-        name = "raven_js___raven_js_3.22.1.tgz";
-        url  = "https://registry.yarnpkg.com/raven-js/-/raven-js-3.22.1.tgz";
-        sha1 = "1117f00dfefaa427ef6e1a7d50bbb1fb998a24da";
-      };
-    }
-    {
       name = "raw_body___raw_body_2.4.0.tgz";
       path = fetchurl {
         name = "raw_body___raw_body_2.4.0.tgz";
@@ -10650,14 +9930,6 @@
       };
     }
     {
-      name = "raw_body___raw_body_1.1.7.tgz";
-      path = fetchurl {
-        name = "raw_body___raw_body_1.1.7.tgz";
-        url  = "https://registry.yarnpkg.com/raw-body/-/raw-body-1.1.7.tgz";
-        sha1 = "1d027c2bfa116acc6623bca8f00016572a87d425";
-      };
-    }
-    {
       name = "raw_loader___raw_loader_3.1.0.tgz";
       path = fetchurl {
         name = "raw_loader___raw_loader_3.1.0.tgz";
@@ -10762,14 +10034,6 @@
       };
     }
     {
-      name = "readable_stream___readable_stream_2.1.5.tgz";
-      path = fetchurl {
-        name = "readable_stream___readable_stream_2.1.5.tgz";
-        url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz";
-        sha1 = "66fa8b720e1438b364681f2ad1a63c618448c9d0";
-      };
-    }
-    {
       name = "readdir_enhanced___readdir_enhanced_2.2.4.tgz";
       path = fetchurl {
         name = "readdir_enhanced___readdir_enhanced_2.2.4.tgz";
@@ -10930,22 +10194,6 @@
       };
     }
     {
-      name = "remark_html___remark_html_8.0.0.tgz";
-      path = fetchurl {
-        name = "remark_html___remark_html_8.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/remark-html/-/remark-html-8.0.0.tgz";
-        sha1 = "9fcb859a6f3cb40f3ef15402950f1a62ec301b3a";
-      };
-    }
-    {
-      name = "remark_parse___remark_parse_5.0.0.tgz";
-      path = fetchurl {
-        name = "remark_parse___remark_parse_5.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/remark-parse/-/remark-parse-5.0.0.tgz";
-        sha1 = "4c077f9e499044d1d5c13f80d7a98cf7b9285d95";
-      };
-    }
-    {
       name = "remark_parse___remark_parse_6.0.3.tgz";
       path = fetchurl {
         name = "remark_parse___remark_parse_6.0.3.tgz";
@@ -10954,30 +10202,6 @@
       };
     }
     {
-      name = "remark_reference_links___remark_reference_links_4.0.4.tgz";
-      path = fetchurl {
-        name = "remark_reference_links___remark_reference_links_4.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/remark-reference-links/-/remark-reference-links-4.0.4.tgz";
-        sha1 = "190579a0d6b002859d6cdbdc5aeb8bbdae4e06ab";
-      };
-    }
-    {
-      name = "remark_slug___remark_slug_5.1.2.tgz";
-      path = fetchurl {
-        name = "remark_slug___remark_slug_5.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/remark-slug/-/remark-slug-5.1.2.tgz";
-        sha1 = "715ecdef8df1226786204b1887d31ab16aa24609";
-      };
-    }
-    {
-      name = "remark_stringify___remark_stringify_5.0.0.tgz";
-      path = fetchurl {
-        name = "remark_stringify___remark_stringify_5.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-5.0.0.tgz";
-        sha1 = "336d3a4d4a6a3390d933eeba62e8de4bd280afba";
-      };
-    }
-    {
       name = "remark_stringify___remark_stringify_6.0.4.tgz";
       path = fetchurl {
         name = "remark_stringify___remark_stringify_6.0.4.tgz";
@@ -10986,14 +10210,6 @@
       };
     }
     {
-      name = "remark_toc___remark_toc_5.1.1.tgz";
-      path = fetchurl {
-        name = "remark_toc___remark_toc_5.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/remark-toc/-/remark-toc-5.1.1.tgz";
-        sha1 = "8c229d6f834cdb43fde6685e2d43248d3fc82d78";
-      };
-    }
-    {
       name = "remark___remark_10.0.1.tgz";
       path = fetchurl {
         name = "remark___remark_10.0.1.tgz";
@@ -11002,38 +10218,6 @@
       };
     }
     {
-      name = "remark___remark_9.0.0.tgz";
-      path = fetchurl {
-        name = "remark___remark_9.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/remark/-/remark-9.0.0.tgz";
-        sha1 = "c5cfa8ec535c73a67c4b0f12bfdbd3a67d8b2f60";
-      };
-    }
-    {
-      name = "remote_origin_url___remote_origin_url_0.4.0.tgz";
-      path = fetchurl {
-        name = "remote_origin_url___remote_origin_url_0.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/remote-origin-url/-/remote-origin-url-0.4.0.tgz";
-        sha1 = "4d3e2902f34e2d37d1c263d87710b77eb4086a30";
-      };
-    }
-    {
-      name = "remove_bom_buffer___remove_bom_buffer_3.0.0.tgz";
-      path = fetchurl {
-        name = "remove_bom_buffer___remove_bom_buffer_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz";
-        sha1 = "c2bf1e377520d324f623892e33c10cac2c252b53";
-      };
-    }
-    {
-      name = "remove_bom_stream___remove_bom_stream_1.2.0.tgz";
-      path = fetchurl {
-        name = "remove_bom_stream___remove_bom_stream_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz";
-        sha1 = "05f1a593f16e42e1fb90ebf59de8e569525f9523";
-      };
-    }
-    {
       name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz";
       path = fetchurl {
         name = "remove_trailing_separator___remove_trailing_separator_1.1.0.tgz";
@@ -11202,14 +10386,6 @@
       };
     }
     {
-      name = "resolve_options___resolve_options_1.1.0.tgz";
-      path = fetchurl {
-        name = "resolve_options___resolve_options_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz";
-        sha1 = "32bb9e39c06d67338dc9378c0d6d6074566ad131";
-      };
-    }
-    {
       name = "resolve_url___resolve_url_0.2.1.tgz";
       path = fetchurl {
         name = "resolve_url___resolve_url_0.2.1.tgz";
@@ -11338,14 +10514,6 @@
       };
     }
     {
-      name = "safe_json_parse___safe_json_parse_1.0.1.tgz";
-      path = fetchurl {
-        name = "safe_json_parse___safe_json_parse_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/safe-json-parse/-/safe-json-parse-1.0.1.tgz";
-        sha1 = "3e76723e38dfdda13c9b1d29a1e07ffee4b30b57";
-      };
-    }
-    {
       name = "safe_regex___safe_regex_1.1.0.tgz";
       path = fetchurl {
         name = "safe_regex___safe_regex_1.1.0.tgz";
@@ -11370,11 +10538,11 @@
       };
     }
     {
-      name = "sanitize_html___sanitize_html_1.16.3.tgz";
+      name = "sanitize_html___sanitize_html_1.20.1.tgz";
       path = fetchurl {
-        name = "sanitize_html___sanitize_html_1.16.3.tgz";
-        url  = "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-1.16.3.tgz";
-        sha1 = "96c1b44a36ff7312e1c22a14b05274370ac8bd56";
+        name = "sanitize_html___sanitize_html_1.20.1.tgz";
+        url  = "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-1.20.1.tgz";
+        sha1 = "f6effdf55dd398807171215a62bfc21811bacf85";
       };
     }
     {
@@ -11778,14 +10946,6 @@
       };
     }
     {
-      name = "sort_keys___sort_keys_1.1.2.tgz";
-      path = fetchurl {
-        name = "sort_keys___sort_keys_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz";
-        sha1 = "441b6d4d346798f1b4e49e8920adfba0e543f9ad";
-      };
-    }
-    {
       name = "sortablejs___sortablejs_1.10.0.tgz";
       path = fetchurl {
         name = "sortablejs___sortablejs_1.10.0.tgz";
@@ -11866,14 +11026,6 @@
       };
     }
     {
-      name = "space_separated_tokens___space_separated_tokens_1.1.4.tgz";
-      path = fetchurl {
-        name = "space_separated_tokens___space_separated_tokens_1.1.4.tgz";
-        url  = "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.4.tgz";
-        sha1 = "27910835ae00d0adfcdbd0ad7e611fb9544351fa";
-      };
-    }
-    {
       name = "spdx_correct___spdx_correct_1.0.2.tgz";
       path = fetchurl {
         name = "spdx_correct___spdx_correct_1.0.2.tgz";
@@ -12034,14 +11186,6 @@
       };
     }
     {
-      name = "stream_array___stream_array_1.1.2.tgz";
-      path = fetchurl {
-        name = "stream_array___stream_array_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/stream-array/-/stream-array-1.1.2.tgz";
-        sha1 = "9e5f7345f2137c30ee3b498b9114e80b52bb7eb5";
-      };
-    }
-    {
       name = "stream_browserify___stream_browserify_2.0.1.tgz";
       path = fetchurl {
         name = "stream_browserify___stream_browserify_2.0.1.tgz";
@@ -12050,14 +11194,6 @@
       };
     }
     {
-      name = "stream_combiner2___stream_combiner2_1.1.1.tgz";
-      path = fetchurl {
-        name = "stream_combiner2___stream_combiner2_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz";
-        sha1 = "fb4d8a1420ea362764e21ad4780397bebcb41cbe";
-      };
-    }
-    {
       name = "stream_each___stream_each_1.2.2.tgz";
       path = fetchurl {
         name = "stream_each___stream_each_1.2.2.tgz";
@@ -12090,14 +11226,6 @@
       };
     }
     {
-      name = "strict_uri_encode___strict_uri_encode_1.1.0.tgz";
-      path = fetchurl {
-        name = "strict_uri_encode___strict_uri_encode_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz";
-        sha1 = "279b225df1d582b1f54e65addd4352e18faa0713";
-      };
-    }
-    {
       name = "string_length___string_length_2.0.0.tgz";
       path = fetchurl {
         name = "string_length___string_length_2.0.0.tgz";
@@ -12106,14 +11234,6 @@
       };
     }
     {
-      name = "string_template___string_template_0.2.1.tgz";
-      path = fetchurl {
-        name = "string_template___string_template_0.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz";
-        sha1 = "42932e598a352d01fc22ec3367d9d84eec6c9add";
-      };
-    }
-    {
       name = "string_width___string_width_1.0.2.tgz";
       path = fetchurl {
         name = "string_width___string_width_1.0.2.tgz";
@@ -12146,14 +11266,6 @@
       };
     }
     {
-      name = "string_decoder___string_decoder_0.10.31.tgz";
-      path = fetchurl {
-        name = "string_decoder___string_decoder_0.10.31.tgz";
-        url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz";
-        sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
-      };
-    }
-    {
       name = "string_decoder___string_decoder_1.1.1.tgz";
       path = fetchurl {
         name = "string_decoder___string_decoder_1.1.1.tgz";
@@ -12162,6 +11274,14 @@
       };
     }
     {
+      name = "string_decoder___string_decoder_0.10.31.tgz";
+      path = fetchurl {
+        name = "string_decoder___string_decoder_0.10.31.tgz";
+        url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz";
+        sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
+      };
+    }
+    {
       name = "stringify_entities___stringify_entities_1.3.2.tgz";
       path = fetchurl {
         name = "stringify_entities___stringify_entities_1.3.2.tgz";
@@ -12290,14 +11410,6 @@
       };
     }
     {
-      name = "subarg___subarg_1.0.0.tgz";
-      path = fetchurl {
-        name = "subarg___subarg_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz";
-        sha1 = "f62cf17581e996b48fc965699f54c06ae268b8d2";
-      };
-    }
-    {
       name = "sugarss___sugarss_2.0.0.tgz";
       path = fetchurl {
         name = "sugarss___sugarss_2.0.0.tgz";
@@ -12498,14 +11610,6 @@
       };
     }
     {
-      name = "through2_filter___through2_filter_3.0.0.tgz";
-      path = fetchurl {
-        name = "through2_filter___through2_filter_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.0.0.tgz";
-        sha1 = "700e786df2367c2c88cd8aa5be4cf9c1e7831254";
-      };
-    }
-    {
       name = "through2___through2_2.0.5.tgz";
       path = fetchurl {
         name = "through2___through2_2.0.5.tgz";
@@ -12570,14 +11674,6 @@
       };
     }
     {
-      name = "tiny_lr___tiny_lr_1.1.1.tgz";
-      path = fetchurl {
-        name = "tiny_lr___tiny_lr_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-1.1.1.tgz";
-        sha1 = "9fa547412f238fedb068ee295af8b682c98b2aab";
-      };
-    }
-    {
       name = "tiptap_commands___tiptap_commands_1.4.0.tgz";
       path = fetchurl {
         name = "tiptap_commands___tiptap_commands_1.4.0.tgz";
@@ -12626,14 +11722,6 @@
       };
     }
     {
-      name = "to_absolute_glob___to_absolute_glob_2.0.2.tgz";
-      path = fetchurl {
-        name = "to_absolute_glob___to_absolute_glob_2.0.2.tgz";
-        url  = "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz";
-        sha1 = "1865f43d9e74b0822db9f145b78cff7d0f7c849b";
-      };
-    }
-    {
       name = "to_array___to_array_0.1.4.tgz";
       path = fetchurl {
         name = "to_array___to_array_0.1.4.tgz";
@@ -12690,14 +11778,6 @@
       };
     }
     {
-      name = "to_through___to_through_2.0.0.tgz";
-      path = fetchurl {
-        name = "to_through___to_through_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/to-through/-/to-through-2.0.0.tgz";
-        sha1 = "fc92adaba072647bc0b67d6b03664aa195093af6";
-      };
-    }
-    {
       name = "toggle_selection___toggle_selection_1.0.6.tgz";
       path = fetchurl {
         name = "toggle_selection___toggle_selection_1.0.6.tgz";
@@ -12738,14 +11818,6 @@
       };
     }
     {
-      name = "trim_lines___trim_lines_1.1.2.tgz";
-      path = fetchurl {
-        name = "trim_lines___trim_lines_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/trim-lines/-/trim-lines-1.1.2.tgz";
-        sha1 = "c8adbdbdae21bb5c2766240a661f693afe23e59b";
-      };
-    }
-    {
       name = "trim_newlines___trim_newlines_1.0.0.tgz";
       path = fetchurl {
         name = "trim_newlines___trim_newlines_1.0.0.tgz";
@@ -12818,14 +11890,6 @@
       };
     }
     {
-      name = "ts_invariant___ts_invariant_0.2.1.tgz";
-      path = fetchurl {
-        name = "ts_invariant___ts_invariant_0.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.2.1.tgz";
-        sha1 = "3d587f9d6e3bded97bf9ec17951dd9814d5a9d3f";
-      };
-    }
-    {
       name = "ts_invariant___ts_invariant_0.3.2.tgz";
       path = fetchurl {
         name = "ts_invariant___ts_invariant_0.3.2.tgz";
@@ -12834,6 +11898,14 @@
       };
     }
     {
+      name = "ts_invariant___ts_invariant_0.4.4.tgz";
+      path = fetchurl {
+        name = "ts_invariant___ts_invariant_0.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.4.4.tgz";
+        sha1 = "97a523518688f93aafad01b0e80eb803eb2abd86";
+      };
+    }
+    {
       name = "ts_jest___ts_jest_24.0.0.tgz";
       path = fetchurl {
         name = "ts_jest___ts_jest_24.0.0.tgz";
@@ -12882,6 +11954,14 @@
       };
     }
     {
+      name = "type_fest___type_fest_0.5.2.tgz";
+      path = fetchurl {
+        name = "type_fest___type_fest_0.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.5.2.tgz";
+        sha1 = "d6ef42a0356c6cd45f49485c3b6281fc148e48a2";
+      };
+    }
+    {
       name = "type_is___type_is_1.6.18.tgz";
       path = fetchurl {
         name = "type_is___type_is_1.6.18.tgz";
@@ -12930,14 +12010,6 @@
       };
     }
     {
-      name = "unc_path_regex___unc_path_regex_0.1.2.tgz";
-      path = fetchurl {
-        name = "unc_path_regex___unc_path_regex_0.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz";
-        sha1 = "e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa";
-      };
-    }
-    {
       name = "undefsafe___undefsafe_2.0.2.tgz";
       path = fetchurl {
         name = "undefsafe___undefsafe_2.0.2.tgz";
@@ -13018,14 +12090,6 @@
       };
     }
     {
-      name = "unified___unified_6.2.0.tgz";
-      path = fetchurl {
-        name = "unified___unified_6.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/unified/-/unified-6.2.0.tgz";
-        sha1 = "7fbd630f719126d67d40c644b7e3f617035f6dba";
-      };
-    }
-    {
       name = "unified___unified_7.1.0.tgz";
       path = fetchurl {
         name = "unified___unified_7.1.0.tgz";
@@ -13066,14 +12130,6 @@
       };
     }
     {
-      name = "unique_stream___unique_stream_2.3.1.tgz";
-      path = fetchurl {
-        name = "unique_stream___unique_stream_2.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.3.1.tgz";
-        sha1 = "c65d110e9a4adf9a6c5948b28053d9a8d04cbeac";
-      };
-    }
-    {
       name = "unique_string___unique_string_1.0.0.tgz";
       path = fetchurl {
         name = "unique_string___unique_string_1.0.0.tgz";
@@ -13082,14 +12138,6 @@
       };
     }
     {
-      name = "unist_builder___unist_builder_1.0.4.tgz";
-      path = fetchurl {
-        name = "unist_builder___unist_builder_1.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/unist-builder/-/unist-builder-1.0.4.tgz";
-        sha1 = "e1808aed30bd72adc3607f25afecebef4dd59e17";
-      };
-    }
-    {
       name = "unist_util_find_all_after___unist_util_find_all_after_1.0.2.tgz";
       path = fetchurl {
         name = "unist_util_find_all_after___unist_util_find_all_after_1.0.2.tgz";
@@ -13098,14 +12146,6 @@
       };
     }
     {
-      name = "unist_util_generated___unist_util_generated_1.1.4.tgz";
-      path = fetchurl {
-        name = "unist_util_generated___unist_util_generated_1.1.4.tgz";
-        url  = "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.4.tgz";
-        sha1 = "2261c033d9fc23fae41872cdb7663746e972c1a7";
-      };
-    }
-    {
       name = "unist_util_is___unist_util_is_2.1.2.tgz";
       path = fetchurl {
         name = "unist_util_is___unist_util_is_2.1.2.tgz";
@@ -13114,14 +12154,6 @@
       };
     }
     {
-      name = "unist_util_position___unist_util_position_3.0.3.tgz";
-      path = fetchurl {
-        name = "unist_util_position___unist_util_position_3.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.0.3.tgz";
-        sha1 = "fff942b879538b242096c148153826664b1ca373";
-      };
-    }
-    {
       name = "unist_util_remove_position___unist_util_remove_position_1.1.2.tgz";
       path = fetchurl {
         name = "unist_util_remove_position___unist_util_remove_position_1.1.2.tgz";
@@ -13138,14 +12170,6 @@
       };
     }
     {
-      name = "unist_util_stringify_position___unist_util_stringify_position_2.0.1.tgz";
-      path = fetchurl {
-        name = "unist_util_stringify_position___unist_util_stringify_position_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.1.tgz";
-        sha1 = "de2a2bc8d3febfa606652673a91455b6a36fb9f3";
-      };
-    }
-    {
       name = "unist_util_visit_parents___unist_util_visit_parents_2.0.1.tgz";
       path = fetchurl {
         name = "unist_util_visit_parents___unist_util_visit_parents_2.0.1.tgz";
@@ -13362,14 +12386,6 @@
       };
     }
     {
-      name = "value_or_function___value_or_function_3.0.0.tgz";
-      path = fetchurl {
-        name = "value_or_function___value_or_function_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz";
-        sha1 = "1c243a50b595c1be54a754bfece8563b9ff8d813";
-      };
-    }
-    {
       name = "vary___vary_1.1.2.tgz";
       path = fetchurl {
         name = "vary___vary_1.1.2.tgz";
@@ -13402,46 +12418,6 @@
       };
     }
     {
-      name = "vfile_message___vfile_message_2.0.1.tgz";
-      path = fetchurl {
-        name = "vfile_message___vfile_message_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.1.tgz";
-        sha1 = "951881861c22fc1eb39f873c0b93e336a64e8f6d";
-      };
-    }
-    {
-      name = "vfile_reporter___vfile_reporter_6.0.0.tgz";
-      path = fetchurl {
-        name = "vfile_reporter___vfile_reporter_6.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/vfile-reporter/-/vfile-reporter-6.0.0.tgz";
-        sha1 = "753119f51dec9289b7508b457afc0cddf5e07f2e";
-      };
-    }
-    {
-      name = "vfile_sort___vfile_sort_2.2.1.tgz";
-      path = fetchurl {
-        name = "vfile_sort___vfile_sort_2.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/vfile-sort/-/vfile-sort-2.2.1.tgz";
-        sha1 = "74e714f9175618cdae96bcaedf1a3dc711d87567";
-      };
-    }
-    {
-      name = "vfile_statistics___vfile_statistics_1.1.3.tgz";
-      path = fetchurl {
-        name = "vfile_statistics___vfile_statistics_1.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/vfile-statistics/-/vfile-statistics-1.1.3.tgz";
-        sha1 = "e9c87071997fbcb4243764d2c3805e0bb0820c60";
-      };
-    }
-    {
-      name = "vfile___vfile_2.3.0.tgz";
-      path = fetchurl {
-        name = "vfile___vfile_2.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/vfile/-/vfile-2.3.0.tgz";
-        sha1 = "e62d8e72b20e83c324bc6c67278ee272488bf84a";
-      };
-    }
-    {
       name = "vfile___vfile_3.0.1.tgz";
       path = fetchurl {
         name = "vfile___vfile_3.0.1.tgz";
@@ -13450,38 +12426,6 @@
       };
     }
     {
-      name = "vfile___vfile_4.0.1.tgz";
-      path = fetchurl {
-        name = "vfile___vfile_4.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/vfile/-/vfile-4.0.1.tgz";
-        sha1 = "fc3d43a1c71916034216bf65926d5ee3c64ed60c";
-      };
-    }
-    {
-      name = "vinyl_fs___vinyl_fs_3.0.3.tgz";
-      path = fetchurl {
-        name = "vinyl_fs___vinyl_fs_3.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz";
-        sha1 = "c85849405f67428feabbbd5c5dbdd64f47d31bc7";
-      };
-    }
-    {
-      name = "vinyl_sourcemap___vinyl_sourcemap_1.1.0.tgz";
-      path = fetchurl {
-        name = "vinyl_sourcemap___vinyl_sourcemap_1.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz";
-        sha1 = "92a800593a38703a8cdb11d8b300ad4be63b3e16";
-      };
-    }
-    {
-      name = "vinyl___vinyl_2.2.0.tgz";
-      path = fetchurl {
-        name = "vinyl___vinyl_2.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz";
-        sha1 = "d85b07da96e458d25b2ffe19fece9f2caa13ed86";
-      };
-    }
-    {
       name = "visibilityjs___visibilityjs_1.2.4.tgz";
       path = fetchurl {
         name = "visibilityjs___visibilityjs_1.2.4.tgz";
diff --git a/pkgs/applications/version-management/gource/default.nix b/pkgs/applications/version-management/gource/default.nix
index 0a24cfbb3a0d..2ce855d3a7f8 100644
--- a/pkgs/applications/version-management/gource/default.nix
+++ b/pkgs/applications/version-management/gource/default.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchurl, SDL2, ftgl, pkgconfig, libpng, libjpeg, pcre
-, SDL2_image, freetype, glew, libGLU_combined, boost, glm
+, SDL2_image, freetype, glew, libGLU, libGL, boost, glm
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.49";
+  version = "0.51";
   pname = "gource";
 
   src = fetchurl {
     url = "https://github.com/acaudwell/Gource/releases/download/${pname}-${version}/${pname}-${version}.tar.gz";
-    sha256 = "12hf5ipcsp9dxsqn84n4kr63xaiskrnf5a084wr29qk171lj7pd9";
+    sha256 = "16p7b1x4r0915w883lp374jcdqqja37fnb7m8vnsfnl2n64gi8qr";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    glew SDL2 ftgl libpng libjpeg pcre SDL2_image libGLU_combined
+    glew SDL2 ftgl libpng libjpeg pcre SDL2_image libGLU libGL
     boost glm freetype
   ];
 
diff --git a/pkgs/applications/version-management/monotone/default.nix b/pkgs/applications/version-management/monotone/default.nix
index 7081e1a08996..bf8e5652d99c 100644
--- a/pkgs/applications/version-management/monotone/default.nix
+++ b/pkgs/applications/version-management/monotone/default.nix
@@ -5,7 +5,7 @@
 
 let
   version = "1.1";
-  perlVersion = (builtins.parseDrvName perl.name).version;
+  perlVersion = stdenv.lib.getVersion perl;
 in
 
 assert perlVersion != "";
diff --git a/pkgs/applications/version-management/pijul/default.nix b/pkgs/applications/version-management/pijul/default.nix
index 6d0e39d47bf4..3c5539189252 100644
--- a/pkgs/applications/version-management/pijul/default.nix
+++ b/pkgs/applications/version-management/pijul/default.nix
@@ -1,6 +1,17 @@
 { stdenv, fetchurl, rustPlatform, darwin, openssl, libsodium, nettle, clang, libclang, pkgconfig }:
 
-rustPlatform.buildRustPackage rec {
+let
+  # nettle-sys=1.0.1 requires the des-compat.h header, but it was removed in
+  # nettle 3.5.  See https://nest.pijul.com/pijul_org/pijul/discussions/416
+  # Remove with the next release
+  nettle_34 = nettle.overrideAttrs (_oldAttrs: rec {
+    version = "3.4.1";
+    src = fetchurl {
+      url = "mirror://gnu/nettle/nettle-${version}.tar.gz";
+      sha256 = "1bcji95n1iz9p9vsgdgr26v6s7zhpsxfbjjwpqcihpfd6lawyhgr";
+    };
+  });
+in rustPlatform.buildRustPackage rec {
   pname = "pijul";
   version = "0.12.0";
 
@@ -20,7 +31,7 @@ rustPlatform.buildRustPackage rec {
 
   LIBCLANG_PATH = libclang + "/lib";
 
-  buildInputs = [ openssl libsodium nettle libclang ] ++ stdenv.lib.optionals stdenv.isDarwin
+  buildInputs = [ openssl libsodium nettle_34 libclang ] ++ stdenv.lib.optionals stdenv.isDarwin
     (with darwin.apple_sdk.frameworks; [ CoreServices Security ]);
 
   doCheck = false;
diff --git a/pkgs/applications/version-management/sourcehut/lists.nix b/pkgs/applications/version-management/sourcehut/lists.nix
index 8aa6128819f1..d050895ca237 100644
--- a/pkgs/applications/version-management/sourcehut/lists.nix
+++ b/pkgs/applications/version-management/sourcehut/lists.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchgit, buildPythonPackage
 , python
-, srht, asyncpg, unidiff, aiosmtpd, emailthreads }:
+, srht, asyncpg, unidiff, aiosmtpd, pygit2, emailthreads }:
 
 buildPythonPackage rec {
   pname = "listssrht";
@@ -20,6 +20,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     srht
+    pygit2
     asyncpg
     unidiff
     aiosmtpd
diff --git a/pkgs/applications/version-management/yadm/default.nix b/pkgs/applications/version-management/yadm/default.nix
index 66b785e43b17..bebc9fef0c65 100644
--- a/pkgs/applications/version-management/yadm/default.nix
+++ b/pkgs/applications/version-management/yadm/default.nix
@@ -1,10 +1,12 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub, git, gnupg }:
 
 let version = "1.12.0"; in
 stdenv.mkDerivation {
   pname = "yadm";
   inherit version;
 
+  buildInputs = [ git gnupg ];
+
   src = fetchFromGitHub {
     owner  = "TheLocehiliosan";
     repo   = "yadm";
@@ -12,26 +14,26 @@ stdenv.mkDerivation {
     sha256 = "0873jgks7dpfkj5km1jchxdrhf7lia70p0f8zsrh9p4crj5f4pc6";
   };
 
-  buildCommand = ''
-    mkdir -p $out/bin
-    mkdir -p $out/share/man/man1
-    mkdir -p $out/share/zsh/site-functions
-    mkdir -p $out/share/bash-completion/completions
-    sed -e 's:/bin/bash:/usr/bin/env bash:' $src/yadm > $out/bin/yadm
-    chmod 755 $out/bin/yadm
-    install -m 644 $src/yadm.1 $out/share/man/man1/yadm.1
-    install -m644 $src/completion/yadm.zsh_completion $out/share/zsh/site-functions/_yadm
-    install -m644 $src/completion/yadm.bash_completion $out/share/bash-completion/completions/yadm.bash
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+    install -Dt $out/bin $src/yadm
+    install -Dt $out/share/man/man1 $src/yadm.1
+    install -D $src/completion/yadm.zsh_completion $out/share/zsh/site-functions/_yadm
+    install -D $src/completion/yadm.bash_completion $out/share/bash-completion/completions/yadm.bash
+    runHook postInstall
   '';
 
   meta = {
     homepage = https://github.com/TheLocehiliosan/yadm;
     description = "Yet Another Dotfiles Manager";
     longDescription = ''
-    yadm is a dotfile management tool with 3 main features: Manages files across
-    systems using a single Git repository. Provides a way to use alternate files on
-    a specific OS or host. Supplies a method of encrypting confidential data so it
-    can safely be stored in your repository.
+      yadm is a dotfile management tool with 3 main features:
+      * Manages files across systems using a single Git repository.
+      * Provides a way to use alternate files on a specific OS or host.
+      * Supplies a method of encrypting confidential data so it can safely be stored in your repository.
     '';
     license = stdenv.lib.licenses.gpl3;
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/applications/video/aegisub/default.nix b/pkgs/applications/video/aegisub/default.nix
index 2734035b6de9..2d82f3d3e2b4 100644
--- a/pkgs/applications/video/aegisub/default.nix
+++ b/pkgs/applications/video/aegisub/default.nix
@@ -1,7 +1,7 @@
 { config, stdenv, fetchurl
 , libX11, wxGTK
 , libiconv, fontconfig, freetype
-, libGLU_combined
+, libGLU, libGL
 , libass, fftw, ffms
 , ffmpeg, pkgconfig, zlib # Undocumented (?) dependencies
 , icu, boost, intltool # New dependencies
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   postPatch = "sed '1i#include <unicode/unistr.h>' -i src/utils.cpp";
 
   buildInputs = with stdenv.lib;
-  [ pkgconfig intltool libX11 wxGTK fontconfig freetype libGLU_combined
+  [ pkgconfig intltool libX11 wxGTK fontconfig freetype libGLU libGL
     libass fftw ffms ffmpeg zlib icu boost boost.out libiconv
   ]
     ++ optional spellcheckSupport hunspell
diff --git a/pkgs/applications/video/bomi/default.nix b/pkgs/applications/video/bomi/default.nix
index 9ff65483f261..a9d98a9a2a44 100644
--- a/pkgs/applications/video/bomi/default.nix
+++ b/pkgs/applications/video/bomi/default.nix
@@ -1,6 +1,6 @@
 { config, stdenv, fetchFromGitHub
 , fetchpatch, pkgconfig, perl, python, which
-, libX11, libxcb, libGLU_combined
+, libX11, libxcb, libGLU, libGL
 , qtbase, qtdeclarative, qtquickcontrols, qttools, qtx11extras, qmake, makeWrapper
 , libchardet
 , ffmpeg
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
   buildInputs = with stdenv.lib;
                 [ libX11
                   libxcb
-                  libGLU_combined
+                  libGLU libGL
                   qtbase
                   qtx11extras
                   qtdeclarative
diff --git a/pkgs/applications/video/clipgrab/default.nix b/pkgs/applications/video/clipgrab/default.nix
index 145b7cc06c2d..ad175b246766 100644
--- a/pkgs/applications/video/clipgrab/default.nix
+++ b/pkgs/applications/video/clipgrab/default.nix
@@ -5,10 +5,10 @@
 
 mkDerivation rec {
   pname = "clipgrab";
-  version = "3.8.5";
+  version = "3.8.6";
 
   src = fetchurl {
-    sha256 = "0jfjnzwvz4ynlld0ih7f7d575s5w2dag0hvb02c6qan7xm5jdhv9";
+    sha256 = "1w2j1wk9sf22nnschlraxdbxabqblrxyb8kq0lkyk7dkfa5d0hdq";
     # The .tar.bz2 "Download" link is a binary blob, the source is the .tar.gz!
     url = "https://download.clipgrab.org/${pname}-${version}.tar.gz";
   };
diff --git a/pkgs/applications/video/kodi/default.nix b/pkgs/applications/video/kodi/default.nix
index 8edc99c5f028..0302dd24646f 100644
--- a/pkgs/applications/video/kodi/default.nix
+++ b/pkgs/applications/video/kodi/default.nix
@@ -9,7 +9,7 @@
 , libXinerama, libXrandr
 , libXtst, libXfixes, systemd
 , alsaLib, libGLU, libGL, glew, fontconfig, freetype, ftgl
-, libjpeg, jasper, libpng, libtiff
+, libjpeg, libpng, libtiff
 , libmpeg2, libsamplerate, libmad
 , libogg, libvorbis, flac, libxslt
 , lzo, libcdio, libmodplug, libass, libbluray
@@ -157,7 +157,7 @@ in stdenv.mkDerivation {
       libX11 xorgproto libXt libXmu libXext
       libXinerama libXrandr libXtst libXfixes
       alsaLib libGL libGLU glew fontconfig freetype ftgl
-      libjpeg jasper libpng libtiff
+      libjpeg libpng libtiff
       libmpeg2 libsamplerate libmad
       libogg libvorbis flac libxslt systemd
       lzo libcdio libmodplug libass libbluray
diff --git a/pkgs/applications/video/mediathekview/default.nix b/pkgs/applications/video/mediathekview/default.nix
index a5de209854b3..586779252b63 100644
--- a/pkgs/applications/video/mediathekview/default.nix
+++ b/pkgs/applications/video/mediathekview/default.nix
@@ -1,25 +1,29 @@
 { stdenv, fetchurl, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  version = "13.2.1";
+  version = "13.5.0";
   pname = "mediathekview";
   src = fetchurl {
-    url = "https://download.mediathekview.de/stabil/MediathekView-${version}.tar.gz";
-    sha256 = "11wg6klviig0h7pprfaygamsgqr7drqra2s4yxgfak6665033l2a";
+    url = "https://download.mediathekview.de/stabil/MediathekView-${version}-linux.tar.gz";
+    sha256 = "0n05w2d6sh03rjms7m9b5nj84cl16gkrc9nsn53kvldglmqmmrac";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
-    mkdir -p $out/{lib,bin,share/mediathekview}
+    mkdir -p $out/{bin,lib}
 
-    install -m644 MediathekView.jar $out/
-    install -m644 -t $out/lib lib/*
-    install -m755 bin/flv.sh $out/share/mediathekview
+    install -m644 MediathekView.jar $out/lib
 
     makeWrapper ${jre}/bin/java $out/bin/mediathek \
-      --add-flags "-cp '$out/lib/*' -jar $out/MediathekView.jar"
-    '';
+      --add-flags "-Xmx1G -jar $out/lib/MediathekView.jar"
+
+    makeWrapper ${jre}/bin/java $out/bin/MediathekView \
+      --add-flags "-Xmx1G -jar $out/lib/MediathekView.jar"
+
+    makeWrapper ${jre}/bin/java $out/bin/MediathekView_ipv4 \
+      --add-flags "-Xmx1G -Djava.net.preferIPv4Stack=true -jar $out/lib/MediathekView.jar"
+  '';
 
   meta = with stdenv.lib; {
     description = "Offers access to the Mediathek of different tv stations (ARD, ZDF, Arte, etc.)";
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index 153d0a20b6e6..cef7ea1bf3c0 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -13,13 +13,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "mkvtoolnix";
-  version = "38.0.0";
+  version = "40.0.0";
 
   src = fetchFromGitLab {
     owner  = "mbunkus";
     repo   = "mkvtoolnix";
     rev    = "release-${version}";
-    sha256 = "0874rfslglywpa8ilhqv59zvn2hisdsbwd7r61psf5rd64v72ym4";
+    sha256 = "103rvj6f6nlzybzbkqix7q5f2017bmzsn9z5g7bwnjjwgih5mrpq";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/video/mplayer/default.nix b/pkgs/applications/video/mplayer/default.nix
index 2afb7d1c68a5..a75a7a11d67a 100644
--- a/pkgs/applications/video/mplayer/default.nix
+++ b/pkgs/applications/video/mplayer/default.nix
@@ -2,7 +2,7 @@
 , aalibSupport ? true, aalib ? null
 , fontconfigSupport ? true, fontconfig ? null, freefont_ttf ? null
 , fribidiSupport ? true, fribidi ? null
-, x11Support ? true, libX11 ? null, libXext ? null, libGLU_combined ? null
+, x11Support ? true, libX11 ? null, libXext ? null, libGLU, libGL ? null
 , xineramaSupport ? true, libXinerama ? null
 , xvSupport ? true, libXv ? null
 , alsaSupport ? stdenv.isLinux, alsaLib ? null
@@ -32,7 +32,7 @@
 assert fontconfigSupport -> (fontconfig != null);
 assert (!fontconfigSupport) -> (freefont_ttf != null);
 assert fribidiSupport -> (fribidi != null);
-assert x11Support -> (libX11 != null && libXext != null && libGLU_combined != null);
+assert x11Support -> (libX11 != null && libXext != null && libGLU != null && libGL != null);
 assert xineramaSupport -> (libXinerama != null && x11Support);
 assert xvSupport -> (libXv != null && x11Support);
 assert alsaSupport -> alsaLib != null;
@@ -111,7 +111,7 @@ stdenv.mkDerivation rec {
     ++ optional aalibSupport aalib
     ++ optional fontconfigSupport fontconfig
     ++ optional fribidiSupport fribidi
-    ++ optionals x11Support [ libX11 libXext libGLU_combined ]
+    ++ optionals x11Support [ libX11 libXext libGLU libGL ]
     ++ optional alsaSupport alsaLib
     ++ optional xvSupport libXv
     ++ optional theoraSupport libtheora
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index f3c7d3761004..6c86b514afdf 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -9,7 +9,7 @@
   , libxkbcommon      ? null
 
 , x11Support ? stdenv.isLinux
-  , libGLU_combined ? null
+  , libGLU, libGL ? null
   , libX11          ? null
   , libXext         ? null
   , libXxf86vm      ? null
@@ -86,7 +86,7 @@ assert vapoursynthSupport -> available vapoursynth;
 assert vdpauSupport       -> available libvdpau;
 assert vulkanSupport      -> all available [ libplacebo shaderc vulkan-headers vulkan-loader ];
 assert waylandSupport     -> all available [ wayland wayland-protocols libxkbcommon ];
-assert x11Support         -> all available [ libGLU_combined libX11 libXext libXxf86vm libXrandr ];
+assert x11Support         -> all available [ libGLU libGL libX11 libXext libXxf86vm libXrandr ];
 assert xineramaSupport    -> x11Support && available libXinerama;
 assert xvSupport          -> x11Support && available libXv;
 assert youtubeSupport     -> available youtube-dl;
@@ -181,7 +181,7 @@ in stdenv.mkDerivation rec {
     ++ optionals drmSupport        [ libdrm mesa ]
     ++ optionals dvdnavSupport     [ libdvdnav libdvdnav.libdvdread ]
     ++ optionals waylandSupport    [ wayland wayland-protocols libxkbcommon ]
-    ++ optionals x11Support        [ libX11 libXext libGLU_combined libXxf86vm libXrandr ]
+    ++ optionals x11Support        [ libX11 libXext libGLU libGL libXxf86vm libXrandr ]
     ++ optionals vulkanSupport     [ libplacebo shaderc vulkan-headers vulkan-loader ]
     ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
       CoreFoundation Cocoa CoreAudio
diff --git a/pkgs/applications/video/mythtv/default.nix b/pkgs/applications/video/mythtv/default.nix
index 7914bb84c428..2c73d3e734cc 100644
--- a/pkgs/applications/video/mythtv/default.nix
+++ b/pkgs/applications/video/mythtv/default.nix
@@ -1,5 +1,5 @@
 { stdenv, mkDerivation, fetchFromGitHub, which, qtbase, qtwebkit, qtscript, xlibsWrapper
-, libpulseaudio, fftwSinglePrec , lame, zlib, libGLU_combined, alsaLib, freetype
+, libpulseaudio, fftwSinglePrec , lame, zlib, libGLU, libGL, alsaLib, freetype
 , perl, pkgconfig , libsamplerate, libbluray, lzo, libX11, libXv, libXrandr, libXvMC, libXinerama, libXxf86vm
 , libXmu , yasm, libuuid, taglib, libtool, autoconf, automake, file, exiv2, linuxHeaders
 , libXNVCtrl, enableXnvctrl ? false
@@ -26,7 +26,7 @@ mkDerivation rec {
   setSourceRoot = ''sourceRoot=$(echo */mythtv)'';
 
   buildInputs = [
-    freetype qtbase qtwebkit qtscript lame zlib xlibsWrapper libGLU_combined
+    freetype qtbase qtwebkit qtscript lame zlib xlibsWrapper libGLU libGL
     perl libsamplerate libbluray lzo alsaLib libpulseaudio fftwSinglePrec libX11 libXv libXrandr libXvMC
     libXmu libXinerama libXxf86vm libXmu libuuid taglib exiv2
   ] ++ stdenv.lib.optional enableXnvctrl libXNVCtrl;
diff --git a/pkgs/applications/video/obs-studio/hardcode-ndi-path.patch b/pkgs/applications/video/obs-studio/hardcode-ndi-path.patch
new file mode 100644
index 000000000000..caef96c381f2
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/hardcode-ndi-path.patch
@@ -0,0 +1,17 @@
+diff --git a/src/obs-ndi.cpp b/src/obs-ndi.cpp
+index 493831c..7b0f8db 100644
+--- a/src/obs-ndi.cpp
++++ b/src/obs-ndi.cpp
+@@ -197,11 +197,7 @@ const char* obs_module_description()
+ const NDIlib_v4* load_ndilib()
+ {
+ 	QStringList locations;
+-	locations << QString(qgetenv(NDILIB_REDIST_FOLDER));
+-#if defined(__linux__) || defined(__APPLE__)
+-	locations << "/usr/lib";
+-	locations << "/usr/local/lib";
+-#endif
++	locations << "@NDI@/lib";
+ 
+ 	for (QString path : locations) {
+ 		blog(LOG_INFO, "Trying '%s'", path.toUtf8().constData());
diff --git a/pkgs/applications/video/obs-studio/obs-ndi.nix b/pkgs/applications/video/obs-studio/obs-ndi.nix
index 450ebf4ac20d..452793f442ee 100644
--- a/pkgs/applications/video/obs-studio/obs-ndi.nix
+++ b/pkgs/applications/video/obs-studio/obs-ndi.nix
@@ -2,15 +2,18 @@
 # somewhat manually install this:
 
 # nix-env -f "<nixpkgs>" -iA obs-ndi
-# mkdir -p ~/.config/obs-studio/plugins
-# ln -s ~/.nix-profile/share/obs/obs-plugins/obs-ndi ~/.config/obs-studio/plugins/
+# mkdir -p ~/.config/obs-studio/plugins/bin
+# ln -s ~/.nix-profile/lib/obs-plugins/obs-ndi.so ~/.config/obs-studio/plugins/bin/
 
-{ stdenv, fetchFromGitHub, obs-studio, cmake, qt5 }:
+{ stdenv, fetchFromGitHub, obs-studio, cmake, qt5, ndi }:
 
 stdenv.mkDerivation rec {
   pname = "obs-ndi";
   version = "4.7.1";
 
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ obs-studio qt5.qtbase ndi ];
+
   src = fetchFromGitHub {
     owner = "Palakis";
     repo = "obs-ndi";
@@ -18,10 +21,9 @@ stdenv.mkDerivation rec {
     sha256 = "040fkbf3f3qgqcrd3072y3zrjb4fwga8zr10jym744xd7bgyylqh";
   };
 
-  patches = [ ./fix-search-path.patch ];
+  patches = [ ./fix-search-path.patch ./hardcode-ndi-path.patch ];
 
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ obs-studio qt5.qtbase ];
+  postPatch = "sed -i -e s,@NDI@,${ndi},g src/obs-ndi.cpp";
 
   cmakeFlags = [
     "-DLIBOBS_INCLUDE_DIR=${obs-studio}/include/obs"
diff --git a/pkgs/applications/video/simplescreenrecorder/default.nix b/pkgs/applications/video/simplescreenrecorder/default.nix
index 29ad928e27cd..6191fd0f18ad 100644
--- a/pkgs/applications/video/simplescreenrecorder/default.nix
+++ b/pkgs/applications/video/simplescreenrecorder/default.nix
@@ -1,5 +1,5 @@
 { stdenv, mkDerivation, fetchurl, alsaLib, ffmpeg, libjack2, libX11, libXext, qtx11extras
-, libXfixes, libGLU_combined, pkgconfig, libpulseaudio, qtbase, cmake, ninja
+, libXfixes, libGLU, libGL, pkgconfig, libpulseaudio, qtbase, cmake, ninja
 }:
 
 mkDerivation rec {
@@ -25,7 +25,7 @@ mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig cmake ninja ];
   buildInputs = [
-    alsaLib ffmpeg libjack2 libX11 libXext libXfixes libGLU_combined
+    alsaLib ffmpeg libjack2 libX11 libXext libXfixes libGLU libGL
     libpulseaudio qtbase qtx11extras
   ];
 
diff --git a/pkgs/applications/video/smplayer/default.nix b/pkgs/applications/video/smplayer/default.nix
index facb8fabe265..65a7f358d6fa 100644
--- a/pkgs/applications/video/smplayer/default.nix
+++ b/pkgs/applications/video/smplayer/default.nix
@@ -2,11 +2,11 @@
 
 mkDerivation rec {
   pname = "smplayer";
-  version = "19.10.0";
+  version = "19.10.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "0sq7hr10b4pbbi0y1q4mxs24h2lb042nv4rqr03r72bp57353xsl";
+    sha256 = "0i2c15yxk4by2zyjhb7n08larz9pmpa6zw383aybjxqh0nd9zv9p";
   };
 
   buildInputs = [ qtscript ];
diff --git a/pkgs/applications/video/streamlink/default.nix b/pkgs/applications/video/streamlink/default.nix
index b5ffdb018ffe..ce22d8bed279 100644
--- a/pkgs/applications/video/streamlink/default.nix
+++ b/pkgs/applications/video/streamlink/default.nix
@@ -1,14 +1,14 @@
 { stdenv, pythonPackages, fetchFromGitHub, rtmpdump, ffmpeg }:
 
 pythonPackages.buildPythonApplication rec {
-  version = "1.2.0";
+  version = "1.3.0";
   pname = "streamlink";
 
   src = fetchFromGitHub {
     owner = "streamlink";
     repo = "streamlink";
     rev = version;
-    sha256 = "0l8b9ipfmd6dic07ajqqml26jdydz0k046hvx32mqp64jl5jpznh";
+    sha256 = "0f4qwwa5pxd4igvxq1qadqpphazlbs3c3cr29ybks2x5wajrvwah";
   };
 
   checkInputs = with pythonPackages; [ pytest mock requests-mock freezegun ];
diff --git a/pkgs/applications/video/vdr/wrapper.nix b/pkgs/applications/video/vdr/wrapper.nix
index 497ad7c77a08..50d3b9d65a8d 100644
--- a/pkgs/applications/video/vdr/wrapper.nix
+++ b/pkgs/applications/video/vdr/wrapper.nix
@@ -8,7 +8,7 @@
 
 in symlinkJoin {
 
-  name = "vdr-with-plugins-${(builtins.parseDrvName vdr.name).version}";
+  name = "vdr-with-plugins-${lib.getVersion vdr}";
 
   paths = [ vdr ] ++ plugins;
 
diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix
index c0080329487f..e475c4ed78af 100644
--- a/pkgs/applications/virtualization/OVMF/default.nix
+++ b/pkgs/applications/virtualization/OVMF/default.nix
@@ -16,7 +16,7 @@ let
   else
     throw "Unsupported architecture";
 
-  version = (builtins.parseDrvName edk2.name).version;
+  version = lib.getVersion edk2;
 in
 
 edk2.mkDerivation projectDscPath {
diff --git a/pkgs/applications/virtualization/bochs/default.nix b/pkgs/applications/virtualization/bochs/default.nix
index 72db4f1e5aa5..770154f1918b 100644
--- a/pkgs/applications/virtualization/bochs/default.nix
+++ b/pkgs/applications/virtualization/bochs/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl
 , pkgconfig, libtool
-, gtk2, libGLU_combined, readline, libX11, libXpm
+, gtk2, libGLU, libGL, readline, libX11, libXpm
 , docbook_xml_dtd_45, docbook_xsl
 , sdlSupport ? true, SDL2 ? null
 , termSupport ? true, ncurses ? null
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   patches = [ ./bochs-2.6.9-glibc-2.26.patch ];
 
   buildInputs = with stdenv.lib;
-  [ pkgconfig libtool gtk2 libGLU_combined readline libX11 libXpm docbook_xml_dtd_45 docbook_xsl ]
+  [ pkgconfig libtool gtk2 libGLU libGL readline libX11 libXpm docbook_xml_dtd_45 docbook_xsl ]
   ++ optionals termSupport [ ncurses ]
   ++ optionals sdlSupport [ SDL2 ]
   ++ optionals wxSupport [ wxGTK ]
diff --git a/pkgs/applications/virtualization/charliecloud/default.nix b/pkgs/applications/virtualization/charliecloud/default.nix
index 35c78dfd50a4..a0694b7efbe8 100644
--- a/pkgs/applications/virtualization/charliecloud/default.nix
+++ b/pkgs/applications/virtualization/charliecloud/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
 
-  version = "0.11";
+  version = "0.12";
   pname = "charliecloud";
 
   src = fetchFromGitHub {
     owner = "hpc";
     repo = "charliecloud";
     rev = "v${version}";
-    sha256 = "10dzas5fyh2lpa0kf1xv8z9c4g4cf0zlmnpilyvpcyccyfjf6cp2";
+    sha256 = "177rcf1klcxsp6x9cw75cmz3y2izgd1hvi1rb9vc6iz9qx1nmk3v";
   };
 
   buildInputs = [ python ];
diff --git a/pkgs/applications/virtualization/cntr/default.nix b/pkgs/applications/virtualization/cntr/default.nix
index 13afe0a42619..698f6df0673a 100644
--- a/pkgs/applications/virtualization/cntr/default.nix
+++ b/pkgs/applications/virtualization/cntr/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cntr";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "Mic92";
     repo = "cntr";
     rev = version;
-    sha256 = "0lmbsnjia44h4rskqkv9yc7xb6f3qjgbg8kcr9zqnr7ivr5fjcxg";
+    sha256 = "0dhfz7aj3cqi974ybf0axchih40rzrs9m8bxhwz1hgig57aisfc0";
   };
 
   cargoSha256 = "0xkwza9fx61pvlsm0s3dxc9i09mqp6c9df8w63fyiq7174vjxryx";
diff --git a/pkgs/applications/virtualization/cri-o/default.nix b/pkgs/applications/virtualization/cri-o/default.nix
index fddf1741720c..29111399ae96 100644
--- a/pkgs/applications/virtualization/cri-o/default.nix
+++ b/pkgs/applications/virtualization/cri-o/default.nix
@@ -17,7 +17,7 @@
 
 buildGoPackage rec {
   project = "cri-o";
-  version = "1.16.0";
+  version = "1.16.1";
   name = "${project}-${version}${flavor}";
 
   goPackagePath = "github.com/${project}/${project}";
@@ -26,7 +26,7 @@ buildGoPackage rec {
     owner = "cri-o";
     repo = "cri-o";
     rev = "v${version}";
-    sha256 = "1kbg544v7c1apaxrpndgrap0pb5c67d8fazbkgykg6ynskx6n344";
+    sha256 = "0w690zhc55gdqzc31jc34nrzwd253pfb3rq23z51q22nqwmlsh9p";
   };
 
   outputs = [ "bin" "out" ];
diff --git a/pkgs/applications/virtualization/docker-compose/default.nix b/pkgs/applications/virtualization/docker-compose/default.nix
index b1c42b099b67..7e8dbf33a7b0 100644
--- a/pkgs/applications/virtualization/docker-compose/default.nix
+++ b/pkgs/applications/virtualization/docker-compose/default.nix
@@ -7,12 +7,12 @@
 }:
 
 buildPythonApplication rec {
-  version = "1.24.1";
+  version = "1.25.0";
   pname = "docker-compose";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0lx7bx6jvhydbab8vwry0bclhdf0dfj6jrns1m5y45yp9ybqxmd5";
+    sha256 = "0zlprmsgmj4z627snsl0qmq8y7ggcyqrqm5vxvrvcigl7zywnprc";
   };
 
   # lots of networking and other fails
diff --git a/pkgs/applications/virtualization/spike/default.nix b/pkgs/applications/virtualization/spike/default.nix
new file mode 100644
index 000000000000..4dbb7fbe4a52
--- /dev/null
+++ b/pkgs/applications/virtualization/spike/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchgit, dtc }:
+
+stdenv.mkDerivation rec {
+  pname = "spike";
+  version = "1.0.0";
+
+  src = fetchgit {
+    url = "https://github.com/riscv/riscv-isa-sim.git";
+    rev = "v${version}";
+    sha256 = "1hcl01nj96s3rkz4mrq747s5lkw81lgdjdimb8b1b9h8qnida7ww";
+  };
+
+  nativeBuildInputs = [ dtc ];
+  enableParallelBuilding = true;
+
+  patchPhase = ''
+    patchShebangs scripts/*.sh
+    patchShebangs tests/ebreak.py
+  '';
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "A RISC-V ISA Simulator";
+    homepage = "https://github.com/riscv/riscv-isa-sim";
+    license = licenses.bsd3;
+    platforms = [ "x86_64-linux" "aarch64-linux" ];
+    maintainers = with maintainers; [ blitz ];
+  };
+}
diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix
index 42860966fe11..99d20477a125 100644
--- a/pkgs/applications/virtualization/virt-manager/default.nix
+++ b/pkgs/applications/virtualization/virt-manager/default.nix
@@ -9,17 +9,12 @@
 
 with stdenv.lib;
 
-# TODO: remove after there's support for setupPyDistFlags
-let
-  setuppy = ../../../development/interpreters/python/run_setup.py;
-in
 python3Packages.buildPythonApplication rec {
-  name = "virt-manager-${version}";
+  pname = "virt-manager";
   version = "2.2.1";
-  namePrefix = "";
 
   src = fetchurl {
-    url = "http://virt-manager.org/download/sources/virt-manager/${name}.tar.gz";
+    url = "http://virt-manager.org/download/sources/virt-manager/${pname}-${version}.tar.gz";
     sha256 = "06ws0agxlip6p6n3n43knsnjyd91gqhh2dadgc33wl9lx1k8vn6g";
   };
 
@@ -49,13 +44,7 @@ python3Packages.buildPythonApplication rec {
     ${python3Packages.python.interpreter} setup.py configure --prefix=$out
   '';
 
-  # TODO: remove after there's support for setupPyDistFlags
-  buildPhase = ''
-    runHook preBuild
-    cp ${setuppy} nix_run_setup
-    ${python3Packages.python.pythonForBuild.interpreter} nix_run_setup --no-update-icon-cache build_ext bdist_wheel
-    runHook postBuild
-  '';
+  setupPyGlobalFlags = [ "--no-update-icon-cache" ];
 
   preFixup = ''
     gappsWrapperArgs+=(--set PYTHONPATH "$PYTHONPATH")
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index addcf125e27e..13e70c2561d2 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -214,7 +214,7 @@ in stdenv.mkDerivation {
     description = "PC emulator";
     license = licenses.gpl2;
     homepage = https://www.virtualbox.org/;
-    maintainers = with maintainers; [ flokli sander ];
+    maintainers = with maintainers; [ sander ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/virtualization/virtualbox/extpack.nix b/pkgs/applications/virtualization/virtualbox/extpack.nix
index 56400a759457..9357a641de2f 100644
--- a/pkgs/applications/virtualization/virtualbox/extpack.nix
+++ b/pkgs/applications/virtualization/virtualbox/extpack.nix
@@ -18,7 +18,7 @@ fetchurl rec {
     description = "Oracle Extension pack for VirtualBox";
     license = licenses.virtualbox-puel;
     homepage = https://www.virtualbox.org/;
-    maintainers = with maintainers; [ flokli sander cdepillabout ];
+    maintainers = with maintainers; [ sander cdepillabout ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/virtualization/x11docker/default.nix b/pkgs/applications/virtualization/x11docker/default.nix
index c57a7f6e7714..af136f7e545a 100644
--- a/pkgs/applications/virtualization/x11docker/default.nix
+++ b/pkgs/applications/virtualization/x11docker/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchFromGitHub, makeWrapper, nx-libs, xorg, getopt, gnugrep, gawk, ps, mount, iproute }:
 stdenv.mkDerivation rec {
   pname = "x11docker";
-  version = "6.3.0";
+  version = "6.4.0";
   src = fetchFromGitHub {
     owner = "mviereck";
     repo = "x11docker";
     rev = "v${version}";
-    sha256 = "0x2sx41y3ylzg511x52k3wh8mfbzp4ialpas6sn4ccagqxh2hc4y";
+    sha256 = "0s8gk2kqxkfwx1x44g19ckm7rqgrcax59y8brgmigajqizik7sql";
   };
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/applications/window-managers/cage/default.nix b/pkgs/applications/window-managers/cage/default.nix
index be45d68dc5df..ce4031b92f56 100644
--- a/pkgs/applications/window-managers/cage/default.nix
+++ b/pkgs/applications/window-managers/cage/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub
 , meson, ninja, pkgconfig, makeWrapper
 , wlroots, wayland, wayland-protocols, pixman, libxkbcommon
-, systemd, mesa, libX11
+, systemd, libGL, libX11
 , xwayland ? null
 }:
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     wlroots wayland wayland-protocols pixman libxkbcommon
     # TODO: Not specified but required:
-    systemd mesa libX11
+    systemd libGL libX11
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/window-managers/icewm/default.nix b/pkgs/applications/window-managers/icewm/default.nix
index f388c2d99db2..58fa0d194e11 100644
--- a/pkgs/applications/window-managers/icewm/default.nix
+++ b/pkgs/applications/window-managers/icewm/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "icewm";
-  version = "1.6.0";
+  version = "1.6.3";
 
   src = fetchFromGitHub {
     owner  = "bbidulock";
     repo   = "icewm";
     rev    = version;
-    sha256 = "1l8hjmb19d7ds7z21cx207h86wkjcmmmamcnalgkwh4alvbawc2p";
+    sha256 = "0h3w718x28fd4sz36ka9wpgcb98scna6qpycxzls4cjji3rjgm0l";
   };
 
   nativeBuildInputs = [ cmake pkgconfig perl asciidoc ];
diff --git a/pkgs/build-support/appimage/default.nix b/pkgs/build-support/appimage/default.nix
index 7e2b2b347d90..c871df787b7e 100644
--- a/pkgs/build-support/appimage/default.nix
+++ b/pkgs/build-support/appimage/default.nix
@@ -185,7 +185,7 @@ rec {
       keyutils.lib
       libjack2
       fribidi
-      p11_kit
+      p11-kit
 
       # libraries not on the upstream include list, but nevertheless expected
       # by at least one appimage
diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix
index 4a56f00db49e..c60abdd03e81 100644
--- a/pkgs/build-support/bintools-wrapper/default.nix
+++ b/pkgs/build-support/bintools-wrapper/default.nix
@@ -34,8 +34,8 @@ let
   targetPrefix = stdenv.lib.optionalString (targetPlatform != hostPlatform)
                                         (targetPlatform.config + "-");
 
-  bintoolsVersion = (builtins.parseDrvName bintools.name).version;
-  bintoolsName = (builtins.parseDrvName bintools.name).name;
+  bintoolsVersion = stdenv.lib.getVersion bintools;
+  bintoolsName = stdenv.lib.removePrefix targetPrefix (stdenv.lib.getName bintools);
 
   libc_bin = if libc == null then null else getBin libc;
   libc_dev = if libc == null then null else getDev libc;
@@ -73,9 +73,9 @@ let
 in
 
 stdenv.mkDerivation {
-  name = targetPrefix
-    + (if name != "" then name else stdenv.lib.removePrefix targetPrefix "${bintoolsName}-wrapper")
-    + (stdenv.lib.optionalString (bintools != null && bintoolsVersion != "") "-${bintoolsVersion}");
+  pname = targetPrefix
+    + (if name != "" then name else "${bintoolsName}-wrapper");
+  version = if bintools == null then null else bintoolsVersion;
 
   preferLocalBuild = true;
 
@@ -184,6 +184,7 @@ stdenv.mkDerivation {
       else if targetPlatform.isMsp430 then "msp430"
       else if targetPlatform.isAvr then "avr"
       else if targetPlatform.isAlpha then "alpha"
+      else if targetPlatform.isVc4 then "vc4"
       else throw "unknown emulation for platform: ${targetPlatform.config}";
     in if targetPlatform.useLLVM or false then ""
        else targetPlatform.platform.bfdEmulation or (fmt + sep + arch);
diff --git a/pkgs/build-support/build-bazel-package/default.nix b/pkgs/build-support/build-bazel-package/default.nix
index a1a38484386d..8fa3cc55279b 100644
--- a/pkgs/build-support/build-bazel-package/default.nix
+++ b/pkgs/build-support/build-bazel-package/default.nix
@@ -4,10 +4,30 @@
 , lib
 }:
 
-args@{ name, bazelFlags ? [], bazelBuildFlags ? [], bazelFetchFlags ? [], bazelTarget, buildAttrs, fetchAttrs, ... }:
+args@{
+  name
+, bazelFlags ? []
+, bazelBuildFlags ? []
+, bazelFetchFlags ? []
+, bazelTarget
+, buildAttrs
+, fetchAttrs
+
+# Newer versions of Bazel are moving away from built-in rules_cc and instead
+# allow fetching it as an external dependency in a WORKSPACE file[1]. If
+# removed in the fixed-output fetch phase, building will fail to download it.
+# This can be seen e.g. in #73097
+#
+# This option allows configuring the removal of rules_cc in cases where a
+# project depends on it via an external dependency.
+#
+# [1]: https://github.com/bazelbuild/rules_cc
+, removeRulesCC ? true
+, ...
+}:
 
 let
-  fArgs = removeAttrs args [ "buildAttrs" "fetchAttrs" ];
+  fArgs = removeAttrs args [ "buildAttrs" "fetchAttrs" "removeRulesCC" ];
   fBuildAttrs = fArgs // buildAttrs;
   fFetchAttrs = fArgs // removeAttrs fetchAttrs [ "sha256" ];
 
@@ -24,8 +44,12 @@ in stdenv.mkDerivation (fBuildAttrs // {
       export bazelOut="$(echo ''${NIX_BUILD_TOP}/output | sed -e 's,//,/,g')"
       export bazelUserRoot="$(echo ''${NIX_BUILD_TOP}/tmp | sed -e 's,//,/,g')"
       export HOME="$NIX_BUILD_TOP"
+      export USER="nix"
       # This is needed for git_repository with https remotes
       export GIT_SSL_CAINFO="${cacert}/etc/ssl/certs/ca-bundle.crt"
+      # This is needed for Bazel fetchers that are themselves programs (e.g.
+      # rules_go using the go toolchain)
+      export SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt"
     '';
 
     buildPhase = fFetchAttrs.buildPhase or ''
@@ -60,7 +84,7 @@ in stdenv.mkDerivation (fBuildAttrs // {
 
       # Remove all built in external workspaces, Bazel will recreate them when building
       rm -rf $bazelOut/external/{bazel_tools,\@bazel_tools.marker}
-      rm -rf $bazelOut/external/{rules_cc,\@rules_cc.marker}
+      ${if removeRulesCC then "rm -rf $bazelOut/external/{rules_cc,\\@rules_cc.marker}" else ""}
       rm -rf $bazelOut/external/{embedded_jdk,\@embedded_jdk.marker}
       rm -rf $bazelOut/external/{local_*,\@local_*.marker}
 
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index d6037552ef6e..757985e07161 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -35,8 +35,8 @@ let
   targetPrefix = stdenv.lib.optionalString (targetPlatform != hostPlatform)
                                            (targetPlatform.config + "-");
 
-  ccVersion = (builtins.parseDrvName cc.name).version;
-  ccName = (builtins.parseDrvName cc.name).name;
+  ccVersion = stdenv.lib.getVersion cc;
+  ccName = stdenv.lib.removePrefix targetPrefix (stdenv.lib.getName cc);
 
   libc_bin = if libc == null then null else getBin libc;
   libc_dev = if libc == null then null else getDev libc;
@@ -93,9 +93,9 @@ assert nativeLibc == bintools.nativeLibc;
 assert nativePrefix == bintools.nativePrefix;
 
 stdenv.mkDerivation {
-  name = targetPrefix
-    + (if name != "" then name else stdenv.lib.removePrefix targetPrefix "${ccName}-wrapper")
-    + (stdenv.lib.optionalString (cc != null && ccVersion != "") "-${ccVersion}");
+  pname = targetPrefix
+    + (if name != "" then name else "${ccName}-wrapper");
+  version = if cc == null then null else ccVersion;
 
   preferLocalBuild = true;
 
@@ -132,6 +132,8 @@ stdenv.mkDerivation {
     src=$PWD
   '';
 
+  wrapper = ./cc-wrapper.sh;
+
   installPhase =
     ''
       mkdir -p $out/bin $out/nix-support
@@ -171,42 +173,42 @@ stdenv.mkDerivation {
       export default_cxx_stdlib_compile="${default_cxx_stdlib_compile}"
 
       if [ -e $ccPath/${targetPrefix}gcc ]; then
-        wrap ${targetPrefix}gcc ${./cc-wrapper.sh} $ccPath/${targetPrefix}gcc
+        wrap ${targetPrefix}gcc $wrapper $ccPath/${targetPrefix}gcc
         ln -s ${targetPrefix}gcc $out/bin/${targetPrefix}cc
         export named_cc=${targetPrefix}gcc
         export named_cxx=${targetPrefix}g++
       elif [ -e $ccPath/clang ]; then
-        wrap ${targetPrefix}clang ${./cc-wrapper.sh} $ccPath/clang
+        wrap ${targetPrefix}clang $wrapper $ccPath/clang
         ln -s ${targetPrefix}clang $out/bin/${targetPrefix}cc
         export named_cc=${targetPrefix}clang
         export named_cxx=${targetPrefix}clang++
       fi
 
       if [ -e $ccPath/${targetPrefix}g++ ]; then
-        wrap ${targetPrefix}g++ ${./cc-wrapper.sh} $ccPath/${targetPrefix}g++
+        wrap ${targetPrefix}g++ $wrapper $ccPath/${targetPrefix}g++
         ln -s ${targetPrefix}g++ $out/bin/${targetPrefix}c++
       elif [ -e $ccPath/clang++ ]; then
-        wrap ${targetPrefix}clang++ ${./cc-wrapper.sh} $ccPath/clang++
+        wrap ${targetPrefix}clang++ $wrapper $ccPath/clang++
         ln -s ${targetPrefix}clang++ $out/bin/${targetPrefix}c++
       fi
 
       if [ -e $ccPath/cpp ]; then
-        wrap ${targetPrefix}cpp ${./cc-wrapper.sh} $ccPath/cpp
+        wrap ${targetPrefix}cpp $wrapper $ccPath/cpp
       fi
     ''
 
     + optionalString cc.langFortran or false ''
-      wrap ${targetPrefix}gfortran ${./cc-wrapper.sh} $ccPath/${targetPrefix}gfortran
+      wrap ${targetPrefix}gfortran $wrapper $ccPath/${targetPrefix}gfortran
       ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}g77
       ln -sv ${targetPrefix}gfortran $out/bin/${targetPrefix}f77
     ''
 
     + optionalString cc.langJava or false ''
-      wrap ${targetPrefix}gcj ${./cc-wrapper.sh} $ccPath/${targetPrefix}gcj
+      wrap ${targetPrefix}gcj $wrapper $ccPath/${targetPrefix}gcj
     ''
 
     + optionalString cc.langGo or false ''
-      wrap ${targetPrefix}gccgo ${./cc-wrapper.sh} $ccPath/${targetPrefix}gccgo
+      wrap ${targetPrefix}gccgo $wrapper $ccPath/${targetPrefix}gccgo
     '';
 
   strictDeps = true;
diff --git a/pkgs/build-support/emacs/setup-hook.sh b/pkgs/build-support/emacs/setup-hook.sh
index b55c18738023..b210511d670d 100644
--- a/pkgs/build-support/emacs/setup-hook.sh
+++ b/pkgs/build-support/emacs/setup-hook.sh
@@ -1,6 +1,8 @@
 addEmacsVars () {
-  if [[ -d "$1/share/emacs/site-lisp" ]]; then
-      export EMACSLOADPATH="$1/share/emacs/site-lisp${EMACSLOADPATH:+:}${EMACSLOADPATH-}"
+  if test -d $1/share/emacs/site-lisp; then
+      # it turns out, that the trailing : is actually required
+      # see https://www.gnu.org/software/emacs/manual/html_node/elisp/Library-Search.html
+      export EMACSLOADPATH="$1/share/emacs/site-lisp:${EMACSLOADPATH-}"
   fi
 }
 
diff --git a/pkgs/build-support/fetchgit/nix-prefetch-git b/pkgs/build-support/fetchgit/nix-prefetch-git
index 931be1a37007..8020ba46f3f1 100755
--- a/pkgs/build-support/fetchgit/nix-prefetch-git
+++ b/pkgs/build-support/fetchgit/nix-prefetch-git
@@ -42,6 +42,7 @@ Options:
       --url url       Any url understood by 'git clone'.
       --rev ref       Any sha1 or references (such as refs/heads/master)
       --hash h        Expected hash.
+      --branch-name   Branch name to check out into
       --deepClone     Clone the entire repository.
       --no-deepClone  Make a shallow clone of just the required ref.
       --leave-dotGit  Keep the .git directories.
diff --git a/pkgs/build-support/rust/build-rust-crate/build-crate.nix b/pkgs/build-support/rust/build-rust-crate/build-crate.nix
index e0a52e62561b..db187d2ac14a 100644
--- a/pkgs/build-support/rust/build-rust-crate/build-crate.nix
+++ b/pkgs/build-support/rust/build-rust-crate/build-crate.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, echo_build_heading, noisily, makeDeps }:
+{ lib, stdenv, echo_build_heading, noisily, makeDeps, rust }:
 { crateName,
   dependencies,
   crateFeatures, crateRenames, libName, release, libPath,
@@ -13,17 +13,6 @@
         (if release then "-C opt-level=3" else "-C debuginfo=2")
         (["-C codegen-units=$NIX_BUILD_CORES"] ++ extraRustcOpts);
     rustcMeta = "-C metadata=${metadata} -C extra-filename=-${metadata}";
-
-    # Some platforms have different names for rustc.
-    rustPlatform =
-      with stdenv.hostPlatform.parsed;
-      let cpu_ = if cpu.name == "armv7a" then "armv7"
-                 else cpu.name;
-          vendor_ = vendor.name;
-          kernel_ = kernel.name;
-          abi_ = abi.name;
-      in
-      "${cpu_}-${vendor_}-${kernel_}-${abi_}";
   in ''
     runHook preBuild
     norm=""
@@ -67,7 +56,7 @@
         ${crateFeatures} --out-dir target/bin --emit=dep-info,link -L dependency=target/deps \
         $LINK ${deps}$EXTRA_LIB --cap-lints allow \
         $BUILD_OUT_DIR $EXTRA_BUILD $EXTRA_FEATURES --color ${colors} \
-        ${if stdenv.hostPlatform != stdenv.buildPlatform then "--target ${rustPlatform} -C linker=${stdenv.hostPlatform.config}-gcc" else ""}
+        ${if stdenv.hostPlatform != stdenv.buildPlatform then "--target ${rust.toRustTarget stdenv.hostPlatform} -C linker=${stdenv.hostPlatform.config}-gcc" else ""}
       if [ "$crate_name_" != "$crate_name" ]; then
         mv target/bin/$crate_name_ target/bin/$crate_name
       fi
@@ -91,18 +80,18 @@
 
     echo "$EXTRA_LINK_SEARCH" | while read i; do
        if [[ ! -z "$i" ]]; then
-         for lib in $i; do
-           echo "-L $lib" >> target/link
-           L=$(echo $lib | sed -e "s#$(pwd)/target/build#$out/lib#")
+         for library in $i; do
+           echo "-L $library" >> target/link
+           L=$(echo $library | sed -e "s#$(pwd)/target/build#$lib/lib#")
            echo "-L $L" >> target/link.final
          done
        fi
     done
     echo "$EXTRA_LINK" | while read i; do
        if [[ ! -z "$i" ]]; then
-         for lib in $i; do
-           echo "-l $lib" >> target/link
-           echo "-l $lib" >> target/link.final
+         for library in $i; do
+           echo "-l $library" >> target/link
+           echo "-l $library" >> target/link.final
          done
        fi
     done
diff --git a/pkgs/build-support/rust/build-rust-crate/default.nix b/pkgs/build-support/rust/build-rust-crate/default.nix
index 6534e21c0f0c..edff3941636c 100644
--- a/pkgs/build-support/rust/build-rust-crate/default.nix
+++ b/pkgs/build-support/rust/build-rust-crate/default.nix
@@ -4,7 +4,7 @@
 # This can be useful for deploying packages with NixOps, and to share
 # binary dependencies between projects.
 
-{ lib, stdenv, defaultCrateOverrides, fetchCrate, rustc }:
+{ lib, stdenv, defaultCrateOverrides, fetchCrate, rustc, rust }:
 
 let
     # This doesn't appear to be officially documented anywhere yet.
@@ -22,9 +22,9 @@ let
           else
             extern;
         in (if lib.lists.any (x: x == "lib") dep.crateType then
-           " --extern ${name}=${dep.out}/lib/lib${extern}-${dep.metadata}.rlib"
+           " --extern ${name}=${dep.lib}/lib/lib${extern}-${dep.metadata}.rlib"
          else
-           " --extern ${name}=${dep.out}/lib/lib${extern}-${dep.metadata}${stdenv.hostPlatform.extensions.sharedLibrary}")
+           " --extern ${name}=${dep.lib}/lib/lib${extern}-${dep.metadata}${stdenv.hostPlatform.extensions.sharedLibrary}")
       ) dependencies);
 
     echo_build_heading = colors: ''
@@ -59,7 +59,7 @@ let
     '';
 
     configureCrate = import ./configure-crate.nix { inherit lib stdenv echo_build_heading noisily makeDeps; };
-    buildCrate = import ./build-crate.nix { inherit lib stdenv echo_build_heading noisily makeDeps; };
+    buildCrate = import ./build-crate.nix { inherit lib stdenv echo_build_heading noisily makeDeps rust; };
     installCrate = import ./install-crate.nix;
 
     in
@@ -96,12 +96,12 @@ stdenv.mkDerivation (rec {
     buildInputs = (crate.buildInputs or []) ++ buildInputs_;
     dependencies =
       builtins.map
-        (dep: dep.override { rust = rust; release = release; verbose = verbose; crateOverrides = crateOverrides; })
+        (dep: lib.getLib (dep.override { rust = rust; release = release; verbose = verbose; crateOverrides = crateOverrides; }))
         dependencies_;
 
     buildDependencies =
       builtins.map
-        (dep: dep.override { rust = rust; release = release; verbose = verbose; crateOverrides = crateOverrides; })
+        (dep: lib.getLib (dep.override { rust = rust; release = release; verbose = verbose; crateOverrides = crateOverrides; }))
         buildDependencies_;
 
     completeDeps = lib.lists.unique (dependencies ++ lib.lists.concatMap (dep: dep.completeDeps) dependencies);
@@ -160,6 +160,9 @@ stdenv.mkDerivation (rec {
     };
     installPhase = installCrate crateName metadata;
 
+    outputs = [ "out" "lib" ];
+    outputDev = [ "lib" ];
+
 } // extraDerivationAttrs
 )) {
   rust = rustc;
diff --git a/pkgs/build-support/rust/build-rust-crate/install-crate.nix b/pkgs/build-support/rust/build-rust-crate/install-crate.nix
index 3b0282621ea1..934c3a031764 100644
--- a/pkgs/build-support/rust/build-rust-crate/install-crate.nix
+++ b/pkgs/build-support/rust/build-rust-crate/install-crate.nix
@@ -1,24 +1,26 @@
 crateName: metadata:
 ''
   runHook preInstall
-  mkdir -p $out
+  # always create $out even if we do not have binaries. We are detecting binary targets during compilation, if those are missing there is no way to only have $lib
+  mkdir $out
   if [[ -s target/env ]]; then
-    cp target/env $out/env
+    mkdir -p $lib
+    cp target/env $lib/env
   fi
   if [[ -s target/link.final ]]; then
-    mkdir -p $out/lib
-    cp target/link.final $out/lib/link
+    mkdir -p $lib/lib
+    cp target/link.final $lib/lib/link
   fi
   if [[ "$(ls -A target/lib)" ]]; then
-    mkdir -p $out/lib
-    cp target/lib/* $out/lib #*/
-    for lib in $out/lib/*.so $out/lib/*.dylib; do #*/
-      ln -s $lib $(echo $lib | sed -e "s/-${metadata}//")
+    mkdir -p $lib/lib
+    cp target/lib/* $lib/lib #*/
+    for library in $lib/lib/*.so $lib/lib/*.dylib; do #*/
+      ln -s $library $(echo $library | sed -e "s/-${metadata}//")
     done
   fi
   if [[ "$(ls -A target/build)" ]]; then # */
-    mkdir -p $out/lib
-    cp -r target/build/* $out/lib # */
+    mkdir -p $lib/lib
+    cp -r target/build/* $lib/lib # */
   fi
   if [[ -d target/bin ]]; then
     if [[ "$(ls -A target/bin)" ]]; then
diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix
index f0f949b22056..1d8e4448674e 100644
--- a/pkgs/build-support/rust/default.nix
+++ b/pkgs/build-support/rust/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, cacert, git, cargo, rustc, fetchcargo, buildPackages, windows }:
+{ stdenv, cacert, git, rust, cargo, rustc, fetchcargo, buildPackages, windows }:
 
 { name ? "${args.pname}-${args.version}"
 , cargoSha256 ? "unset"
@@ -46,12 +46,7 @@ let
       cargoDepsCopy="$sourceRoot/${cargoVendorDir}"
     '';
 
-  hostConfig = stdenv.hostPlatform.config;
-
-  rustHostConfig = {
-    x86_64-pc-mingw32 = "x86_64-pc-windows-gnu";
-  }.${hostConfig} or hostConfig;
-  rustTarget = if target == null then rustHostConfig else target;
+  rustTarget = if target == null then rust.toRustTarget stdenv.hostPlatform else target;
 
   ccForBuild="${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc";
   cxxForBuild="${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}c++";
@@ -87,7 +82,7 @@ stdenv.mkDerivation (args // {
       --subst-var-by vendor "$(pwd)/$cargoDepsCopy"
 
     cat >> .cargo/config <<'EOF'
-    [target."${stdenv.buildPlatform.config}"]
+    [target."${rust.toRustTarget stdenv.buildPlatform}"]
     "linker" = "${ccForBuild}"
     ${stdenv.lib.optionalString (stdenv.buildPlatform.config != stdenv.hostPlatform.config) ''
     [target."${rustTarget}"]
@@ -129,10 +124,10 @@ stdenv.mkDerivation (args // {
     (
     set -x
     env \
-      "CC_${stdenv.buildPlatform.config}"="${ccForBuild}" \
-      "CXX_${stdenv.buildPlatform.config}"="${cxxForBuild}" \
-      "CC_${stdenv.hostPlatform.config}"="${ccForHost}" \
-      "CXX_${stdenv.hostPlatform.config}"="${cxxForHost}" \
+      "CC_${rust.toRustTarget stdenv.buildPlatform}"="${ccForBuild}" \
+      "CXX_${rust.toRustTarget stdenv.buildPlatform}"="${cxxForBuild}" \
+      "CC_${rust.toRustTarget stdenv.hostPlatform}"="${ccForHost}" \
+      "CXX_${rust.toRustTarget stdenv.hostPlatform}"="${cxxForHost}" \
       cargo build \
         ${stdenv.lib.optionalString (buildType == "release") "--release"} \
         --target ${rustTarget} \
diff --git a/pkgs/build-support/setup-hooks/set-java-classpath.sh b/pkgs/build-support/setup-hooks/set-java-classpath.sh
index 5d3548dc2e88..445fa56d61de 100644
--- a/pkgs/build-support/setup-hooks/set-java-classpath.sh
+++ b/pkgs/build-support/setup-hooks/set-java-classpath.sh
@@ -6,7 +6,7 @@ export CLASSPATH
 addPkgToClassPath () {
     local jar
     for jar in $1/share/java/*.jar; do
-        export CLASSPATH=''${CLASSPATH}''${CLASSPATH:+:}''${jar}
+        export CLASSPATH=''${CLASSPATH-}''${CLASSPATH:+:}''${jar}
     done
 }
 
diff --git a/pkgs/common-updater/scripts/update-source-version b/pkgs/common-updater/scripts/update-source-version
index 591ffa6ca5ba..d051a0f75c13 100755
--- a/pkgs/common-updater/scripts/update-source-version
+++ b/pkgs/common-updater/scripts/update-source-version
@@ -92,8 +92,8 @@ if [ -z "$oldUrl" ]; then
     die "Couldn't evaluate source url from '$attr.src'!"
 fi
 
-drvName=$(nix-instantiate $systemArg --eval -E "with import ./. {}; (builtins.parseDrvName $attr.name).name" | tr -d '"')
-oldVersion=$(nix-instantiate $systemArg --eval -E "with import ./. {}; $attr.${versionKey} or (builtins.parseDrvName $attr.name).version" | tr -d '"')
+drvName=$(nix-instantiate $systemArg --eval -E "with import ./. {}; lib.getName $attr" | tr -d '"')
+oldVersion=$(nix-instantiate $systemArg --eval -E "with import ./. {}; $attr.${versionKey} or (lib.getVersion $attr)" | tr -d '"')
 
 if [ -z "$drvName" -o -z "$oldVersion" ]; then
     die "Couldn't evaluate name and version from '$attr.name'!"
diff --git a/pkgs/data/documentation/gnome-user-docs/default.nix b/pkgs/data/documentation/gnome-user-docs/default.nix
index 4bdfa70c63ff..a47ec9ea7909 100644
--- a/pkgs/data/documentation/gnome-user-docs/default.nix
+++ b/pkgs/data/documentation/gnome-user-docs/default.nix
@@ -1,27 +1,41 @@
-{ stdenv, fetchurl, itstool, libxml2, gettext, gnome3 }:
+{ stdenv
+, fetchurl
+, gettext
+, gnome3
+, itstool
+, libxml2
+, yelp-tools
+}:
 
 stdenv.mkDerivation rec {
   pname = "gnome-user-docs";
-  version = "3.2.2";
+  version = "3.34.1";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1ka0nw2kc85p10y8x31v0wv06a88k7qrgafp4ys04y9fzz0rkcjj";
+    url = "mirror://gnome/sources/gnome-user-docs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "11m9fv8k2hynrcgah4jvbm6yczg0s1ly302mipysbwpn6gbdkvf2";
   };
 
-  nativeBuildInputs = [ itstool libxml2 gettext ];
+  nativeBuildInputs = [
+    gettext
+    itstool
+    libxml2
+    yelp-tools
+  ];
+
+  enableParallelBuilding = true;
 
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
-      attrPath = "gnome3.gnome-user-docs";
     };
   };
 
-  meta = {
-    homepage = "https://gitlab.gnome.org/GNOME/gnome-user-docs";
-    description = "GNOME User Documentation";
-    license = stdenv.lib.licenses.cc-by-30;
+  meta = with stdenv.lib; {
+    description = "User and system administration help for the GNOME desktop";
+    homepage = "https://help.gnome.org/users/gnome-help/";
+    license = licenses.cc-by-30;
     maintainers = gnome3.maintainers;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/data/documentation/man-pages/default.nix b/pkgs/data/documentation/man-pages/default.nix
index a266a597e0b0..b4435fb911fa 100644
--- a/pkgs/data/documentation/man-pages/default.nix
+++ b/pkgs/data/documentation/man-pages/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "man-pages";
-  version = "5.03";
+  version = "5.04";
 
   src = fetchurl {
     url = "mirror://kernel/linux/docs/man-pages/${pname}-${version}.tar.xz";
-    sha256 = "082i9258rl9xxjgpxpz3v8jcwk96dsk704ki9h9lq7q8z7m3mqbz";
+    sha256 = "1bx4ws24bjq6iyfyilg7aih5f0qrhy9l97ksrwcd4yxvjh8gn13x";
   };
 
   makeFlags = [ "MANDIR=$(out)/share/man" ];
diff --git a/pkgs/data/fonts/babelstone-han/default.nix b/pkgs/data/fonts/babelstone-han/default.nix
index 113ee5b92041..0d46fc92d5f2 100644
--- a/pkgs/data/fonts/babelstone-han/default.nix
+++ b/pkgs/data/fonts/babelstone-han/default.nix
@@ -5,7 +5,7 @@ let
 in fetchzip {
   name = "babelstone-han-${version}";
 
-  url = http://www.babelstone.co.uk/Fonts/Download/BabelStoneHan.zip;
+  url = https://www.babelstone.co.uk/Fonts/Download/BabelStoneHan.zip;
   postFetch = ''
     mkdir -p $out/share/fonts/truetype
     unzip $downloadedFile '*.ttf' -d $out/share/fonts/truetype
@@ -14,7 +14,7 @@ in fetchzip {
 
   meta = with lib; {
     description = "Unicode CJK font with over 36000 Han characters";
-    homepage = http://www.babelstone.co.uk/Fonts/Han.html;
+    homepage = https://www.babelstone.co.uk/Fonts/Han.html;
 
     license = licenses.free;
     platforms = platforms.all;
diff --git a/pkgs/data/fonts/cascadia-code/default.nix b/pkgs/data/fonts/cascadia-code/default.nix
index d2d2ad342561..105b5da31051 100644
--- a/pkgs/data/fonts/cascadia-code/default.nix
+++ b/pkgs/data/fonts/cascadia-code/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "cascadia-code";
-  version = "1910.04";
+  version = "1911.20";
 in
 fetchurl {
   name = "${pname}-${version}";
@@ -15,7 +15,7 @@ fetchurl {
     install -Dm444 $downloadedFile $out/share/fonts/truetype/Cascadia.ttf
   '';
 
-  sha256 = "124zbv7xwirwwxrm988h3plwd2vynqxyx7p2gijqrnw69q9pf67q";
+  sha256 = "1dfd3g7cf2h0z2gxvk4pxy46xswd3wyqz3p8ypxcv2dkz4ri6l0j";
 
   meta = with lib; {
     description = "Monospaced font that includes programming ligatures and is designed to enhance the modern look and feel of the Windows Terminal";
diff --git a/pkgs/data/fonts/fantasque-sans-mono/default.nix b/pkgs/data/fonts/fantasque-sans-mono/default.nix
index 5b982dcaa3e6..156db5d214ca 100644
--- a/pkgs/data/fonts/fantasque-sans-mono/default.nix
+++ b/pkgs/data/fonts/fantasque-sans-mono/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "1.7.2";
+  version = "1.8.0";
 in
 
 fetchzip rec {
@@ -15,7 +15,7 @@ fetchzip rec {
     unzip -j $downloadedFile README.md -d $out/share/doc/${name}
   '';
 
-  sha256 = "1fwvbqfrgb539xybwdawvwa8cg4f215kw905rgl9a6p0iwa1nxqk";
+  sha256 = "07y2w6xzkbaj6vr95fvvnmwq1pw9jib4z02xf8937dx812yic9ni";
 
   meta = with lib; {
     homepage = https://github.com/belluzj/fantasque-sans;
diff --git a/pkgs/data/fonts/gohufont/default.nix b/pkgs/data/fonts/gohufont/default.nix
index 29b4241be92c..e4e9954d1187 100644
--- a/pkgs/data/fonts/gohufont/default.nix
+++ b/pkgs/data/fonts/gohufont/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   version = "2.1";
 
   src = fetchurl {
-    url = "http://font.gohu.org/${pname}-${version}.tar.gz";
+    url = "https://font.gohu.org/${pname}-${version}.tar.gz";
     sha256 = "10dsl7insnw95hinkcgmp9rx39lyzb7bpx5g70vswl8d6p4n53bm";
   };
 
@@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
     description = ''
       A monospace bitmap font well suited for programming and terminal use
     '';
-    homepage    = http://font.gohu.org/;
+    homepage    = https://font.gohu.org/;
     license     = licenses.wtfpl;
     maintainers = with maintainers; [ epitrochoid rnhmjoj ];
   };
diff --git a/pkgs/data/fonts/ibm-plex/default.nix b/pkgs/data/fonts/ibm-plex/default.nix
index d4a673533af7..cd868d88d65e 100644
--- a/pkgs/data/fonts/ibm-plex/default.nix
+++ b/pkgs/data/fonts/ibm-plex/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "3.0.0";
+  version = "4.0.1";
 in fetchzip {
   name = "ibm-plex-${version}";
   url = "https://github.com/IBM/plex/releases/download/v${version}/OpenType.zip";
@@ -9,7 +9,7 @@ in fetchzip {
     mkdir -p $out/share/fonts
     unzip -j $downloadedFile "OpenType/*/*.otf" -d $out/share/fonts/opentype
   '';
-  sha256 = "1vv0lf2fn0y0ln14s4my8x2mykq1lwqpmkjkhs6cm48mzf740nhs";
+  sha256 = "11d5bsv7d5rbp9f1gf1l4za3xj6jlqwnvsl5ipwx4angh1kb7nk8";
 
   meta = with lib; {
     description = "IBM Plex Typeface";
diff --git a/pkgs/data/fonts/input-fonts/default.nix b/pkgs/data/fonts/input-fonts/default.nix
index 3bc836fa4e48..c3d3bf4aa6a0 100644
--- a/pkgs/data/fonts/input-fonts/default.nix
+++ b/pkgs/data/fonts/input-fonts/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation {
   pname = "input-fonts";
-  version = "2017-08-10"; # date of the download and checksum
+  version = "2019-11-25"; # date of the download and checksum
 
   src = requireFile {
     name = "Input-Font.zip";
     url = "https://input.fontbureau.com/download/";
-    sha256 = "07fkyvbb12agkb2kpnq2j45nycgbjvb4n1s5hjyqsipdh2z9zihq";
+    sha256 = "10rax2a7vzidcs7kyfg5lv5bwp9i7kvjpdcsd10p0517syijkp3b";
   };
 
   nativeBuildInputs = [ unzip ];
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
 
   outputHashAlgo = "sha256";
   outputHashMode = "recursive";
-  outputHash = "0k7xqkgqldd110ch9s144ilh762q777qcjvg3plmrb9s6xiaqvvd";
+  outputHash = "15sdhqqqd4jgk80fw7ncx49avi9cxbdgyrvnrfya0066x4q4r6lv";
 
   meta = with stdenv.lib; {
     description = "Fonts for Code, from Font Bureau";
@@ -42,7 +42,7 @@ stdenv.mkDerivation {
       generous spacing, large punctuation, and easily distinguishable
       characters — but without the limitations of a fixed width.
     '';
-    homepage = http://input.fontbureau.com;
+    homepage = https://input.fontbureau.com;
     license = licenses.unfree;
     maintainers = with maintainers; [ romildo ];
     platforms = platforms.all;
diff --git a/pkgs/data/fonts/iosevka/bin.nix b/pkgs/data/fonts/iosevka/bin.nix
index d6d986c699ad..cbe4b25bd360 100644
--- a/pkgs/data/fonts/iosevka/bin.nix
+++ b/pkgs/data/fonts/iosevka/bin.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchzip }:
 
 let
-  version = "2.3.2";
+  version = "2.3.3";
 in fetchzip {
   name = "iosevka-bin-${version}";
 
@@ -12,7 +12,7 @@ in fetchzip {
     unzip -j $downloadedFile \*.ttc -d $out/share/fonts/iosevka
   '';
 
-  sha256 = "1dkfh354scjgzq7kgy4cn70z030wmfgxixqp8p9m6i0ps8gccjgs";
+  sha256 = "1dfm1888rii5kfmkxp5hnx8ycji57cbs5gazpgkxg1mnmn7i35wl";
 
   meta = with stdenv.lib; {
     homepage = https://be5invis.github.io/Iosevka/;
diff --git a/pkgs/data/fonts/overpass/default.nix b/pkgs/data/fonts/overpass/default.nix
index 4730a67e290c..1d0cf04d7569 100644
--- a/pkgs/data/fonts/overpass/default.nix
+++ b/pkgs/data/fonts/overpass/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "3.0.3";
+  version = "3.0.4";
 in fetchzip rec {
   name = "overpass-${version}";
 
@@ -12,10 +12,10 @@ in fetchzip rec {
     mkdir -p $out/share/doc/${name}    ; unzip -j $downloadedFile \*.md  -d $out/share/doc/${name}
   '';
 
-  sha256 = "1m6p7rrlyqikjvypp4698sn0lp3a4z0z5al4swblfhg8qaxzv5pg";
+  sha256 = "13b4yam0nycclccxidzj2fa3nwms5qji7gfkixdnl4ybf0f56b64";
 
   meta = with lib; {
-    homepage = http://overpassfont.org/;
+    homepage = "https://overpassfont.org/";
     description = "Font heavily inspired by Highway Gothic";
     license = licenses.ofl;
     platforms = platforms.all;
diff --git a/pkgs/data/fonts/public-sans/default.nix b/pkgs/data/fonts/public-sans/default.nix
index cb4c5523a70e..326fe73341ff 100644
--- a/pkgs/data/fonts/public-sans/default.nix
+++ b/pkgs/data/fonts/public-sans/default.nix
@@ -1,18 +1,22 @@
 { lib, fetchzip }:
 
 let
-  version = "1.006";
+  version = "1.007";
 in fetchzip {
   name = "public-sans-${version}";
 
   url = "https://github.com/uswds/public-sans/releases/download/v${version}/public-sans-v${version}.zip";
 
   postFetch = ''
-    mkdir -p $out/share
-    unzip $downloadedFile fonts/{otf,variable}/\*.\[ot\]tf -d $out/share/
+    mkdir -p $out/share/fonts
+    unzip -j $downloadedFile binaries/otf/\*.otf -d $out/share/fonts/opentype
+    unzip -j $downloadedFile binaries/variable/\*.ttf -d $out/share/fonts/truetype
+    unzip -j $downloadedFile binaries/webfonts/\*.ttf -d $out/share/fonts/truetype
+    unzip -j $downloadedFile binaries/webfonts/\*.woff -d $out/share/fonts/woff
+    unzip -j $downloadedFile binaries/webfonts/\*.woff2 -d $out/share/fonts/woff2
   '';
 
-  sha256 = "1x04mpynfhcgiwx68w5sawgn69xld7k65mbq7n5vcgbfzh2sjwhq";
+  sha256 = "1yzraw08qm1ig7ks850b329xp6zv2znjwl610dppax34kwhqghsm";
 
   meta = with lib; {
     description = "A strong, neutral, principles-driven, open source typeface for text or display";
diff --git a/pkgs/data/fonts/recursive/default.nix b/pkgs/data/fonts/recursive/default.nix
new file mode 100644
index 000000000000..d3d65f8e515c
--- /dev/null
+++ b/pkgs/data/fonts/recursive/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchzip }:
+
+stdenv.mkDerivation rec {
+  pname = "recursive";
+  version = "1.022";
+
+  srcs = [
+    (fetchzip {
+      name = "${pname}";
+      url = "https://github.com/arrowtype/recursive/releases/download/v${version}/recursive-beta_1_022.zip";
+      sha256 = "09nr1fli7ksv8z4yb25c4xidwsqq50av18qrybsy4kqy5c22957v";
+      stripRoot = false;
+    })
+
+    (fetchzip {
+      name = "${pname}-static";
+      url = "https://github.com/arrowtype/recursive/releases/download/v${version}/recursive-static_fonts-b020.zip";
+      sha256 = "1wlj113gjm26ra9y2r2b3syis2wx0mjq2m8i8xpwscp1kflma1r6";
+      stripRoot = false;
+    })
+  ];
+
+  sourceRoot = ".";
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/{opentype,truetype,woff2}
+    find -name "*.otf" -exec cp "{}" $out/share/fonts/opentype \;
+    find -name "*.ttf" -exec cp "{}" $out/share/fonts/truetype \;
+    find -name "*.woff2" -exec cp "{}" $out/share/fonts/woff2 \;
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/arrowtype/recursive;
+    description = "A variable font family for code & UI";
+    license = licenses.ofl;
+    maintainers = [ maintainers.eadwu ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/rhodium-libre/default.nix b/pkgs/data/fonts/rhodium-libre/default.nix
new file mode 100644
index 000000000000..fc89d6525922
--- /dev/null
+++ b/pkgs/data/fonts/rhodium-libre/default.nix
@@ -0,0 +1,28 @@
+{ lib, fetchFromGitHub }:
+
+let
+  pname = "RhodiumLibre";
+  version = "1.2.0";
+in fetchFromGitHub {
+  name = "${pname}-${version}";
+
+  owner = "DunwichType";
+  repo = pname;
+  rev = version;
+
+  postFetch = ''
+    tar xf $downloadedFile --strip=1
+    install -Dm444 -t $out/share/fonts/opentype/ RhodiumLibre-Regular.otf
+    install -Dm444 -t $out/share/fonts/truetype/ RhodiumLibre-Regular.ttf
+  '';
+
+  sha256 = "04ax6bri5vsji465806p8d7zbdf12r5bpvcm9nb8isfqm81ggj0r";
+
+  meta = with lib; {
+    description = "F/OSS/Libre font for Latin and Devanagari";
+    homepage = "https://github.com/DunwichType/RhodiumLibre";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/pkgs/data/fonts/stix-two/default.nix b/pkgs/data/fonts/stix-two/default.nix
index 1d5ed37767c3..c71b51ad75de 100644
--- a/pkgs/data/fonts/stix-two/default.nix
+++ b/pkgs/data/fonts/stix-two/default.nix
@@ -1,18 +1,22 @@
-{ stdenv, fetchzip }:
+{ stdenv, fetchFromGitHub }:
 
 let
-  version = "2.0.0";
-in fetchzip {
+  version = "2.0.2";
+in fetchFromGitHub {
   name = "stix-two-${version}";
 
-  url = "https://github.com/stipub/stixfonts/archive/${version}.zip";
+  owner = "stipub";
+  repo = "stixfonts";
+  rev = "v${version}";
 
   postFetch = ''
-    mkdir -p $out/share/fonts
-    unzip -j $downloadedFile '*/OTF/*.otf' -d $out/share/fonts/opentype
+    tar xf $downloadedFile --strip=1
+    install -m444 -Dt $out/share/fonts/opentype/ OTF/*.otf
+    install -m444 -Dt $out/share/fonts/woff/     WOFF/*.woff
+    install -m444 -Dt $out/share/fonts/woff2/    WOFF2/*.woff2
   '';
 
-  sha256 = "19i30d2xjk52bjj7xva1hnlyh58yd5phas1njcc8ldcz87a1lhql";
+  sha256 = "1ah8s0cb67yv4ll8zfs01mdh9m5i2lbkrfbmkhi1xdid6pxsk32x";
 
   meta = with stdenv.lib; {
     homepage = http://www.stixfonts.org/;
diff --git a/pkgs/data/icons/flat-remix-icon-theme/default.nix b/pkgs/data/icons/flat-remix-icon-theme/default.nix
new file mode 100644
index 000000000000..f0e13b21dfd4
--- /dev/null
+++ b/pkgs/data/icons/flat-remix-icon-theme/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub , gtk3 }:
+
+stdenv.mkDerivation rec  {
+  pname = "flat-remix-icon-theme";
+  version = "20191018";
+
+  src = fetchFromGitHub  {
+    owner = "daniruiz";
+    repo = "flat-remix";
+    rev = version;
+    sha256 = "13ibxvrvri04lb5phm49b6d553jh0aigm57z5i0nsins405gixn9";
+  };
+
+  nativeBuildInputs = [ gtk3 ];
+
+  installPhase = ''
+    mkdir -p $out/share/icons
+    mv Flat-Remix* $out/share/icons/
+  '';
+
+  postFixup = ''
+    for theme in $out/share/icons/*; do
+      gtk-update-icon-cache $theme
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Flat remix is a pretty simple icon theme inspired on material design";
+    homepage = https://drasite.com/flat-remix;
+    license = with licenses; [ gpl3 ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ mschneider ];
+  };
+}
+ 
diff --git a/pkgs/data/icons/numix-icon-theme-circle/default.nix b/pkgs/data/icons/numix-icon-theme-circle/default.nix
index 5658f20c7446..ed4b2581e850 100644
--- a/pkgs/data/icons/numix-icon-theme-circle/default.nix
+++ b/pkgs/data/icons/numix-icon-theme-circle/default.nix
@@ -25,6 +25,10 @@ stdenv.mkDerivation rec {
   '';
 
   postFixup = ''
+    for panel in $out/share/icons/*/*/panel; do
+      ln -sf $(realpath ${numix-icon-theme}/share/icons/Numix/16/$(readlink $panel)) $panel
+    done
+
     for theme in $out/share/icons/*; do
       gtk-update-icon-cache $theme
     done
diff --git a/pkgs/data/icons/numix-icon-theme-square/default.nix b/pkgs/data/icons/numix-icon-theme-square/default.nix
index 76176f9ad04b..620ef02fde72 100644
--- a/pkgs/data/icons/numix-icon-theme-square/default.nix
+++ b/pkgs/data/icons/numix-icon-theme-square/default.nix
@@ -25,6 +25,10 @@ stdenv.mkDerivation rec {
   '';
 
   postFixup = ''
+    for panel in $out/share/icons/*/*/panel; do
+      ln -sf $(realpath ${numix-icon-theme}/share/icons/Numix/16/$(readlink $panel)) $panel
+    done
+
     for theme in $out/share/icons/*; do
       gtk-update-icon-cache $theme
     done
diff --git a/pkgs/data/icons/zafiro-icons/default.nix b/pkgs/data/icons/zafiro-icons/default.nix
index 0b28a02ba4d9..c3670a6f58ce 100644
--- a/pkgs/data/icons/zafiro-icons/default.nix
+++ b/pkgs/data/icons/zafiro-icons/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zafiro-icons";
-  version = "0.9";
+  version = "1.0";
 
   src = fetchFromGitHub {
     owner = "zayronxio";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "0zmnhih4gz8bidyzf1wimy85z7zx9i29mv1zirmykpqj819g7mx9";
+    rev = "${version}";
+    sha256 = "0gy3c0jkj1icnwcs23b6km9cj9cccv8y5z1w11nfdv91cq3mdhmb";
   };
 
   nativeBuildInputs = [ gtk3 ];
diff --git a/pkgs/data/misc/tzdata/default.nix b/pkgs/data/misc/tzdata/default.nix
index b2363b4b549e..3227d9a76235 100644
--- a/pkgs/data/misc/tzdata/default.nix
+++ b/pkgs/data/misc/tzdata/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "tzdata";
-  version = "2019b";
+  version = "2019c";
 
   srcs =
     [ (fetchurl {
         url = "https://data.iana.org/time-zones/releases/tzdata${version}.tar.gz";
-        sha256 = "0r0clnlslwm15m1c61dinf1fi9ffgl6aipng7i7yryfwj0n0kn85";
+        sha256 = "0z7w1yv37cfk8yhix2cillam091vgp1j4g8fv84261q9mdnq1ivr";
       })
       (fetchurl {
         url = "https://data.iana.org/time-zones/releases/tzcode${version}.tar.gz";
-        sha256 = "0vbmswvv3li25s31shyllq5v24449lxnrki9hr043nipjd09sirf";
+        sha256 = "1m3y2rnf1nggxxhxplab5zdd5whvar3ijyrv7lifvm82irkd7szn";
       })
     ];
 
diff --git a/pkgs/misc/themes/adapta-kde/default.nix b/pkgs/data/themes/adapta-kde/default.nix
index a7624d2889bb..47740aa67622 100644
--- a/pkgs/misc/themes/adapta-kde/default.nix
+++ b/pkgs/data/themes/adapta-kde/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "adapta-kde-theme";
-  version = "20180512";
+  version = "20180828";
 
   src = fetchFromGitHub {
     owner = "PapirusDevelopmentTeam";
     repo = "adapta-kde";
     rev = version;
-    sha256 = "1lgpkylhzbayk892inql16sjyy9d3v126f9i1v7qgha1203rwcji";
+    sha256 = "1q85678sff8is2kwvgd703ckcns42gdga2c1rqlp61gb6bqf09j8";
   };
 
-  makeFlags = ["PREFIX=$(out)" ];
+  makeFlags = [ "PREFIX=$(out)" ];
 
   # Make this a fixed-output derivation
   outputHashMode = "recursive";
diff --git a/pkgs/misc/themes/adapta/default.nix b/pkgs/data/themes/adapta/default.nix
index 02812b1f9397..02812b1f9397 100644
--- a/pkgs/misc/themes/adapta/default.nix
+++ b/pkgs/data/themes/adapta/default.nix
diff --git a/pkgs/misc/themes/adwaita-qt/default.nix b/pkgs/data/themes/adwaita-qt/default.nix
index 9b979a11b93b..16ccee8540bf 100644
--- a/pkgs/misc/themes/adwaita-qt/default.nix
+++ b/pkgs/data/themes/adwaita-qt/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "adwaita-qt";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "FedoraQt";
     repo = pname;
     rev = version;
-    sha256 = "1jlh4l3sxiwglgx6h4aqi364gr4xipmn09bk88cp997r9sm8jcp9";
+    sha256 = "1z1zl6b1190nffcdyjnwz2xy4s6cvgd98aas9z71l5iddwzy32fm";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/misc/themes/albatross/default.nix b/pkgs/data/themes/albatross/default.nix
index 870b348cc320..870b348cc320 100644
--- a/pkgs/misc/themes/albatross/default.nix
+++ b/pkgs/data/themes/albatross/default.nix
diff --git a/pkgs/misc/themes/arc-kde/default.nix b/pkgs/data/themes/arc-kde/default.nix
index decdbdfac2dc..4937a99daecd 100644
--- a/pkgs/misc/themes/arc-kde/default.nix
+++ b/pkgs/data/themes/arc-kde/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchFromGitHub }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "arc-kde-theme";
-  version = "2017-11-09";
+  version = "20180614";
 
   src = fetchFromGitHub {
     owner = "PapirusDevelopmentTeam";
     repo = "arc-kde";
-    rev = "a0abe6fc5ebf74f9ae88b8a2035957cc16f706f5";
-    sha256 = "1p6f4ny97096nb054lrgyjwikmvg0qlbcnsjag7m5dfbclfnvzkg";
+    rev = version;
+    sha256 = "0wli16k9my7m8a9561545vjwfifmxm4w606z1h0j08msvlky40xw";
   };
 
-  makeFlags = ["PREFIX=$(out)" ];
+  makeFlags = [ "PREFIX=$(out)" ];
 
   # Make this a fixed-output derivation
   outputHashMode = "recursive";
diff --git a/pkgs/misc/themes/blackbird/default.nix b/pkgs/data/themes/blackbird/default.nix
index 7ffefb1d67f6..7ffefb1d67f6 100644
--- a/pkgs/misc/themes/blackbird/default.nix
+++ b/pkgs/data/themes/blackbird/default.nix
diff --git a/pkgs/misc/themes/clearlooks-phenix/default.nix b/pkgs/data/themes/clearlooks-phenix/default.nix
index 7c1eb54f92f5..2f701b9b765b 100644
--- a/pkgs/misc/themes/clearlooks-phenix/default.nix
+++ b/pkgs/data/themes/clearlooks-phenix/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchzip }:
 
 stdenv.mkDerivation rec {
   version = "7.0.1";
   pname = "clearlooks-phenix";
 
-  src = fetchurl {
+  src = fetchzip {
     url = "https://github.com/jpfleury/clearlooks-phenix/archive/${version}.tar.gz";
-    sha256 = "1x2psfbhxc3bk3q795bafxv6p890yfsankfw64p44q4r1x0236ra";
+    sha256 = "1b6y4l3rf3c5r4v72fyj3ppvnvw13kvr2a1dyl63ni1jxnlk50kd";
   };
 
   dontBuild = true;
diff --git a/pkgs/misc/themes/e17gtk/default.nix b/pkgs/data/themes/e17gtk/default.nix
index 74f0a54ccef3..74f0a54ccef3 100644
--- a/pkgs/misc/themes/e17gtk/default.nix
+++ b/pkgs/data/themes/e17gtk/default.nix
diff --git a/pkgs/misc/themes/equilux-theme/default.nix b/pkgs/data/themes/equilux-theme/default.nix
index f24524eb6b97..f24524eb6b97 100644
--- a/pkgs/misc/themes/equilux-theme/default.nix
+++ b/pkgs/data/themes/equilux-theme/default.nix
diff --git a/pkgs/misc/themes/gnome-breeze/default.nix b/pkgs/data/themes/gnome-breeze/default.nix
index 200cc4bae051..200cc4bae051 100644
--- a/pkgs/misc/themes/gnome-breeze/default.nix
+++ b/pkgs/data/themes/gnome-breeze/default.nix
diff --git a/pkgs/misc/themes/kde2/default.nix b/pkgs/data/themes/kde2/default.nix
index fac8c38eecae..547e4f30aa6c 100644
--- a/pkgs/misc/themes/kde2/default.nix
+++ b/pkgs/data/themes/kde2/default.nix
@@ -1,18 +1,17 @@
-{ stdenv, fetchFromGitHub, mkDerivation
+{ lib, fetchFromGitHub, mkDerivation
 , cmake, extra-cmake-modules
-, qtbase, kcoreaddons, kdecoration }:
+, qtbase, kcoreaddons, kdecoration
+}:
 
-let
-  version = "2017-03-15";
-in mkDerivation rec {
+mkDerivation rec {
   pname = "kde2-decoration";
-  inherit version;
+  version = "1.0";
 
   src = fetchFromGitHub {
     owner = "repos-holder";
     repo = "kdecoration2-kde2";
-    rev = "2a9cf18ac0646b3532d4db2dd28bd73c4c229783";
-    sha256 = "0kilw6sd3blvm6gx9w4w5ivkjfxlv6wnyivw46pwwvhgxqymkbxk";
+    rev = version;
+    sha256 = "1766z9wscybcqvr828xih93b3rab3hb0ghsf818iflhp1xy0js08";
   };
 
   enableParallelBuilding = true;
@@ -21,9 +20,9 @@ in mkDerivation rec {
 
   buildInputs = [ qtbase kcoreaddons kdecoration ];
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "KDE 2 window decoration ported to Plasma 5";
-    homepage = src.meta.homepage;
+    homepage = "https://github.com/repos-holder/kdecoration2-kde2";
     license = licenses.bsd2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ gnidorah ];
diff --git a/pkgs/misc/themes/numix-solarized/default.nix b/pkgs/data/themes/numix-solarized/default.nix
index 0596141da80b..0596141da80b 100644
--- a/pkgs/misc/themes/numix-solarized/default.nix
+++ b/pkgs/data/themes/numix-solarized/default.nix
diff --git a/pkgs/misc/themes/numix-sx/default.nix b/pkgs/data/themes/numix-sx/default.nix
index 72e87e2e2740..72e87e2e2740 100644
--- a/pkgs/misc/themes/numix-sx/default.nix
+++ b/pkgs/data/themes/numix-sx/default.nix
diff --git a/pkgs/misc/themes/numix/default.nix b/pkgs/data/themes/numix/default.nix
index e01f8174e9ea..e01f8174e9ea 100644
--- a/pkgs/misc/themes/numix/default.nix
+++ b/pkgs/data/themes/numix/default.nix
diff --git a/pkgs/misc/themes/onestepback/default.nix b/pkgs/data/themes/onestepback/default.nix
index 64ead2f75f4b..64ead2f75f4b 100644
--- a/pkgs/misc/themes/onestepback/default.nix
+++ b/pkgs/data/themes/onestepback/default.nix
diff --git a/pkgs/misc/themes/orion/default.nix b/pkgs/data/themes/orion/default.nix
index 9ba8cd368cf7..9ba8cd368cf7 100644
--- a/pkgs/misc/themes/orion/default.nix
+++ b/pkgs/data/themes/orion/default.nix
diff --git a/pkgs/misc/themes/paper/default.nix b/pkgs/data/themes/paper-gtk/default.nix
index e7235a900cf9..e7235a900cf9 100644
--- a/pkgs/misc/themes/paper/default.nix
+++ b/pkgs/data/themes/paper-gtk/default.nix
diff --git a/pkgs/data/themes/plata/default.nix b/pkgs/data/themes/plata/default.nix
index d1d7228183c5..37eb9b7e5bcd 100644
--- a/pkgs/data/themes/plata/default.nix
+++ b/pkgs/data/themes/plata/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "plata-theme";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchFromGitLab {
     owner = "tista500";
     repo = "plata-theme";
     rev = version;
-    sha256 = "1bcjrnh6bm7pxyqrr39yx5zykf3yzxrsydd5xcawjfihnph3yrlg";
+    sha256 = "0rva56xdvsj6vwwvrn55137mw83c9p4xy00i3mq0ryh43imyj4mg";
   };
 
   preferLocalBuild = true;
diff --git a/pkgs/misc/themes/qtcurve/default.nix b/pkgs/data/themes/qtcurve/default.nix
index 0071e386e88c..673b97cc137c 100644
--- a/pkgs/misc/themes/qtcurve/default.nix
+++ b/pkgs/data/themes/qtcurve/default.nix
@@ -11,7 +11,7 @@ in mkDerivation {
   pname = "qtcurve";
   inherit version;
   src = fetchurl {
-    url = "http://download.kde.org/stable/qtcurve/qtcurve-${version}.tar.xz";
+    url = "https://download.kde.org/stable/qtcurve/qtcurve-${version}.tar.xz";
     sha256 = "169gdny1cdld0qnx3nqvx568zjzdba4pwp3gxapc1hdh2cymw7r8";
   };
 
diff --git a/pkgs/misc/themes/solarc/default.nix b/pkgs/data/themes/solarc/default.nix
index 96843e8d78b4..96843e8d78b4 100644
--- a/pkgs/misc/themes/solarc/default.nix
+++ b/pkgs/data/themes/solarc/default.nix
diff --git a/pkgs/misc/themes/vertex/default.nix b/pkgs/data/themes/vertex/default.nix
index 81c681f53715..81c681f53715 100644
--- a/pkgs/misc/themes/vertex/default.nix
+++ b/pkgs/data/themes/vertex/default.nix
diff --git a/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix b/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix
index fe2062a3d965..745b2992c5fb 100644
--- a/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix
+++ b/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, python3, gnome3, glib, deepin-gtk-theme,
+{ stdenv, fetchFromGitHub, python3, dconf, glib, deepin-gtk-theme,
   deepin-icon-theme, deepin-sound-theme, deepin-wallpapers, deepin }:
 
 stdenv.mkDerivation rec {
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gnome3.dconf
+    dconf
     deepin-gtk-theme
     deepin-icon-theme
     deepin-sound-theme
diff --git a/pkgs/desktops/deepin/deepin-editor/default.nix b/pkgs/desktops/deepin/deepin-editor/default.nix
new file mode 100644
index 000000000000..0aea9558ec00
--- /dev/null
+++ b/pkgs/desktops/deepin/deepin-editor/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, mkDerivation, fetchFromGitHub, pkgconfig, cmake, deepin,
+  dtkcore, dtkwidget, kcodecs, qttools, syntax-highlighting,
+  wrapQtAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "deepin-editor";
+  version = "1.2.9.1";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = version;
+    sha256 = "0g7c3adqwn8i4ndxdrzibahr75dddz1fiqnsh3bjj1jjr86rv4ks";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkgconfig
+    qttools
+    wrapQtAppsHook
+    deepin.setupHook
+  ];
+
+  buildInputs = [
+    dtkcore
+    dtkwidget
+    kcodecs
+    syntax-highlighting
+  ];
+
+  postPatch = ''
+    searchHardCodedPaths  # debugging
+
+    patchShebangs translate_generation.sh
+
+    fixPath $out /usr \
+      CMakeLists.txt \
+      dedit/main.cpp \
+      src/resources/settings.json \
+      src/thememodule/themelistmodel.cpp
+
+    substituteInPlace deepin-editor.desktop \
+      --replace "Exec=deepin-editor" "Exec=$out/bin/deepin-editor"
+
+    substituteInPlace src/editwrapper.cpp \
+      --replace "appExec = \"deepin-editor\"" "appExec = \"$out/bin/deepin-editor\""
+  '';
+
+  postFixup = ''
+    searchHardCodedPaths $out  # debugging
+  '';
+
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
+  meta = with stdenv.lib; {
+    description = "Simple editor for Deepin Desktop Environment";
+    homepage = https://github.com/linuxdeepin/deepin-editor;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo worldofpeace ];
+  };
+}
diff --git a/pkgs/desktops/deepin/default.nix b/pkgs/desktops/deepin/default.nix
index a2bb4ed19d94..57b0b35a5327 100644
--- a/pkgs/desktops/deepin/default.nix
+++ b/pkgs/desktops/deepin/default.nix
@@ -23,6 +23,7 @@ let
     deepin-calculator = callPackage ./deepin-calculator { };
     deepin-desktop-base = callPackage ./deepin-desktop-base { };
     deepin-desktop-schemas = callPackage ./deepin-desktop-schemas { };
+    deepin-editor = callPackage ./deepin-editor { };
     deepin-gettext-tools = callPackage ./deepin-gettext-tools { };
     deepin-gtk-theme = callPackage ./deepin-gtk-theme { };
     deepin-icon-theme = callPackage ./deepin-icon-theme { };
diff --git a/pkgs/desktops/enlightenment/ephoto.nix b/pkgs/desktops/enlightenment/ephoto.nix
index 3563b9aabc1c..b00b3d7a8462 100644
--- a/pkgs/desktops/enlightenment/ephoto.nix
+++ b/pkgs/desktops/enlightenment/ephoto.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Image viewer and editor written using the Enlightenment Foundation Libraries";
-    homepage = http://smhouston.us/ephoto/;
+    homepage = https://smhouston.us/projects/ephoto/;
     license = stdenv.lib.licenses.bsd2;
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.romildo ];
diff --git a/pkgs/desktops/enlightenment/terminology.nix b/pkgs/desktops/enlightenment/terminology.nix
index 672e1b3da73c..ee140e091505 100644
--- a/pkgs/desktops/enlightenment/terminology.nix
+++ b/pkgs/desktops/enlightenment/terminology.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "terminology";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0v4amfg8ji0mb6j7kcxh3wz1xw5zyxg4rw6ylx17rfw2nc1yamfy";
+    sha256 = "0xxx4xyhis6fy3frgb34ip0aj0kc4zashf60gzbxmq5gadbb0p5r";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-2/platform/gtkglext/default.nix b/pkgs/desktops/gnome-2/platform/gtkglext/default.nix
index 27caaa70634f..3b972718230a 100644
--- a/pkgs/desktops/gnome-2/platform/gtkglext/default.nix
+++ b/pkgs/desktops/gnome-2/platform/gtkglext/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, glib, gtk2, libGLU_combined, pango, pangox_compat, xorg }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, glib, gtk2, libGLU, libGL, pango, pangox_compat, xorg }:
 
 stdenv.mkDerivation rec {
   name = "gtkglext-1.2.0";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = with xorg;
-    [ pkgconfig glib gtk2 libGLU_combined pango libX11 libXmu ];
+    [ pkgconfig glib gtk2 libGLU libGL pango libX11 libXmu ];
   propagatedBuildInputs = [ pangox_compat ];
 
   patches = [
diff --git a/pkgs/desktops/gnome-3/apps/accerciser/default.nix b/pkgs/desktops/gnome-3/apps/accerciser/default.nix
index c801657f74bf..0b833a876b61 100644
--- a/pkgs/desktops/gnome-3/apps/accerciser/default.nix
+++ b/pkgs/desktops/gnome-3/apps/accerciser/default.nix
@@ -17,13 +17,13 @@
 
  python3.pkgs.buildPythonApplication rec {
   name = "accerciser-${version}";
-  version = "3.34.1";
+  version = "3.34.2";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/accerciser/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1awf7fcm52r23s51gllyybhywf2kljqkaw4znblajph9sawnfs3l";
+    sha256 = "1n6sy95j0r0v01sc9rbbpzikq2z4z42j8ah73hzmjdmck4iniik4";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/apps/file-roller/default.nix b/pkgs/desktops/gnome-3/apps/file-roller/default.nix
index 36b89a310522..387f0ebdc446 100644
--- a/pkgs/desktops/gnome-3/apps/file-roller/default.nix
+++ b/pkgs/desktops/gnome-3/apps/file-roller/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "file-roller";
-  version = "3.32.2";
+  version = "3.32.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/file-roller/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0w8s6hakgsvb2nqwbv0lr8ki4cbf1pz5z3qwkb0b2k7ppbh7j2n6";
+    sha256 = "0ap2hxvjljh4p6wsd9ikh2my3vsxp9r2nvjxxj3v87nwfyw1y4dy";
   };
 
   LANG = "en_US.UTF-8"; # postinstall.py
diff --git a/pkgs/desktops/gnome-3/apps/gedit/default.nix b/pkgs/desktops/gnome-3/apps/gedit/default.nix
index 5115c2d8fb4f..6ea04910d230 100644
--- a/pkgs/desktops/gnome-3/apps/gedit/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gedit/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gedit";
-  version = "3.34.0";
+  version = "3.34.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gedit/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0zjh3p3lns7a7kx3g3v7gkgcqdzyx1zyv8ssr6d5ljfb7hfyb59y";
+    sha256 = "1inm50sdfw63by1lf4f1swb59mpyxlly0g5rdg99j5l3357fzygb";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
index ce8215d63917..d59746adc3d9 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
@@ -51,11 +51,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-boxes";
-  version = "3.34.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-boxes/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1758k5b79kyywdg67b4byqhva9045i13lzg5r62my950c4c2p0pc";
+    sha256 = "1rqdjf61cbi3zcpzr6cfkj3lcfrdlhs20bl65lxw2xrwk4jn0ph5";
   };
 
   doCheck = true;
diff --git a/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix b/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix
index 3a7e1473332c..5aa39e09cd6f 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix
@@ -1,36 +1,86 @@
-{ stdenv, meson, ninja, gettext, fetchurl, evince, gjs
-, pkgconfig, gtk3, glib, tracker, tracker-miners
-, itstool, libxslt, webkitgtk, libgdata
-, gnome-desktop, libzapojit, libgepub
-, gnome3, gdk-pixbuf, libsoup, docbook_xsl, docbook_xml_dtd_42
-, gobject-introspection, inkscape, poppler_utils
-, desktop-file-utils, wrapGAppsHook, python3, gsettings-desktop-schemas }:
+{ stdenv
+, meson
+, ninja
+, gettext
+, fetchurl
+, evince
+, gjs
+, pkgconfig
+, gtk3
+, glib
+, tracker
+, tracker-miners
+, itstool
+, libxslt
+, webkitgtk
+, libgdata
+, gnome-desktop
+, libzapojit
+, libgepub
+, gnome3
+, gdk-pixbuf
+, libsoup
+, docbook_xsl
+, docbook_xml_dtd_42
+, gobject-introspection
+, inkscape
+, poppler_utils
+, desktop-file-utils
+, wrapGAppsHook
+, python3
+, gsettings-desktop-schemas
+}:
 
 stdenv.mkDerivation rec {
   pname = "gnome-documents";
-  version = "3.33.90";
+  version = "3.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-documents/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0l9g10i380bnjp1y3pslsy8ph1hd5x1d57dadvq70p5ki4r3qjaw";
+    sha256 = "1qph567mapg3s1a26k7b8y57g9bklhj2mh8xm758z9zkms20xafq";
   };
 
-  doCheck = true;
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkgconfig
+    gettext
+    itstool
+    libxslt
+    desktop-file-utils
+    docbook_xsl
+    docbook_xml_dtd_42
+    wrapGAppsHook
+    python3
 
-  mesonFlags = [
-    "-Dgetting-started=true"
+    # building getting started
+    inkscape
+    poppler_utils
   ];
 
-  nativeBuildInputs = [
-    meson ninja pkgconfig gettext itstool libxslt desktop-file-utils docbook_xsl docbook_xml_dtd_42 wrapGAppsHook python3
-    inkscape poppler_utils # building getting started
-  ];
   buildInputs = [
-    gtk3 glib gsettings-desktop-schemas
-    gdk-pixbuf gnome3.adwaita-icon-theme evince
-    libsoup webkitgtk gjs gobject-introspection
-    tracker tracker-miners libgdata
-    gnome-desktop libzapojit libgepub
+    gtk3
+    glib
+    gsettings-desktop-schemas
+    gdk-pixbuf
+    gnome3.adwaita-icon-theme
+    evince
+    libsoup
+    webkitgtk
+    gjs
+    gobject-introspection
+    tracker
+    tracker-miners
+    libgdata
+    gnome-desktop
+    libzapojit
+    libgepub
+  ];
+
+  doCheck = true;
+
+  mesonFlags = [
+    "-Dgetting_started=true"
   ];
 
   postPatch = ''
@@ -44,13 +94,13 @@ stdenv.mkDerivation rec {
 
   passthru = {
     updateScript = gnome3.updateScript {
-      packageName = "gnome-documents";
-      attrPath = "gnome3.gnome-documents";
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
     };
   };
 
   meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Documents;
+    homepage = "https://wiki.gnome.org/Apps/Documents";
     description = "Document manager application designed to work with GNOME 3";
     maintainers = gnome3.maintainers;
     license = licenses.gpl2;
diff --git a/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix b/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
index 49b44f5f2838..12dba8b41e13 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-maps/default.nix
@@ -5,13 +5,13 @@
 
 let
   pname = "gnome-maps";
-  version = "3.34.1";
+  version = "3.34.2";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "03nswj60lqznr2j3ld2lgjzr4j9x2gblqx2ip4l2yxnm9kgbm14s";
+    sha256 = "00xslcnhhwslqglgfv2im7vq3awa49y2jxzr8wsby7f713k28vf5";
   };
 
   doCheck = true;
diff --git a/pkgs/desktops/gnome-3/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
index 204d0a8982e2..8ac7ad7f2d22 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-music/default.nix
@@ -1,29 +1,85 @@
-{ stdenv, meson, ninja, gettext, fetchurl, gdk-pixbuf, tracker
-, libxml2, python3, libnotify, wrapGAppsHook, libmediaart
-, gobject-introspection, gnome-online-accounts, grilo, grilo-plugins
-, pkgconfig, gtk3, glib, desktop-file-utils, appstream-glib
-, itstool, gnome3, gst_all_1, libdazzle, libsoup, gsettings-desktop-schemas }:
+{ stdenv
+, meson
+, ninja
+, gettext
+, fetchurl
+, gdk-pixbuf
+, tracker
+, libxml2
+, python3
+, libnotify
+, wrapGAppsHook
+, libmediaart
+, gobject-introspection
+, gnome-online-accounts
+, grilo
+, grilo-plugins
+, pkgconfig
+, gtk3
+, glib
+, desktop-file-utils
+, appstream-glib
+, itstool
+, gnome3
+, gst_all_1
+, libdazzle
+, libsoup
+, gsettings-desktop-schemas
+}:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "gnome-music";
-  version = "3.34.0";
+  version = "3.34.1";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1a566ifx08clfm22qzdh1i6w8cr2kv7avqzkk6zgc5adba0vmzx4";
+    sha256 = "128griji0ficf9agnlhfqh9wf819zdfcz5bbrr12nkxnhksnqv99";
   };
 
-  nativeBuildInputs = [ meson ninja gettext itstool pkgconfig libxml2 wrapGAppsHook desktop-file-utils appstream-glib gobject-introspection ];
-  buildInputs = with gst_all_1; [
-    gtk3 glib libmediaart gnome-online-accounts gobject-introspection
-    gdk-pixbuf gnome3.adwaita-icon-theme python3
-    grilo grilo-plugins libnotify libdazzle libsoup
-    gsettings-desktop-schemas tracker
-    gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly
+  nativeBuildInputs = [
+    meson
+    ninja
+    gettext
+    itstool
+    pkgconfig
+    libxml2
+    wrapGAppsHook
+    desktop-file-utils
+    appstream-glib
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    gtk3
+    glib
+    libmediaart
+    gnome-online-accounts
+    gobject-introspection
+    gdk-pixbuf
+    gnome3.adwaita-icon-theme
+    python3
+    grilo
+    grilo-plugins
+    libnotify
+    libdazzle
+    libsoup
+    gsettings-desktop-schemas
+    tracker
+  ] ++ (with gst_all_1; [
+    gstreamer
+    gst-plugins-base
+    gst-plugins-good
+    gst-plugins-bad
+    gst-plugins-ugly
+  ]);
+
+  propagatedBuildInputs = with python3.pkgs; [
+    pycairo
+    dbus-python
+    pygobject3
   ];
-  propagatedBuildInputs = with python3.pkgs; [ pycairo dbus-python pygobject3 ];
 
 
   postPatch = ''
@@ -43,10 +99,10 @@ python3.pkgs.buildPythonApplication rec {
   };
 
   meta = with stdenv.lib; {
-    homepage = https://wiki.gnome.org/Apps/Music;
+    homepage = "https://wiki.gnome.org/Apps/Music";
     description = "Music player and management application for the GNOME desktop environment";
     maintainers = gnome3.maintainers;
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix b/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix
index d2f161f23b4f..4900717898fd 100644
--- a/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix
+++ b/pkgs/desktops/gnome-3/core/adwaita-icon-theme/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "adwaita-icon-theme";
-  version = "3.34.0";
+  version = "3.34.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/adwaita-icon-theme/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0zvwikj3a07i3g3rir4cc63b14822lrzzgprs1j2nmb3h8gykds0";
+    sha256 = "025rj1fskw1y448hiar4a9icyzpyr242nlh9xhsmyp8jb71dihp7";
   };
 
   # For convenience, we can specify adwaita-icon-theme only in packages
diff --git a/pkgs/desktops/gnome-3/core/dconf-editor/default.nix b/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
index c7a126034f2b..5934f56274cb 100644
--- a/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
+++ b/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, meson, ninja, vala, libxslt, pkgconfig, glib, gtk3, gnome3, python3
+{ stdenv, fetchurl, meson, ninja, vala, libxslt, pkgconfig, glib, gtk3, gnome3, python3, dconf
 , libxml2, gettext, docbook_xsl, wrapGAppsHook, gobject-introspection }:
 
 let
@@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
     gettext docbook_xsl libxml2 gobject-introspection python3
   ];
 
-  buildInputs = [ glib gtk3 gnome3.dconf ];
+  buildInputs = [ glib gtk3 dconf ];
 
   postPatch = ''
     chmod +x meson_post_install.py
diff --git a/pkgs/desktops/gnome-3/core/epiphany/default.nix b/pkgs/desktops/gnome-3/core/epiphany/default.nix
index bfcf01591e56..f042bbd146a4 100644
--- a/pkgs/desktops/gnome-3/core/epiphany/default.nix
+++ b/pkgs/desktops/gnome-3/core/epiphany/default.nix
@@ -34,11 +34,11 @@
 
 stdenv.mkDerivation rec {
   pname = "epiphany";
-  version = "3.34.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/epiphany/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1nf1pqv3pdgrlq7fbic06rl3731dx5ihpfsphpai9grcmnbwjyx0";
+    sha256 = "18d48vcp2nxs63bddkdplslgbnlfq79pm2ivl8hk38kkggy3dahf";
   };
 
   # Tests need an X display
diff --git a/pkgs/desktops/gnome-3/core/evince/default.nix b/pkgs/desktops/gnome-3/core/evince/default.nix
index 61f27f10ae10..bab84eeb78ce 100644
--- a/pkgs/desktops/gnome-3/core/evince/default.nix
+++ b/pkgs/desktops/gnome-3/core/evince/default.nix
@@ -43,13 +43,13 @@
 
 stdenv.mkDerivation rec {
   pname = "evince";
-  version = "3.34.1";
+  version = "3.34.2";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/evince/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1pr6fvbaam1mzxjwyqd53hcxzdjzf73idn10j4j7n54nwg6hgr45";
+    sha256 = "05q6v9lssd21623mnj2p49clj9v9csw9kay7n4nklki025grbh1w";
   };
 
   postPatch = ''
diff --git a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
index fa70ecea264a..6c293cb55b9d 100644
--- a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
+++ b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution-data-server";
-  version = "3.34.1";
+  version = "3.34.2";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution-data-server/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1gisymfjhkibqy73pmd0d3fwl43a23d0lvlxzqkycfdn9jh6pxbg";
+    sha256 = "16z85y6hhazcrp5ngw47w4x9r0j8zrj7awv5im58hhp0xs19zf1y";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome-3/core/gdm/default.nix b/pkgs/desktops/gnome-3/core/gdm/default.nix
index 9d1602dfccd3..ba660a64418c 100644
--- a/pkgs/desktops/gnome-3/core/gdm/default.nix
+++ b/pkgs/desktops/gnome-3/core/gdm/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, substituteAll, pkgconfig, glib, itstool, libxml2, xorg
-, accountsservice, libX11, gnome3, systemd, autoreconfHook
+, accountsservice, libX11, gnome3, systemd, autoreconfHook, dconf
 , gtk3, libcanberra-gtk3, pam, libtool, gobject-introspection, plymouth
 , librsvg, coreutils, xwayland, nixos-icons, fetchpatch }:
 
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
     "--with-udevdir=$(out)/lib/udev"
   ];
 
-  nativeBuildInputs = [ pkgconfig libxml2 itstool autoreconfHook libtool gnome3.dconf ];
+  nativeBuildInputs = [ pkgconfig libxml2 itstool autoreconfHook libtool dconf ];
   buildInputs = [
     glib accountsservice systemd
     gobject-introspection libX11 gtk3
diff --git a/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix b/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix
deleted file mode 100644
index cb0c1494b946..000000000000
--- a/pkgs/desktops/gnome-3/core/gnome-user-docs/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, gnome3, itstool, libxml2, intltool }:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-user-docs";
-  version = "3.34.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/gnome-user-docs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1v94mz8zwzx67db2avbi9p2klw36cz45qr6fbskpvygz2pzhg6cg";
-  };
-
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-user-docs"; attrPath = "gnome3.gnome-user-docs"; };
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gnome3.yelp itstool libxml2 intltool ];
-
-  meta = with stdenv.lib; {
-    homepage = https://help.gnome.org/users/gnome-help/;
-    description = "User and system administration help for the GNOME desktop";
-    maintainers = gnome3.maintainers;
-    license = licenses.cc-by-30;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/gnome-3/core/mutter/default.nix b/pkgs/desktops/gnome-3/core/mutter/default.nix
index 8fad9e3c288b..6d36b8710b62 100644
--- a/pkgs/desktops/gnome-3/core/mutter/default.nix
+++ b/pkgs/desktops/gnome-3/core/mutter/default.nix
@@ -10,6 +10,7 @@
 , sysprof
 , desktop-file-utils
 , libcap_ng
+, egl-wayland
 }:
 
 stdenv.mkDerivation rec {
@@ -26,6 +27,8 @@ stdenv.mkDerivation rec {
   mesonFlags = [
     "-Dxwayland-path=${xwayland}/bin/Xwayland"
     "-Dinstalled_tests=false" # TODO: enable these
+    "-Dwayland_eglstream=true"
+    "-Degl_device=true"
   ];
 
   propagatedBuildInputs = [
@@ -52,7 +55,7 @@ stdenv.mkDerivation rec {
     gnome-desktop cairo pango cogl zenity libstartup_notification
     geocode-glib libinput libgudev libwacom
     libcanberra-gtk3 zenity xkeyboard_config libxkbfile
-    libxkbcommon pipewire xwayland
+    libxkbcommon pipewire xwayland egl-wayland
     gnome-settings-daemon sysprof
   ];
 
diff --git a/pkgs/desktops/gnome-3/core/rygel/default.nix b/pkgs/desktops/gnome-3/core/rygel/default.nix
index c38e677a4217..415974d0c2b7 100644
--- a/pkgs/desktops/gnome-3/core/rygel/default.nix
+++ b/pkgs/desktops/gnome-3/core/rygel/default.nix
@@ -28,14 +28,14 @@
 
 stdenv.mkDerivation rec {
   pname = "rygel";
-  version = "0.38.1";
+  version = "0.38.3";
 
   # TODO: split out lib
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1w8bi2rw91qyfny1zxhy32k4qn62hdjl2m38f75cp7wv6494d7w0";
+    sha256 = "003xficqb08r1dgid20i7cn889lbfwrglpx78rjd5nkvgxbimhh8";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/simple-scan/default.nix b/pkgs/desktops/gnome-3/core/simple-scan/default.nix
index 21e198a867f1..8d737b22a7ac 100644
--- a/pkgs/desktops/gnome-3/core/simple-scan/default.nix
+++ b/pkgs/desktops/gnome-3/core/simple-scan/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "simple-scan";
-  version = "3.34.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/simple-scan/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0glzskxdc7p9z7nwcakqc7qzij4l79adlvvb2cj5fmis731zw9yq";
+    sha256 = "1fk3g4f9slckqfwm576jrjq1d1qihw0dlgzdf00ns7qbhzb0kxsp";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix b/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix
index 7cb63b8df797..34f6accdd5ff 100644
--- a/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix
+++ b/pkgs/desktops/gnome-3/core/yelp-xsl/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "yelp-xsl";
-  version = "3.34.0";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/yelp-xsl/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1qjfw4s8yf4hmyqrcqy6q2rsnb8b2cl1qbq67m7n7pyiczp3l1p8";
+    sha256 = "1bdpgkzawhqmw52l6zx8czzg1ndfgcf1p44m2bxjdpqkc4afcgqc";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix
index 6d2ae92ac806..605ef95656c3 100644
--- a/pkgs/desktops/gnome-3/default.nix
+++ b/pkgs/desktops/gnome-3/default.nix
@@ -14,10 +14,9 @@ lib.makeScope pkgs.newScope (self: with self; {
   */
   removePackagesByName = packages: packagesToRemove:
     let
-      pkgName = drv: (builtins.parseDrvName drv.name).name;
-      namesToRemove = map pkgName packagesToRemove;
+      namesToRemove = map lib.getName packagesToRemove;
     in
-      lib.filter (x: !(builtins.elem (pkgName x) namesToRemove)) packages;
+      lib.filter (x: !(builtins.elem (lib.getName x) namesToRemove)) packages;
 
   maintainers = with pkgs.lib.maintainers; [ lethalman jtojnar hedning worldofpeace ];
 
@@ -36,7 +35,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   caribou = callPackage ./core/caribou { };
 
-  dconf = callPackage ./core/dconf { };
   dconf-editor = callPackage ./core/dconf-editor { };
 
   empathy = callPackage ./core/empathy { };
@@ -99,8 +97,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   gnome-themes-extra = callPackage ./core/gnome-themes-extra { };
 
-  gnome-user-docs = callPackage ./core/gnome-user-docs { };
-
   gnome-user-share = callPackage ./core/gnome-user-share { };
 
   gucharmap = callPackage ./core/gucharmap { };
@@ -160,8 +156,6 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   yelp-xsl = callPackage ./core/yelp-xsl { };
 
-  yelp-tools = callPackage ./core/yelp-tools { };
-
   zenity = callPackage ./core/zenity { };
 
 
@@ -349,15 +343,21 @@ lib.makeScope pkgs.newScope (self: with self; {
   pidgin-im-gnome-shell-extension = pkgs.gnomeExtensions.pidgin-im-integration; # added 2019-08-01
 
   # added 2019-08-25
-  corePackages = throw "deprecated 2019-08-25: please use `services.gnome3.core-shell.enable`";
-  optionalPackages = throw "deprecated 2019-08-25: please use `services.gnome3.core-utilities.enable`";
-  gamesPackages = throw "deprecated 2019-08-25: please use `services.gnome3.games.enable`";
+  corePackages = throw "gnome3.corePackages is removed since 2019-08-25: please use `services.gnome3.core-shell.enable`";
+  optionalPackages = throw "gnome3.optionalPackages is removed since 2019-08-25: please use `services.gnome3.core-utilities.enable`";
+  gamesPackages = throw "gnome3.gamesPackages is removed since 2019-08-25: please use `services.gnome3.games.enable`";
 
-  nautilus-sendto = throw "deprecated 2019-09-17: abandoned";
+  nautilus-sendto = throw "nautilus-sendto is removed since 2019-09-17: abandoned upstream";
 
   inherit (pkgs) vala; # added 2019-10-10
 
+  inherit (pkgs) gnome-user-docs; # added 2019-11-20
+
   inherit (pkgs) gegl_0_4; # added 2019-10-31
 
   inherit (pkgs) gjs; # added 2019-01-05
+
+  inherit (pkgs) yelp-tools; # added 2019-11-20
+
+  inherit (pkgs) dconf; # added 2019-11-30
 })
diff --git a/pkgs/desktops/gnome-3/extensions/caffeine/default.nix b/pkgs/desktops/gnome-3/extensions/caffeine/default.nix
index 8cf9fb9f0e63..1761887f8fb1 100644
--- a/pkgs/desktops/gnome-3/extensions/caffeine/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/caffeine/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-caffeine";
-  version = "unstable-2019-04-02";
+  version = "33";
 
   src = fetchFromGitHub {
     owner = "eonpatapon";
     repo = "gnome-shell-extension-caffeine";
-    rev = "a6b37dee108cddf50a0f0a19f0101854a75bf173";
-    sha256 = "1j3q12j36v97551sjb0c8qc8zr7a7gmxibygczryfdfmwjzp6icl";
+    rev = "v${version}";
+    sha256 = "1v74xfk7csgc4kw1fg75brmhk2aby3d453ksnmj4k8ivyxkzxmfg";
   };
 
   uuid = "caffeine@patapon.info";
@@ -32,6 +32,5 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2;
     maintainers = with maintainers; [ eperuffo ];
     homepage = https://github.com/eonpatapon/gnome-shell-extension-caffeine;
-    broken = versionAtLeast gnome3.gnome-shell.version "3.32"; # Doesn't support 3.34
   };
 }
diff --git a/pkgs/desktops/gnome-3/extensions/dash-to-panel/default.nix b/pkgs/desktops/gnome-3/extensions/dash-to-panel/default.nix
index f7f189e23bdc..33261472487f 100644
--- a/pkgs/desktops/gnome-3/extensions/dash-to-panel/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/dash-to-panel/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-dash-to-panel";
-  version = "23";
+  version = "26";
 
   src = fetchFromGitHub {
     owner = "home-sweet-gnome";
     repo = "dash-to-panel";
     rev = "v${version}";
-    sha256 = "12smkz3clcvgicr0pdc0fk6igf82nw4hzih1ywv9q43xkqh9w1i6";
+    sha256 = "1phfx2pblygpcvsppsqqqflm7qnz46mqkw29hj0nv2dn69hf4xbc";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix b/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix
index 921991a33aea..13b2d6a1db4f 100644
--- a/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix
+++ b/pkgs/desktops/gnome-3/extensions/system-monitor/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, substituteAll, fetchFromGitHub, glib, glib-networking, libgtop, gnome3 }:
+{ stdenv, substituteAll, fetchFromGitHub, glib, glib-networking, libgtop }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-system-monitor";
@@ -41,6 +41,5 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ aneeshusa tiramiseb ];
     homepage = https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet;
-    broken = versionAtLeast gnome3.gnome-shell.version "3.32";
   };
 }
diff --git a/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix b/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix
index dd7908ba726e..9edeb3ea5dec 100644
--- a/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix
+++ b/pkgs/desktops/gnome-3/games/gnome-taquin/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-taquin";
-  version = "3.34.1";
+  version = "3.34.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-taquin/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0vyrfhkfpx83n9p70jssykbndvb3sxwdihqvvvb94rbw7n6c4q4r";
+    sha256 = "1ff3h57wr26np3dlh7smpslba2awxasmhv3y45bn498i3n1vyvsk";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/games/iagno/default.nix b/pkgs/desktops/gnome-3/games/iagno/default.nix
index c679f3f74b8f..33cd60f52720 100644
--- a/pkgs/desktops/gnome-3/games/iagno/default.nix
+++ b/pkgs/desktops/gnome-3/games/iagno/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "iagno";
-  version = "3.34.2";
+  version = "3.34.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/iagno/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0r31k6b8mqgn5c55hi94gpdr776ykq7ww55vq6pmp5irhdwb3gn9";
+    sha256 = "1m9654dbi4vrl59wvbyxz7jf81v4mn4n5lcq7abb42lba965d2z2";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix b/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
index dc7e0ed222f0..808d36dab95c 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
@@ -27,14 +27,14 @@
 
 let
   pname = "gnome-flashback";
-  version = "3.34.1";
+  version = "3.34.2";
   requiredComponents = wmName: "RequiredComponents=${wmName};gnome-flashback;gnome-panel;org.gnome.SettingsDaemon.A11ySettings;org.gnome.SettingsDaemon.Color;org.gnome.SettingsDaemon.Datetime;org.gnome.SettingsDaemon.Housekeeping;org.gnome.SettingsDaemon.Keyboard;org.gnome.SettingsDaemon.MediaKeys;org.gnome.SettingsDaemon.Power;org.gnome.SettingsDaemon.PrintNotifications;org.gnome.SettingsDaemon.Rfkill;org.gnome.SettingsDaemon.ScreensaverProxy;org.gnome.SettingsDaemon.Sharing;org.gnome.SettingsDaemon.Smartcard;org.gnome.SettingsDaemon.Sound;org.gnome.SettingsDaemon.Wacom;org.gnome.SettingsDaemon.XSettings;";
   gnome-flashback = stdenv.mkDerivation rec {
     name = "${pname}-${version}";
 
     src = fetchurl {
       url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-      sha256 = "0xxw5w66gx04amyxhf4xbz0s4bf0rdp7y9nyrf6bb4xdc6b0rfnx";
+      sha256 = "1726xcm2q94nfvb055d3m61m20s0xy3xl1fc3ds3k3rcrn457riv";
     };
 
     # make .desktop Execs absolute
diff --git a/pkgs/desktops/gnustep/make/setup-hook.sh b/pkgs/desktops/gnustep/make/setup-hook.sh
index 531389011164..b2b90f1e5222 100644
--- a/pkgs/desktops/gnustep/make/setup-hook.sh
+++ b/pkgs/desktops/gnustep/make/setup-hook.sh
@@ -20,57 +20,57 @@ addEnvVars() {
     local filename
 
     for filename in $1/share/GNUstep/Makefiles/Additional/*.make ; do
-	if case "$NIX_GNUSTEP_MAKEFILES_ADDITIONAL" in *"{$filename}"*) false;; *) true;; esac; then
+	if case "${NIX_GNUSTEP_MAKEFILES_ADDITIONAL-}" in *"{$filename}"*) false;; *) true;; esac; then
 	    export NIX_GNUSTEP_MAKEFILES_ADDITIONAL+=" $filename"
 	fi
     done
 
     local tmp="$1/lib/GNUstep/Applications"
-    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_APPS" in *"${tmp}"*) false;; *) true;; esac; then
+    if [ -d "$tmp" ] && case "${NIX_GNUSTEP_SYSTEM_APPS-}" in *"${tmp}"*) false;; *) true;; esac; then
 	addToSearchPath NIX_GNUSTEP_SYSTEM_APPS "$tmp"
     fi
     tmp="$1/lib/GNUstep/Applications"
-    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_ADMIN_APPS" in *"${tmp}"*) false;; *) true;; esac; then
+    if [ -d "$tmp" ] && case "${NIX_GNUSTEP_SYSTEM_ADMIN_APPS-}" in *"${tmp}"*) false;; *) true;; esac; then
 	addToSearchPath NIX_GNUSTEP_SYSTEM_ADMIN_APPS "$tmp"
     fi
     tmp="$1/lib/GNUstep/WebApplications"
-    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_WEB_APPS" in *"${tmp}"*) false;; *) true;; esac; then
+    if [ -d "$tmp" ] && case "${NIX_GNUSTEP_SYSTEM_WEB_APPS-}" in *"${tmp}"*) false;; *) true;; esac; then
 	addToSearchPath NIX_GNUSTEP_SYSTEM_WEB_APPS "$tmp"
     fi
     tmp="$1/bin"
-    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_TOOLS" in *"${tmp}"*) false;; *) true;; esac; then
+    if [ -d "$tmp" ] && case "${NIX_GNUSTEP_SYSTEM_TOOLS-}" in *"${tmp}"*) false;; *) true;; esac; then
 	addToSearchPath NIX_GNUSTEP_SYSTEM_TOOLS "$tmp"
     fi
     tmp="$1/sbin"
-    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_ADMIN_TOOLS" in *"${tmp}"*) false;; *) true;; esac; then
+    if [ -d "$tmp" ] && case "${NIX_GNUSTEP_SYSTEM_ADMIN_TOOLS-}" in *"${tmp}"*) false;; *) true;; esac; then
 	addToSearchPath NIX_GNUSTEP_SYSTEM_ADMIN_TOOLS "$tmp"
     fi
     tmp="$1/lib/GNUstep"
-    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_LIBRARY" in *"${tmp}"*) false;; *) true;; esac; then
+    if [ -d "$tmp" ] && case "${NIX_GNUSTEP_SYSTEM_LIBRARY-}" in *"${tmp}"*) false;; *) true;; esac; then
     	addToSearchPath NIX_GNUSTEP_SYSTEM_LIBRARY "$tmp"
     fi
     tmp="$1/include"
-    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_HEADERS" in *"${tmp}"*) false;; *) true;; esac; then
-    	if [ -z "$NIX_GNUSTEP_SYSTEM_HEADERS" ]; then
+    if [ -d "$tmp" ] && case "${NIX_GNUSTEP_SYSTEM_HEADERS-}" in *"${tmp}"*) false;; *) true;; esac; then
+    	if [ -z "${NIX_GNUSTEP_SYSTEM_HEADERS-}" ]; then
     	    export NIX_GNUSTEP_SYSTEM_HEADERS="$tmp"
     	else
     	    export NIX_GNUSTEP_SYSTEM_HEADERS+=" $tmp"
     	fi
     fi
     tmp="$1/lib"
-    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_LIBRARIES" in *"${tmp}"*) false;; *) true;; esac; then
+    if [ -d "$tmp" ] && case "${NIX_GNUSTEP_SYSTEM_LIBRARIES-}" in *"${tmp}"*) false;; *) true;; esac; then
 	addToSearchPath NIX_GNUSTEP_SYSTEM_LIBRARIES "$tmp"
     fi
     tmp="$1/share/GNUstep/Documentation"
-    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_DOC" in *"${tmp}"*) false;; *) true;; esac; then
+    if [ -d "$tmp" ] && case "${NIX_GNUSTEP_SYSTEM_DOC-}" in *"${tmp}"*) false;; *) true;; esac; then
 	addToSearchPath NIX_GNUSTEP_SYSTEM_DOC "$tmp"
     fi
     tmp="$1/share/man"
-    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_DOC_MAN" in *"${tmp}"*) false;; *) true;; esac; then
+    if [ -d "$tmp" ] && case "${NIX_GNUSTEP_SYSTEM_DOC_MAN-}" in *"${tmp}"*) false;; *) true;; esac; then
 	addToSearchPath NIX_GNUSTEP_SYSTEM_DOC_MAN "$tmp"
     fi
     tmp="$1/share/info"
-    if [ -d "$tmp" ] && case "$NIX_GNUSTEP_SYSTEM_DOC_INFO" in *"${tmp}"*) false;; *) true;; esac; then
+    if [ -d "$tmp" ] && case "${NIX_GNUSTEP_SYSTEM_DOC_INFO-}" in *"${tmp}"*) false;; *) true;; esac; then
 	addToSearchPath NIX_GNUSTEP_SYSTEM_DOC_INFO "$tmp"
     fi
 }
diff --git a/pkgs/desktops/mate/mate-control-center/default.nix b/pkgs/desktops/mate/mate-control-center/default.nix
index e16effed670c..836588e7e2b2 100644
--- a/pkgs/desktops/mate/mate-control-center/default.nix
+++ b/pkgs/desktops/mate/mate-control-center/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, dbus-glib,
   libxklavier, libcanberra-gtk3, librsvg, libappindicator-gtk3,
-  desktop-file-utils, gnome3, gtk3, mate, hicolor-icon-theme, wrapGAppsHook
+  desktop-file-utils, dconf, gtk3, mate, hicolor-icon-theme, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     librsvg
     libappindicator-gtk3
     gtk3
-    gnome3.dconf
+    dconf
     hicolor-icon-theme
     mate.mate-desktop
     mate.libmatekbd
diff --git a/pkgs/desktops/mate/mate-desktop/default.nix b/pkgs/desktops/mate/mate-desktop/default.nix
index 8d157a201bed..35cacee5a4dc 100644
--- a/pkgs/desktops/mate/mate-desktop/default.nix
+++ b/pkgs/desktops/mate/mate-desktop/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, isocodes, gnome3, gtk3, wrapGAppsHook }:
+{ stdenv, fetchurl, pkgconfig, intltool, isocodes, gnome3, gtk3, dconf, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "mate-desktop";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gnome3.dconf
+    dconf
     gtk3
     isocodes
   ];
diff --git a/pkgs/desktops/mate/mate-panel/default.nix b/pkgs/desktops/mate/mate-panel/default.nix
index db45dc9c4725..09744ecfdaa8 100644
--- a/pkgs/desktops/mate/mate-panel/default.nix
+++ b/pkgs/desktops/mate/mate-panel/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, itstool, glib, libwnck3, librsvg, libxml2, gnome3, gtk3, mate, hicolor-icon-theme, gobject-introspection, wrapGAppsHook }:
+{ stdenv, fetchurl, pkgconfig, intltool, itstool, glib, libwnck3, librsvg, libxml2, dconf, gtk3, mate, hicolor-icon-theme, gobject-introspection, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "mate-panel";
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     librsvg
     libxml2
     gtk3
-    gnome3.dconf
+    dconf
     mate.libmateweather
     mate.mate-desktop
     mate.mate-menus
diff --git a/pkgs/desktops/mate/mate-settings-daemon/default.nix b/pkgs/desktops/mate/mate-settings-daemon/default.nix
index 73dd7011d49d..b7385839242a 100644
--- a/pkgs/desktops/mate/mate-settings-daemon/default.nix
+++ b/pkgs/desktops/mate/mate-settings-daemon/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, intltool, glib, dbus-glib, libxklavier,
-  libcanberra-gtk3, libnotify, nss, polkit, gnome3, gtk3, mate,
+  libcanberra-gtk3, libnotify, nss, polkit, dconf, gtk3, mate,
   pulseaudioSupport ? stdenv.config.pulseaudio or true, libpulseaudio,
   wrapGAppsHook, fetchpatch, autoreconfHook }:
 
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     nss
     polkit
     gtk3
-    gnome3.dconf
+    dconf
     mate.mate-desktop
     mate.libmatekbd
     mate.libmatemixer
diff --git a/pkgs/desktops/mate/mate-terminal/default.nix b/pkgs/desktops/mate/mate-terminal/default.nix
index 7ec9944aa0e1..704db60ff15c 100644
--- a/pkgs/desktops/mate/mate-terminal/default.nix
+++ b/pkgs/desktops/mate/mate-terminal/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, itstool, libxml2, mate, gnome3, gtk3, vte, wrapGAppsHook }:
+{ stdenv, fetchurl, pkgconfig, intltool, glib, itstool, libxml2, mate, dconf, gtk3, vte, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "mate-terminal";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
      vte
      gtk3
-     gnome3.dconf
+     dconf
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
index bcbe50e5de35..4cdaacddbeb1 100644
--- a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix
@@ -18,7 +18,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-calculator";
-  version = "1.5.2";
+  version = "1.5.3";
 
   repoName = "calculator";
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1vdgl89hdf9q1ya6as7310hlr0xls3w7js2gzsd9z8arb6037ccl";
+    sha256 = "0ibnj3zm93p8ghiy8gbbm0vlig9mnqjsvvp1cpw62dnap0qixdcg";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/apps/elementary-photos/default.nix b/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
index 94b6a2fce8ec..50a797a702df 100644
--- a/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
@@ -33,7 +33,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-photos";
-  version = "2.6.4";
+  version = "2.6.5";
 
   repoName = "photos";
 
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "17r9658s0pqy6s45ysi3915sm8hpvmsp7cw2jahqvjc61r4qpdc1";
+    sha256 = "0r6d9y936nw4bn0jvixi1p62dy8qsgl2bx8g3889fndnhfnhbjv0";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix b/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix
index 4dd168f25f05..ce9d0b6c82d9 100644
--- a/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix
@@ -17,7 +17,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-screenshot-tool"; # This will be renamed to "screenshot" soon. See -> https://github.com/elementary/screenshot/pull/93
-  version = "1.6.2";
+  version = "1.7.0";
 
   repoName = "screenshot";
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1z61j96jk9zjr3bn5hgsp25m4v8h1rqwxm0kg8c34bvl06f13v8q";
+    sha256 = "09jcyy4drzpfxb1blln7hyjg5b7r8w5j5v7va2qhq31y7vzczh62";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
index 8bd335c65305..e847a139616a 100644
--- a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
@@ -20,7 +20,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-terminal";
-  version = "5.3.6";
+  version = "5.4.0";
 
   repoName = "terminal";
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "0jp21sy8k3jq3ycvng9yy2hbhcvfgiknxxa8vcg3c06vqhadmnc3";
+    sha256 = "1rj4hrg5qljsv11apgdp0x4dazlfmjq3s0lk0dvwjvh9nqkr6jbw";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
index c179160ddabe..6c97c986ae07 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-about";
-  version = "2.6.0";
+  version = "2.6.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "12ysymk5y2k49yh3rzmra7jmimxrd54gz2f4ssc9i8w06xj5djp7";
+    sha256 = "1z58d21xrjghvjx0ng53pcxwdk2f5d00dvngcyjja0kf7sixba71";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix
index ddb589c9e792..c15219fbdf82 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-applications";
-  version = "2.1.5";
+  version = "2.1.6";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1c4agff456625kycacpsww7c9jsnsg1rqps96r7cvn9zq371b5ir";
+    sha256 = "19l979sdn9jzibvn98ag3ys28ka7zqlsbs0gj2gs9jcxhzngrxvg";
   };
 
   passthru = {
@@ -42,8 +42,6 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-
   meta = with stdenv.lib; {
     description = "Switchboard Applications Plug";
     homepage = https://github.com/elementary/switchboard-plug-applications;
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
index 00524786f4bb..eb3066597edb 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-display";
-  version = "2.1.9";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0g9apywxgkan82h933rjjdm9fhd8vak8mziwsbqlprdz310b2jb2";
+    sha256 = "0mr89kyq034wffzixqlq6lmhyc4jry3dcgxrk306dhks2myindqh";
   };
 
   passthru = {
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 a8556bd54014..7578b7790589 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-mouse-touchpad";
-  version = "2.2.0";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0mr25p7j5hl8zmvz5i3g30s4xbdhk6d22lw2akch3si40il9q5fv";
+    sha256 = "1cg69nbdf4mcr16mi71aw9j8877lyj8yxjfk9bd3sml8f4fh7mmr";
   };
 
   patches = [
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   ];
 
   postPatch = ''
-    substituteInPlace src/Views/General.vala \
+    substituteInPlace src/Views/Clicking.vala \
       --subst-var-by GSD_GSETTINGS ${glib.getSchemaPath elementary-settings-daemon}
   '';
 
@@ -54,8 +54,6 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-
   meta = with stdenv.lib; {
     description = "Switchboard Mouse & Touchpad Plug";
     homepage = https://github.com/elementary/switchboard-plug-mouse-touchpad;
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
index b904fe153094..591ed9fc1525 100644
--- 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
@@ -1,63 +1,76 @@
-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);
+diff --git a/src/Views/Clicking.vala b/src/Views/Clicking.vala
+index cc4431b..d12ddfe 100644
+--- a/src/Views/Clicking.vala
++++ b/src/Views/Clicking.vala
+@@ -123,42 +123,39 @@ public class MouseTouchpad.ClickingView : Granite.SimpleSettingsPage {
+         content_area.attach (hold_scale, 3, 3);
+        content_area. attach (hold_help, 1, 4, 3);
  
--        var xsettings_schema = SettingsSchemaSource.get_default ().lookup ("org.gnome.settings-daemon.plugins.xsettings", false);
+-        var xsettings_schema = SettingsSchemaSource.get_default ().lookup (
+-            "org.gnome.settings-daemon.plugins.xsettings",
+-            true
+-        );
+-
 -        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"));
++        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 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);
+-            content_area.attach (new SettingLabel (_("Middle click paste:")), 0, 5);
+-            content_area.attach (primary_paste_switch, 1, 5);
+-            content_area.attach (primary_paste_help, 1, 6, 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);
+-            primary_paste_switch.notify["active"].connect (() => {
+-                on_primary_paste_switch_changed (primary_paste_switch, xsettings);
+-            });
++        var primary_paste_switch = new Gtk.Switch ();
++        primary_paste_switch.halign = Gtk.Align.START;
+ 
+-            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"));
++        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);
++        content_area.attach (new SettingLabel (_("Middle click paste:")), 0, 5);
++        content_area.attach (primary_paste_switch, 1, 5);
++        content_area.attach (primary_paste_help, 1, 6, 3);
 +
 +        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));
++        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);
++        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);
++        SettingsSchema daemon_schema = daemon_schema_source.lookup ("org.gnome.settings-daemon.peripherals.mouse", false);
++        var daemon_settings = new GLib.Settings.full (daemon_schema, null, null);
+         daemon_settings.bind ("double-click", double_click_speed_adjustment, "value", 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 175f0e45f46e..be4614df557a 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-network";
-  version = "2.1.4";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "12lvcc15jngzsa40fjhxa6kccs58h5qq4lqrc7lcx5przmfaik8k";
+    sha256 = "0zg4bxrrw1nmm91yp8ymji7mha2wcjrwljcnpcvxq7lf8f2k0145";
   };
 
   passthru = {
@@ -49,14 +49,12 @@ stdenv.mkDerivation rec {
 
   patches = [
     (substituteAll {
-      src = ./nma.patch;
-      networkmanagerapplet = networkmanagerapplet;
+      src = ./fix-paths.patch;
+      inherit networkmanagerapplet;
     })
   ];
 
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-
   meta = with stdenv.lib; {
     description = "Switchboard Networking Plug";
     homepage = https://github.com/elementary/switchboard-plug-network;
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch
new file mode 100644
index 000000000000..e2d7a6d49705
--- /dev/null
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch
@@ -0,0 +1,35 @@
+diff --git a/src/Views/VPNPage.vala b/src/Views/VPNPage.vala
+index 82e7826..cf00145 100644
+--- a/src/Views/VPNPage.vala
++++ b/src/Views/VPNPage.vala
+@@ -265,7 +265,7 @@ public class Network.VPNPage : Network.Widgets.Page {
+     private void try_connection_editor (string args) {
+         try {
+             var appinfo = AppInfo.create_from_commandline (
+-                "nm-connection-editor %s".printf (args),
++                "@networkmanagerapplet@/bin/nm-connection-editor %s".printf (args),
+                 null,
+                 GLib.AppInfoCreateFlags.NONE
+             );
+diff --git a/src/Widgets/SettingsButton.vala b/src/Widgets/SettingsButton.vala
+index ed36b38..bc71c0c 100644
+--- a/src/Widgets/SettingsButton.vala
++++ b/src/Widgets/SettingsButton.vala
+@@ -24,7 +24,7 @@
+             clicked.connect (() => {
+                 try {
+                     var appinfo = AppInfo.create_from_commandline (
+-                        "nm-connection-editor",
++                        "@networkmanagerapplet@/bin/nm-connection-editor",
+                         null,
+                         AppInfoCreateFlags.NONE
+                     );
+@@ -71,7 +71,7 @@
+         private void edit_connection_uuid (string uuid) {
+             try {
+                 var appinfo = AppInfo.create_from_commandline (
+-                    "nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE
++                    "@networkmanagerapplet@/bin/nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE
+                 );
+ 
+                 appinfo.launch (null, null);
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch
deleted file mode 100644
index a5fff9d6a32b..000000000000
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-diff --git a/src/Widgets/SettingsButton.vala b/src/Widgets/SettingsButton.vala
-index 19fd514..bc800d9 100644
---- a/src/Widgets/SettingsButton.vala
-+++ b/src/Widgets/SettingsButton.vala
-@@ -23,7 +23,7 @@
-             label = _("Edit Connections…");
-             clicked.connect (() => {
-                 try {
--                    var appinfo = AppInfo.create_from_commandline ("nm-connection-editor", null, AppInfoCreateFlags.NONE);
-+                    var appinfo = AppInfo.create_from_commandline ("@networkmanagerapplet@/bin/nm-connection-editor", null, AppInfoCreateFlags.NONE);
-                     appinfo.launch (null, null);
-                 } catch (Error e) {
-                     warning ("%s", e.message);
-@@ -61,13 +61,13 @@
-             label = title;
-             clicked.connect (() => {
-                 edit_connection_uuid (connection.get_uuid ());
--            });  
-+            });
-         }
- 
-         private void edit_connection_uuid (string uuid) {
-             try {
-                 var appinfo = AppInfo.create_from_commandline (
--                    "nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE
-+                    "@networkmanagerapplet@/bin/nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE
-                 );
- 
-                 appinfo.launch (null, null);
-diff --git a/src/Widgets/VPN/VPNPage.vala b/src/Widgets/VPN/VPNPage.vala
-index 23c3ae9..c71984c 100644
---- a/src/Widgets/VPN/VPNPage.vala
-+++ b/src/Widgets/VPN/VPNPage.vala
-@@ -86,8 +86,7 @@ namespace Network {
-             add_button.tooltip_text = _("Add VPN Connection…");
-             add_button.clicked.connect (() => {
-                 add_button.sensitive = false;
--                var command = new Granite.Services.SimpleCommand ("/usr/bin",
--                                                    "nm-connection-editor --create --type=vpn");
-+                var command = new Granite.Services.SimpleCommand ("@networkmanagerapplet@", "bin/nm-connection-editor --create --type=vpn");
-                 command.done.connect ((exit) => {
-                     if (exit != 0) {
-                         var dialog = new Gtk.MessageDialog (null, Gtk.DialogFlags.MODAL, Gtk.MessageType.ERROR, Gtk.ButtonsType.CLOSE, "%s", _("Failed to run Connection Editor."));
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 35dd958483d6..cd48b9d1d78b 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-pantheon-shell";
-  version = "2.8.1";
+  version = "2.8.2";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1vrnzxqzl84k8gbrais4j1jyap10kvil4cr769jpr3q3bkbblwrw";
+    sha256 = "0l4js2gqvn8lmky5b3jjqw6mzxcv9i2gjqr1vka0z40px6vfzf0z";
   };
 
   passthru = {
@@ -43,23 +43,17 @@ stdenv.mkDerivation rec {
   patches = [
     ./backgrounds.patch # Having https://github.com/elementary/switchboard-plug-pantheon-shell/issues/166 would make this patch uneeded
     ./hardcode-gsettings.patch
-    # Fixes https://github.com/elementary/switchboard-plug-pantheon-shell/issues/172
-    (fetchpatch {
-      url = "https://github.com/elementary/switchboard-plug-pantheon-shell/commit/e4f86df6a6be402db4c979a4b005573618b744d1.patch";
-      sha256 = "0sa8611k6sqg96mnp2plmxd30w6zq76bfwszl8ankr9kwsgyc66y";
-    })
   ];
 
   postPatch = ''
     substituteInPlace src/Views/Appearance.vala \
       --subst-var-by GALA_GSETTINGS_PATH ${glib.getSchemaPath gala}
+    substituteInPlace src/Views/HotCorners.vala \
+      --subst-var-by GALA_GSETTINGS_PATH ${glib.getSchemaPath gala}
     substituteInPlace src/Views/Appearance.vala \
       --subst-var-by WINGPANEL_GSETTINGS_PATH ${glib.getSchemaPath wingpanel}
   '';
 
-
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-
   meta = with stdenv.lib; {
     description = "Switchboard Desktop Plug";
     homepage = https://github.com/elementary/switchboard-plug-pantheon-shell;
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch
index d023e1b55ce6..d337cf2e7b7d 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch
@@ -1,5 +1,5 @@
 diff --git a/src/Views/Appearance.vala b/src/Views/Appearance.vala
-index 721d458..17e1c58 100644
+index c8300cc..fc48a0e 100644
 --- a/src/Views/Appearance.vala
 +++ b/src/Views/Appearance.vala
 @@ -66,10 +66,16 @@ public class Appearance : Gtk.Grid {
@@ -17,7 +17,23 @@ index 721d458..17e1c58 100644
 +        SettingsSchemaSource panel_schema_source = new SettingsSchemaSource.from_directory ("@WINGPANEL_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true);
 +        SettingsSchema panel_schema = panel_schema_source.lookup (PANEL_SCHEMA, false);
 +
-+        var panel_settings = new Settings.full (panel_schema, null, null);
++        var panel_settings = new GLib.Settings.full (panel_schema, null, null);
          panel_settings.bind (TRANSLUCENCY_KEY, translucency_switch, "active", SettingsBindFlags.DEFAULT);
  
          var interface_settings = new Settings (INTERFACE_SCHEMA);
+diff --git a/src/Views/HotCorners.vala b/src/Views/HotCorners.vala
+index 481e7c5..d102d03 100644
+--- a/src/Views/HotCorners.vala
++++ b/src/Views/HotCorners.vala
+@@ -30,7 +30,10 @@ public class HotCorners : Gtk.Grid {
+         row_spacing = 24;
+         halign = Gtk.Align.CENTER;
+ 
+-        behavior_settings = new GLib.Settings ("org.pantheon.desktop.gala.behavior");
++
++        SettingsSchemaSource gala_schema_source = new SettingsSchemaSource.from_directory ("@GALA_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true);
++        SettingsSchema behavior_schema = gala_schema_source.lookup ("org.pantheon.desktop.gala.behavior", false);
++        behavior_settings = new GLib.Settings.full (behavior_schema, null, null);
+ 
+         custom_command_revealer = new Gtk.Revealer ();
+ 
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
index 7bc3f6ba7adb..1639181193a1 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-power";
-  version = "2.3.5";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1wcxz4jxyv8kms9gxpwvrb356h10qvcwmdjzjzl2bvj5yl1rfcs9";
+    sha256 = "1b25slfh8166v9z2zmb25k64pcj0lh001qh04qhfilzfcbh54krj";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix
index aa65934acdb2..10c95dd7b8e8 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-printers";
-  version = "2.1.6";
+  version = "2.1.7";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "05pkf3whh51gd9d0h2h4clgf7r3mvzl4ybas7834vhy19dzcbzmc";
+    sha256 = "03r67q6my10i4hl8d0q3d6fhqm9abs9kn9j92hk6ykqb4ybxw1z1";
   };
 
   passthru = {
@@ -45,16 +45,6 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  patches = [
-    # Fix build with latest vala.
-    (fetchpatch {
-      url = "https://github.com/elementary/switchboard-plug-printers/commit/3175c2ebf106145a95355d2571e0a2aa4834e884.patch";
-      sha256 = "1b2q48a1284037nz79vjcrz8g2qpsyg7s5rag6bfp03a1ijb7gw3";
-    })
-  ];
-
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-
   meta = with stdenv.lib; {
     description = "Switchboard Printers Plug";
     homepage = https://github.com/elementary/switchboard-plug-printers;
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix
index dee2f851e3fd..cd4b4beb1df5 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-sound";
-  version = "2.2.1";
+  version = "2.2.2";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "0frml591r82j7hf1zlccgv8pzk3w10x470f9nzvdgdjpz0r776k2";
+    sha256 = "1aa9wgaz34glrrnilnqis3k0bnx2a2ir38j493y4d0klkjkwyn5k";
   };
 
   passthru = {
@@ -48,8 +48,6 @@ stdenv.mkDerivation rec {
     switchboard
   ];
 
-  PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
-
   meta = with stdenv.lib; {
     description = "Switchboard Sound Plug";
     homepage = https://github.com/elementary/switchboard-plug-sound;
diff --git a/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix b/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix
index 3ee55a141b82..2c532f899abf 100644
--- a/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix
+++ b/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix
@@ -14,12 +14,13 @@
 , elementary-icon-theme
 , elementary-gtk-theme
 , gettext
+, libhandy
 , wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-onboarding";
-  version = "1.0.1";
+  version = "1.1.0";
 
   repoName = "onboarding";
 
@@ -27,7 +28,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "025i9av4waqwp1gn8d6sjp8qdwg2j3jskxhmyf9qxbzwfc5msysg";
+    sha256 = "17fw95qg7j0mvam90jrvr77hw2ipxb2lkw0xxql1lzwvdx1h0r2k";
   };
 
   passthru = {
@@ -48,20 +49,13 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    elementary-gtk-theme
     elementary-icon-theme
+    glib
     granite
     gtk3
-    elementary-gtk-theme
     libgee
-    glib
-  ];
-
-  patches = [
-    # Make sure we use our logo from /etc/os-release
-    (fetchpatch {
-      url = "https://github.com/elementary/onboarding/commit/03975bacb75741d3dd391a126217e415f43c6059.patch";
-      sha256 = "1yw7dysav90abxnmkv86bc60dyl8nvi0sgaiz8v39cc2x00rqsg1";
-    })
+    libhandy
   ];
 
   postPatch = ''
diff --git a/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix b/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix
index 20b1ac7d353f..097c62f344fb 100644
--- a/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix
+++ b/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix
@@ -17,7 +17,7 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-shortcut-overlay";
-  version = "1.0.1";
+  version = "1.1.0";
 
   repoName = "shortcut-overlay";
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     owner = "elementary";
     repo = repoName;
     rev = version;
-    sha256 = "1ph4rx2l5fn0zh4fjfjlgbgskmzc0lvzqgcv7v4kr5m4rij1p4y4";
+    sha256 = "10s44x5qln3asrdr6v5b3v92prh8rfhv96dbm73zhifm2jjm22g8";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix b/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix
index 8afbbbeed829..1e7f82f134d5 100644
--- a/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix
+++ b/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pantheon-agent-geoclue2";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1hjnbbzsch09090b200b3i85x8fv95agfqd6nrlc9za3jqjhm2xs";
+    sha256 = "1fhgdcykn0ykn8fp7inn2akygpglhdwfpdkpnih86kqmqj8siahv";
   };
 
   passthru = {
diff --git a/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix b/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix
index 53a65ddb9474..0259e687bd3a 100644
--- a/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix
+++ b/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix
@@ -7,19 +7,20 @@
 , vala
 , gtk3
 , libgee
+, granite
 , polkit
 , wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "pantheon-agent-polkit";
-  version = "0.1.6";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "1g9l2jzpvv0dbvxh93w98a7ijsfqv3s3382li4s256179gihhd67";
+    sha256 = "1yybblprcn0cgcf9j76yckqcimm4h8l41cczxjvgp789p1pki3bn";
   };
 
   passthru = {
@@ -37,6 +38,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    granite
     gtk3
     libgee
     polkit
diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix
index e188e4e3fcdd..a199a4a959db 100644
--- a/pkgs/desktops/plasma-5/default.nix
+++ b/pkgs/desktops/plasma-5/default.nix
@@ -43,11 +43,11 @@ let
       propagate = out:
         let setupHook = { writeScript }:
               writeScript "setup-hook" ''
-                if [ "$hookName" != postHook ]; then
+                if [[ "''${hookName-}" != postHook ]]; then
                     postHooks+=("source @dev@/nix-support/setup-hook")
                 else
                     # Propagate $${out} output
-                    propagatedUserEnvPkgs="$propagatedUserEnvPkgs @${out}@"
+                    propagatedUserEnvPkgs+=" @${out}@"
 
                     if [ -z "$outputDev" ]; then
                         echo "error: \$outputDev is unset!" >&2
@@ -57,7 +57,7 @@ let
                     # Propagate $dev so that this setup hook is propagated
                     # But only if there is a separate $dev output
                     if [ "$outputDev" != out ]; then
-                        propagatedBuildInputs="$propagatedBuildInputs @dev@"
+                        propagatedBuildInputs+=" @dev@"
                     fi
                 fi
               '';
diff --git a/pkgs/desktops/xfce/applications/gigolo.nix b/pkgs/desktops/xfce/applications/gigolo.nix
deleted file mode 100644
index d0fc55e77e82..000000000000
--- a/pkgs/desktops/xfce/applications/gigolo.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, fetchurl, python, gettext, intltool, pkgconfig, gtk, gvfs }:
-
-stdenv.mkDerivation rec {
-  p_name  = "gigolo";
-  ver_maj = "0.4";
-  ver_min = "2";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0r4ij0mlnp0bqq44pyrdcpz18r1zwsksw6w5yc0jzgg7wj7wfgsm";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ python gettext intltool gtk gvfs];
-
-  meta = {
-    homepage = "https://goodies.xfce.org/projects/applications/${p_name}";
-    description = "A frontend to easily manage connections to remote filesystems";
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/gigolo/default.nix b/pkgs/desktops/xfce/applications/gigolo/default.nix
index 5b25e474af27..32486aab981f 100644
--- a/pkgs/desktops/xfce4-14/gigolo/default.nix
+++ b/pkgs/desktops/xfce/applications/gigolo/default.nix
@@ -9,4 +9,8 @@ mkXfceDerivation {
 
   nativeBuildInputs = [ exo ];
   buildInputs = [ gtk3 glib gvfs ];
+
+  meta = {
+    description = "A frontend to easily manage connections to remote filesystems";
+  };
 }
diff --git a/pkgs/desktops/xfce/applications/mousepad-12134.patch b/pkgs/desktops/xfce/applications/mousepad-12134.patch
deleted file mode 100644
index 74a28ecf61af..000000000000
--- a/pkgs/desktops/xfce/applications/mousepad-12134.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-diff -urNZ a/mousepad/mousepad-action-group.c b/mousepad/mousepad-action-group.c
---- a/mousepad/mousepad-action-group.c	2014-09-01 20:50:07.000000000 +0000
-+++ b/mousepad/mousepad-action-group.c	2017-12-18 16:57:46.836538403 +0000
-@@ -302,11 +302,6 @@
-   gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), TRUE);
-   self->locked = FALSE;
- 
--  /* update the setting when the active action is changed */
--  self->locked = TRUE;
--  MOUSEPAD_SETTING_SET_STRING (COLOR_SCHEME, gtk_source_style_scheme_get_id (scheme));
--  self->locked = FALSE;
--
-   g_object_notify (G_OBJECT (self), "active-style-scheme");
- }
- 
-@@ -473,6 +468,8 @@
- mousepad_action_group_style_scheme_action_activate (MousepadActionGroup       *self,
-                                                     MousepadStyleSchemeAction *action)
- {
-+  const gchar *scheme_name = NULL;
-+
-   /* only update the active action if we're not already in the process of
-    * setting it and the sender action is actually active */
-   if (! self->locked &&
-@@ -481,7 +478,14 @@
-       GtkSourceStyleScheme *scheme;
- 
-       scheme = mousepad_style_scheme_action_get_style_scheme (action);
--      mousepad_action_group_set_active_style_scheme (self, scheme);
-+
-+      /* update the setting when the active action is changed */
-+      if (scheme != NULL)
-+        scheme_name = gtk_source_style_scheme_get_id(scheme);
-+
-+      self->locked = TRUE;
-+      MOUSEPAD_SETTING_SET_STRING (COLOR_SCHEME, scheme_name);
-+      self->locked = FALSE;
-     }
- }
- 
-diff -urNZ a/mousepad/mousepad-window.c b/mousepad/mousepad-window.c
---- a/mousepad/mousepad-window.c	2014-09-01 20:58:02.000000000 +0000
-+++ b/mousepad/mousepad-window.c	2017-12-18 17:07:51.099321408 +0000
-@@ -712,32 +712,6 @@
- 
- 
- static void
--mousepad_window_action_group_style_scheme_changed (MousepadWindow      *window,
--                                                   GParamSpec          *pspec,
--                                                   MousepadActionGroup *group)
--{
--  GtkSourceStyleScheme *scheme;
--  const gchar          *scheme_id;
--  gint                  npages, i;
--
--  /* get the new active language */
--  scheme = mousepad_action_group_get_active_style_scheme (group);
--  scheme_id = gtk_source_style_scheme_get_id (scheme);
--
--  /* update the color scheme on all the documents */
--  npages = gtk_notebook_get_n_pages (GTK_NOTEBOOK (window->notebook));
--  for (i = 0; i < npages; i++)
--    {
--      MousepadDocument *document;
--
--      document = MOUSEPAD_DOCUMENT (gtk_notebook_get_nth_page (GTK_NOTEBOOK (window->notebook), i));
--      mousepad_view_set_color_scheme (document->textview, scheme_id);
--    }
--}
--
--
--
--static void
- mousepad_window_create_style_schemes_menu (MousepadWindow *window)
- {
-   GtkWidget           *menu, *item;
-@@ -751,13 +725,6 @@
-   gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), menu);
-   gtk_widget_show_all (menu);
-   gtk_widget_show (item);
--  
--  /* watch for activations of the style schemes actions */
--  g_signal_connect_object (window->action_group,
--                           "notify::active-style-scheme",
--                           G_CALLBACK (mousepad_window_action_group_style_scheme_changed),
--                           window,
--                           G_CONNECT_SWAPPED);
- }
- 
- 
diff --git a/pkgs/desktops/xfce/applications/mousepad.nix b/pkgs/desktops/xfce/applications/mousepad.nix
deleted file mode 100644
index 2dca1fa29b0f..000000000000
--- a/pkgs/desktops/xfce/applications/mousepad.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util
-, gtk, gtksourceview, dbus, dbus-glib, makeWrapper
-, dconf }:
-
-stdenv.mkDerivation rec {
-  p_name  = "mousepad";
-  ver_maj = "0.4";
-  ver_min = "0";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "60114431eac8db6bb6ce18bd38f1630cccb684375b97a445a1b6fd619848d132";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  patches = [ ./mousepad-12134.patch ];
-
-  buildInputs =
-    [ pkgconfig intltool libxfce4util
-      gtk gtksourceview dbus dbus-glib makeWrapper
-      dconf
-    ];
-
-  configureFlags = [ "--enable-keyfile-settings" ];
-
-  preFixup = ''
-    wrapProgram "$out/bin/mousepad" \
-      --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH:${gtksourceview}/share" \
-      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules"
-  '';
-
-  meta = {
-    homepage = https://www.xfce.org/;
-    description = "A simple text editor for Xfce";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/mousepad/default.nix b/pkgs/desktops/xfce/applications/mousepad/default.nix
index 77559aaf329f..6f841958c795 100644
--- a/pkgs/desktops/xfce4-14/mousepad/default.nix
+++ b/pkgs/desktops/xfce/applications/mousepad/default.nix
@@ -12,4 +12,8 @@ mkXfceDerivation {
 
   # See https://github.com/NixOS/nixpkgs/issues/36468
   NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
+
+  meta = {
+    description = "A simple text editor for Xfce";
+  };
 }
diff --git a/pkgs/desktops/xfce/applications/orage.nix b/pkgs/desktops/xfce/applications/orage.nix
deleted file mode 100644
index 19bd560cbaef..000000000000
--- a/pkgs/desktops/xfce/applications/orage.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, bison, flex, intltool, gtk, libical, dbus-glib, tzdata
-, libnotify, popt, xfce }:
-
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-  p_name  = "orage";
-  ver_maj = "4.12";
-  ver_min = "1";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0qlhvnl2m33vfxqlbkic2nmfpwyd4mq230jzhs48cg78392amy9w";
-  };
-
-  patches = [
-    # Fix build with libical 3.0
-    (fetchpatch {
-      name = "fix-libical3.patch";
-      url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/libical3.patch?h=packages/orage&id=7b1b06c42dda034d538977b9f3550b28e370057f;
-      sha256 = "1l8s106mcidmbx2p8c2pi8v9ngbv2x3fsgv36j8qk8wyd4qd1jbf";
-    })
-  ];
-
-  postPatch = ''
-    substituteInPlace src/parameters.c        --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
-    substituteInPlace src/tz_zoneinfo_read.c  --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
-    substituteInPlace tz_convert/tz_convert.c --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo"
-  '';
-
-  postConfigure = "rm -rf libical"; # ensure pkgs.libical is used instead of one included in the orage sources
-
-  nativeBuildInputs = [ pkgconfig intltool bison flex ];
-
-  buildInputs = [ gtk libical dbus-glib libnotify popt xfce.libxfce4util
-    xfce.xfce4-panel ];
-
-  meta = {
-    homepage = https://www.xfce.org/projects/;
-    description = "A simple calendar application with reminders";
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.romildo ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/orage/default.nix b/pkgs/desktops/xfce/applications/orage/default.nix
index 7bb10c2fd94b..4a48cc83dda4 100644
--- a/pkgs/desktops/xfce4-14/orage/default.nix
+++ b/pkgs/desktops/xfce/applications/orage/default.nix
@@ -32,4 +32,8 @@ mkXfceDerivation {
       sha256 = "1l8s106mcidmbx2p8c2pi8v9ngbv2x3fsgv36j8qk8wyd4qd1jbf";
     })
   ];
+
+  meta = {
+    description = "A simple calendar application with reminders";
+  };
 }
diff --git a/pkgs/desktops/xfce/applications/parole.nix b/pkgs/desktops/xfce/applications/parole.nix
deleted file mode 100644
index ac0180c20fe8..000000000000
--- a/pkgs/desktops/xfce/applications/parole.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, pkgconfig, intltool, gst_all_1
-, gtk, dbus-glib, libxfce4ui, libxfce4util, xfconf
-, taglib, libnotify, hicolor-icon-theme
-, withGstPlugins ? true
-}:
-
-stdenv.mkDerivation rec {
-  p_name  = "parole";
-  ver_maj = "0.5";
-  ver_min = "4";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1hxzqg9dfghrhvmnnccwwa4278fh2awkcqy89sla05m08mxvvx60";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [ pkgconfig intltool ];
-
-  buildInputs = [
-    makeWrapper hicolor-icon-theme
-    gtk dbus-glib libxfce4ui libxfce4util xfconf
-    taglib libnotify
-  ] ++ (with gst_all_1; [ gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav]);
-
-  configureFlags = [ "--with-gstreamer=1.0" ];
-
-  postInstall = stdenv.lib.optionalString withGstPlugins ''
-    wrapProgram "$out/bin/parole" --prefix \
-      GST_PLUGIN_SYSTEM_PATH_1_0 ":" "$GST_PLUGIN_SYSTEM_PATH_1_0"
-  '';
-
-  meta = {
-    homepage = "https://goodies.xfce.org/projects/applications/${p_name}";
-    description = "Modern simple media player";
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/parole/default.nix b/pkgs/desktops/xfce/applications/parole/default.nix
index ed3979072ed3..20b899165f09 100644
--- a/pkgs/desktops/xfce4-14/parole/default.nix
+++ b/pkgs/desktops/xfce/applications/parole/default.nix
@@ -1,6 +1,5 @@
 { mkXfceDerivation, dbus, dbus-glib
-, gst-plugins-bad, gst-plugins-base, gst-plugins-good
-, gst-plugins-ugly, gtk3, libnotify, libxfce4ui, libxfce4util
+, gst_all_1, gtk3, libnotify, libxfce4ui, libxfce4util
 , taglib, xfconf }:
 
 # Doesn't seem to find H.264 codec even though built with gst-plugins-bad.
@@ -17,7 +16,7 @@ mkXfceDerivation {
       --replace GST_BASE_CFLAGS GST_VIDEO_CFLAGS
   '';
 
-  buildInputs = [
+  buildInputs = with gst_all_1; [
     dbus
     dbus-glib
     gst-plugins-bad
@@ -31,4 +30,8 @@ mkXfceDerivation {
     taglib
     xfconf
   ];
+
+  meta = {
+    description = "Modern simple media player";
+  };
 }
diff --git a/pkgs/desktops/xfce/applications/ristretto.nix b/pkgs/desktops/xfce/applications/ristretto.nix
deleted file mode 100644
index 3c0e8040c3b2..000000000000
--- a/pkgs/desktops/xfce/applications/ristretto.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libexif, gtk
-, exo, dbus-glib, libxfce4util, libxfce4ui, xfconf
-, hicolor-icon-theme, makeWrapper
-}:
-
-stdenv.mkDerivation rec {
-  p_name  = "ristretto";
-  ver_maj = "0.6";
-  ver_min = "3";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0y9d8w1plwp4vmxs44y8k8x15i0k0xln89k6jndhv6lf57g1cs1b";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  buildInputs =
-    [ pkgconfig intltool libexif gtk dbus-glib exo libxfce4util
-      libxfce4ui xfconf hicolor-icon-theme makeWrapper
-    ];
-
-  postInstall = ''
-    wrapProgram "$out/bin/ristretto" \
-      --prefix XDG_DATA_DIRS : "${hicolor-icon-theme}/share"
-  '';
-
-  meta = {
-    homepage = "https://goodies.xfce.org/projects/applications/${p_name}";
-    description = "A fast and lightweight picture-viewer for the Xfce desktop environment";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/ristretto/default.nix b/pkgs/desktops/xfce/applications/ristretto/default.nix
index 4a24bf905328..8766bd302ab3 100644
--- a/pkgs/desktops/xfce4-14/ristretto/default.nix
+++ b/pkgs/desktops/xfce/applications/ristretto/default.nix
@@ -10,4 +10,8 @@ mkXfceDerivation {
 
   nativeBuildInputs = [ exo ];
   buildInputs = [ glib gtk3 libexif libxfce4ui libxfce4util xfconf ];
+
+  meta = {
+    description = "A fast and lightweight picture-viewer for the Xfce desktop environment";
+  };
 }
diff --git a/pkgs/desktops/xfce/applications/terminal.nix b/pkgs/desktops/xfce/applications/terminal.nix
deleted file mode 100644
index 31e851a469d7..000000000000
--- a/pkgs/desktops/xfce/applications/terminal.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, ncurses, gtk, vte, dbus-glib
-, exo, libxfce4util, libxfce4ui
-}:
-
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-terminal";
-  ver_maj = "0.6";
-  ver_min = "3";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "023y0lkfijifh05yz8grimxadqpi98mrivr00sl18nirq8b4fbwi";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool exo gtk vte libxfce4util ncurses dbus-glib libxfce4ui ];
-
-  meta = {
-    homepage = https://www.xfce.org/projects/terminal;
-    description = "A modern terminal emulator primarily for the Xfce desktop environment";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/xfce/applications/xfburn/default.nix b/pkgs/desktops/xfce/applications/xfburn/default.nix
new file mode 100644
index 000000000000..08f2bd511a87
--- /dev/null
+++ b/pkgs/desktops/xfce/applications/xfburn/default.nix
@@ -0,0 +1,12 @@
+{ mkXfceDerivation, docbook_xsl, exo, gtk3, libburn, libisofs, libxfce4ui, libxslt }:
+
+mkXfceDerivation {
+  category = "apps";
+  pname = "xfburn";
+  version = "0.6.1";
+
+  sha256 = "0a1ly79x7j5pgr3vbsabb4i0jd5rryaigj9z8iqzr8p9miypx20v";
+
+  nativeBuildInputs = [ libxslt docbook_xsl ];
+  buildInputs = [ exo gtk3 libburn libisofs libxfce4ui ];
+}
diff --git a/pkgs/desktops/xfce4-14/xfce4-dict/configure-gio.patch b/pkgs/desktops/xfce/applications/xfce4-dict/configure-gio.patch
index 787b63511a23..787b63511a23 100644
--- a/pkgs/desktops/xfce4-14/xfce4-dict/configure-gio.patch
+++ b/pkgs/desktops/xfce/applications/xfce4-dict/configure-gio.patch
diff --git a/pkgs/desktops/xfce4-14/xfce4-dict/default.nix b/pkgs/desktops/xfce/applications/xfce4-dict/default.nix
index 66ca7affa481..b2682080216c 100644
--- a/pkgs/desktops/xfce4-14/xfce4-dict/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-dict/default.nix
@@ -16,4 +16,8 @@ mkXfceDerivation {
   '';
 
   buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel ];
+
+  meta = {
+    description = "A Dictionary Client for the Xfce desktop environment";
+  };
 }
diff --git a/pkgs/desktops/xfce/applications/xfce4-mixer.nix b/pkgs/desktops/xfce/applications/xfce4-mixer.nix
deleted file mode 100644
index e1646d93a619..000000000000
--- a/pkgs/desktops/xfce/applications/xfce4-mixer.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, makeWrapper
-, glib, gstreamer, gst-plugins-base, gtk
-, libxfce4util, libxfce4ui, xfce4-panel, xfconf, libunique ? null
-, pulseaudioSupport ? false, gst-plugins-good
-}:
-
-let
-  # The usual Gstreamer plugins package has a zillion dependencies
-  # that we don't need for a simple mixer, so build a minimal package.
-  gst_plugins_minimal = gst-plugins-base.override {
-    minimalDeps = true;
-  };
-  gst_plugins_pulse = gst-plugins-good.override {
-    minimalDeps = true;
-  };
-  gst_plugins = [ gst_plugins_minimal ] ++ stdenv.lib.optional pulseaudioSupport gst_plugins_pulse;
-
-in
-
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-mixer";
-  ver_maj = "4.10";
-  ver_min = "0";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1pnsd00583l7p5d80rxbh58brzy3jnccwikbbbm730a33c08kid8";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  buildInputs =
-    [ pkgconfig intltool glib gstreamer gtk
-      libxfce4util libxfce4ui xfce4-panel xfconf libunique makeWrapper
-    ] ++ gst_plugins;
-
-  postInstall =
-    ''
-      wrapProgram "$out/bin/xfce4-mixer" \
-        --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"
-    '';
-
-  passthru = { inherit gst_plugins; };
-
-  meta = {
-    homepage = https://www.xfce.org/projects/xfce4-mixer; # referenced but inactive
-    description = "A volume control application for the Xfce desktop environment";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-  };
-}
diff --git a/pkgs/desktops/xfce/applications/xfce4-notifyd.nix b/pkgs/desktops/xfce/applications/xfce4-notifyd.nix
deleted file mode 100644
index 19ecff290933..000000000000
--- a/pkgs/desktops/xfce/applications/xfce4-notifyd.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libnotify
-, gtk , libxfce4util, libxfce4ui, xfconf, hicolor-icon-theme }:
-
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-notifyd";
-  ver_maj = "0.2";
-  ver_min = "4";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1l6fpfk0fkizdx7vwbyjdyzzj5i2ng8pf7r8j49nv0cnjhpxczlc";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libnotify gtk libxfce4util libxfce4ui xfconf hicolor-icon-theme ];
-
-  preFixup = ''
-    # to be able to run the daemon we need it in PATH
-    ln -rs $out/lib/xfce4/notifyd/xfce4-notifyd $out/bin
-  '';
-
-  doCheck = true;
-
-  meta = {
-    homepage = "http://goodies.xfce.org/projects/applications/${p_name}";
-    description = "Notification daemon for Xfce";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-notifyd/default.nix b/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix
index e468fea637e8..a991e8c81807 100644
--- a/pkgs/desktops/xfce4-14/xfce4-notifyd/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix
@@ -9,4 +9,8 @@ mkXfceDerivation {
   sha256 = "1lmm9h3ych8dz9jpjkxg91f9ln14xs527nxjxsryks00kmqk4kai";
 
   buildInputs = [ exo gtk3 glib libnotify libxfce4ui libxfce4util xfce4-panel xfconf ];
+
+  meta = {
+    description = "Simple notification daemon for Xfce";
+  };
 }
diff --git a/pkgs/desktops/xfce/applications/xfce4-screenshooter.nix b/pkgs/desktops/xfce/applications/xfce4-screenshooter.nix
deleted file mode 100644
index 085cfd7b8f90..000000000000
--- a/pkgs/desktops/xfce/applications/xfce4-screenshooter.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, xfce4-panel, libxfce4util, gtk, libsoup
-, glib-networking, exo, hicolor-icon-theme, wrapGAppsHook }:
-
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-screenshooter";
-  ver_maj = "1.8";
-  ver_min = "2";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "9dce2ddfaa87f703e870e29bae13f3fc82a1b3f06b44f8386640e45a135f5f69";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [
-    pkgconfig intltool wrapGAppsHook
-  ];
-
-  buildInputs = [
-    xfce4-panel libxfce4util gtk libsoup exo hicolor-icon-theme glib-networking
-  ];
-
-  meta = {
-    homepage = https://goodies.xfce.org/projects/applications/xfce4-screenshooter;
-    description = "Xfce screenshooter";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-screenshooter/default.nix b/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix
index f13a8fba6d0a..012486baac9b 100644
--- a/pkgs/desktops/xfce4-14/xfce4-screenshooter/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix
@@ -8,4 +8,8 @@ mkXfceDerivation {
   sha256 = "1h14sywvk9l06p3z1cpb79911j8w2wqbk03ldknjkia2rfymjk06";
 
   buildInputs = [ exo gtk3 libsoup libxfce4ui libxfce4util xfce4-panel glib-networking ];
+
+  meta = {
+    description = "Screenshot utility for the Xfce desktop";
+  };
 }
diff --git a/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix b/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix
deleted file mode 100644
index 96f71e004a87..000000000000
--- a/pkgs/desktops/xfce/applications/xfce4-taskmanager.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ stdenv, fetchurl, intltool, pkgconfig, gtk, libwnck }:
-
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-taskmanager";
-  ver_maj = "1.1";
-  ver_min = "0";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1jwywmkkkmz7406m1jq40w6apiav25cznafhigbgpjv6z5hv27if";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool gtk libwnck ];
-
-  meta = {
-    homepage = "https://goodies.xfce.org/projects/applications/${p_name}";
-    description = "Easy to use task manager for Xfce";
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-taskmanager/default.nix b/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix
index 776b3797f769..e3d8b4b87d94 100644
--- a/pkgs/desktops/xfce4-14/xfce4-taskmanager/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix
@@ -9,4 +9,8 @@ mkXfceDerivation {
 
   nativeBuildInputs = [ exo ];
   buildInputs = [ gtk3 libwnck3 libXmu ];
+
+  meta = {
+    description = "Easy to use task manager for Xfce";
+  };
 }
diff --git a/pkgs/desktops/xfce4-14/xfce4-terminal/default.nix b/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
index 3b9cd268d55a..3b9cd268d55a 100644
--- a/pkgs/desktops/xfce4-14/xfce4-terminal/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
diff --git a/pkgs/desktops/xfce/applications/xfce4-volumed-pulse.nix b/pkgs/desktops/xfce/applications/xfce4-volumed-pulse.nix
deleted file mode 100644
index 4344d34f13f6..000000000000
--- a/pkgs/desktops/xfce/applications/xfce4-volumed-pulse.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, libpulseaudio
-, gtk2, libnotify
-, keybinder, xfconf
-}:
-
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-volumed-pulse";
-  ver_maj = "0.2";
-  ver_min = "2";
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0xjcs1b6ix6rwj9xgr9n89h315r3yhdm8wh5bkincd4lhz6ibhqf";
-  };
-
-  buildInputs =
-    [ libpulseaudio gtk2
-      keybinder xfconf libnotify
-    ];
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  meta = with stdenv.lib; {
-    homepage = https://launchpad.net/xfce4-volumed-pulse;
-    description = "A volume keys control daemon for the Xfce desktop environment (Xubuntu fork)";
-    license = licenses.gpl3;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.abbradar ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-volumed-pulse/default.nix b/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix
index 97a00e9b67fa..413c04a84cc1 100644
--- a/pkgs/desktops/xfce4-14/xfce4-volumed-pulse/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix
@@ -10,6 +10,8 @@ mkXfceDerivation {
   buildInputs = [ gtk3 libnotify libpulseaudio keybinder3 xfconf ];
 
   meta = with lib; {
+    description = "A volume keys control daemon for Xfce using pulseaudio";
     license = licenses.gpl3Plus;
+    maintainers = [ maintainers.abbradar ];
   };
 }
diff --git a/pkgs/desktops/xfce/applications/xfce4-volumed.nix b/pkgs/desktops/xfce/applications/xfce4-volumed/default.nix
index dafb72582b31..dafb72582b31 100644
--- a/pkgs/desktops/xfce/applications/xfce4-volumed.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-volumed/default.nix
diff --git a/pkgs/desktops/xfce4-14/xfdashboard/default.nix b/pkgs/desktops/xfce/applications/xfdashboard/default.nix
index a17c29f6723e..a17c29f6723e 100644
--- a/pkgs/desktops/xfce4-14/xfdashboard/default.nix
+++ b/pkgs/desktops/xfce/applications/xfdashboard/default.nix
diff --git a/pkgs/desktops/xfce4-14/automakeAddFlags.sh b/pkgs/desktops/xfce/automakeAddFlags.sh
index 92d5659d05ca..92d5659d05ca 100644
--- a/pkgs/desktops/xfce4-14/automakeAddFlags.sh
+++ b/pkgs/desktops/xfce/automakeAddFlags.sh
diff --git a/pkgs/desktops/xfce/core/exo.nix b/pkgs/desktops/xfce/core/exo.nix
deleted file mode 100644
index 6b5ee4b31328..000000000000
--- a/pkgs/desktops/xfce/core/exo.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, URI, glib, gtk, libxfce4ui, libxfce4util
-, hicolor-icon-theme }:
-
-stdenv.mkDerivation rec {
-  p_name  = "exo";
-  ver_maj = "0.10";
-  ver_min = "7";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "521581481128af93e815f9690020998181f947ac9e9c2b232b1f144d76b1b35c";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  outputs = [ "out" "dev" "devdoc" ];
-    # lib/xfce4/exo-1/exo-compose-mail-1 is a perl script :-/
-
-  nativeBuildInputs = [ pkgconfig intltool ];
-  buildInputs = [ URI glib gtk libxfce4ui libxfce4util hicolor-icon-theme ];
-
-  meta = with stdenv.lib; {
-    homepage = "http://www.xfce.org/projects/${p_name}";
-    description = "Application library for the Xfce desktop environment";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/exo/default.nix b/pkgs/desktops/xfce/core/exo/default.nix
index 59ab5823314e..59ab5823314e 100644
--- a/pkgs/desktops/xfce4-14/exo/default.nix
+++ b/pkgs/desktops/xfce/core/exo/default.nix
diff --git a/pkgs/desktops/xfce/core/garcon-10967.patch b/pkgs/desktops/xfce/core/garcon-10967.patch
deleted file mode 100644
index aea123255478..000000000000
--- a/pkgs/desktops/xfce/core/garcon-10967.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -urNZ a/garcon-gtk/garcon-gtk-menu.c b/garcon-gtk/garcon-gtk-menu.c
---- a/garcon-gtk/garcon-gtk-menu.c	2017-11-16 19:22:33.551926068 +0000
-+++ b/garcon-gtk/garcon-gtk-menu.c	2017-11-16 19:23:33.055497211 +0000
-@@ -676,6 +676,9 @@
-                   G_CALLBACK (garcon_gtk_menu_deactivate), menu);
-               gtk_widget_show (mi);
- 
-+	      /* submenu are child items, too. */
-+	      has_children = TRUE;
-+	      
-               if (menu->priv->show_menu_icons)
-                 {
-                   icon_name = garcon_menu_element_get_icon_name (li->data);
-Binary files a/.git/index and b/.git/index differ
diff --git a/pkgs/desktops/xfce/core/garcon-12700.patch b/pkgs/desktops/xfce/core/garcon-12700.patch
deleted file mode 100644
index b95a65cc2194..000000000000
--- a/pkgs/desktops/xfce/core/garcon-12700.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 222080e6d5fce85eb2a8a5c33df671bd9f21add8 Mon Sep 17 00:00:00 2001
-From: Yegor Timoshenko <yegortimoshenko@gmail.com>
-Date: Thu, 14 Dec 2017 22:04:04 +0000
-Subject: [PATCH] Decrement allocation counter on item unref (#12700)
-
----
- garcon/garcon-menu-item-pool.c | 7 ++++++-
- garcon/garcon-menu-item.c      | 2 ++
- 2 files changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/garcon/garcon-menu-item-pool.c b/garcon/garcon-menu-item-pool.c
-index 2017180..355e520 100644
---- a/garcon/garcon-menu-item-pool.c
-+++ b/garcon/garcon-menu-item-pool.c
-@@ -191,7 +191,12 @@ garcon_menu_item_pool_filter_exclude (const gchar    *desktop_id,
-   g_return_val_if_fail (GARCON_IS_MENU_ITEM (item), FALSE);
-   g_return_val_if_fail (node != NULL, FALSE);
- 
--  return garcon_menu_node_tree_rule_matches (node, item);
-+  gboolean matches = garcon_menu_node_tree_rule_matches (node, item);
-+
-+  if (matches)
-+    garcon_menu_item_increment_allocated (item);
-+
-+  return matches;
- }
- 
- 
-diff --git a/garcon/garcon-menu-item.c b/garcon/garcon-menu-item.c
-index 66a86bf..d61c88f 100644
---- a/garcon/garcon-menu-item.c
-+++ b/garcon/garcon-menu-item.c
-@@ -1516,6 +1516,8 @@ garcon_menu_item_unref (GarconMenuItem *item)
- {
-   g_return_if_fail (GARCON_IS_MENU_ITEM (item));
- 
-+  garcon_menu_item_decrement_allocated (item);
-+
-   /* Decrement the reference counter */
-   g_object_unref (G_OBJECT (item));
- }
--- 
-2.15.1
-
diff --git a/pkgs/desktops/xfce/core/garcon.nix b/pkgs/desktops/xfce/core/garcon.nix
deleted file mode 100644
index 41d98f17516d..000000000000
--- a/pkgs/desktops/xfce/core/garcon.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, libxfce4util, libxfce4ui, gtk }:
-let
-  p_name  = "garcon";
-  ver_maj = "0.4";
-  ver_min = "0";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0wm9pjbwq53s3n3nwvsyf0q8lbmhiy2ln3bn5ncihr9vf5cwhzbq";
-  };
-
-  outputs = [ "out" "dev" ];
-  patches = [ ./garcon-10967.patch ./garcon-12700.patch ];
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool glib libxfce4util gtk libxfce4ui ];
-
-  meta = with stdenv.lib; {
-    homepage = https://www.xfce.org/;
-    description = "Xfce menu support library";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/garcon/default.nix b/pkgs/desktops/xfce/core/garcon/default.nix
index 0d6cb8c410e0..69184f2afa88 100644
--- a/pkgs/desktops/xfce4-14/garcon/default.nix
+++ b/pkgs/desktops/xfce/core/garcon/default.nix
@@ -8,4 +8,8 @@ mkXfceDerivation {
   sha256 = "0pamhp1wffiw638s66nws2mpzmwkhvhb6iwccfy8b0kyr57wipjv";
 
   buildInputs = [ gtk3 libxfce4ui libxfce4util ];
+
+  meta = {
+    description = "Xfce menu support library";
+  };
 }
diff --git a/pkgs/desktops/xfce/core/gtk-xfce-engine.nix b/pkgs/desktops/xfce/core/gtk-xfce-engine.nix
deleted file mode 100644
index 567d3b80387a..000000000000
--- a/pkgs/desktops/xfce/core/gtk-xfce-engine.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk2, withGtk3 ? false, gtk3 ? null }:
-
-assert withGtk3 -> (gtk3 != null);
-
-stdenv.mkDerivation rec {
-  p_name  = "gtk-xfce-engine";
-  ver_maj = "3.2";
-  ver_min = "0";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1va71f3gpl8gikfkmqsd5ikgp7qj8b64jii2l98g1ylnv8xrqp47";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool gtk2 ] ++ stdenv.lib.optional withGtk3 gtk3;
-
-  # `glib-mkenums' is unhappy that some source files are not valid UTF-8
-  postPatch = ''find . -type f -name '*.[ch]' -exec sed -r -i 's/\xD6/O/g' {} +'';
-
-  configureFlags = stdenv.lib.optional withGtk3 "--enable-gtk3";
-
-  meta = {
-    homepage = https://www.xfce.org/;
-    description = "GTK theme engine for Xfce";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-  };
-}
diff --git a/pkgs/desktops/xfce/core/libxfce4ui.nix b/pkgs/desktops/xfce/core/libxfce4ui.nix
deleted file mode 100644
index 797b51de8e40..000000000000
--- a/pkgs/desktops/xfce/core/libxfce4ui.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, xorg, gtk, libxfce4util, xfconf
-, libglade, libstartup_notification, hicolor-icon-theme
-, withGtk3 ? false, gtk3
-}:
-let
-  p_name  = "libxfce4ui";
-  ver_maj = "4.12";
-  ver_min = "1";
-  inherit (stdenv.lib) optional;
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "3d619811bfbe7478bb984c16543d980cadd08586365a7bc25e59e3ca6384ff43";
-  };
-
-  outputs = [ "out" "dev" "devdoc" ];
-
-  nativeBuildInputs = [ pkgconfig intltool ];
-
-  buildInputs =
-    [ gtk libxfce4util xfconf libglade
-      libstartup_notification hicolor-icon-theme
-    ] ++ optional withGtk3 gtk3;
-
-  propagatedBuildInputs = [ xorg.libICE xorg.libSM ];
-
-  #TODO: glade?
-  configureFlags = optional withGtk3 "--enable-gtk3";
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    homepage = https://www.xfce.org/;
-    description = "Basic GUI library for Xfce";
-    license = licenses.lgpl2Plus;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/libxfce4ui/default.nix b/pkgs/desktops/xfce/core/libxfce4ui/default.nix
index 79c8ec74b626..79c8ec74b626 100644
--- a/pkgs/desktops/xfce4-14/libxfce4ui/default.nix
+++ b/pkgs/desktops/xfce/core/libxfce4ui/default.nix
diff --git a/pkgs/desktops/xfce/core/libxfce4util.nix b/pkgs/desktops/xfce/core/libxfce4util.nix
deleted file mode 100644
index b68b7059f8df..000000000000
--- a/pkgs/desktops/xfce/core/libxfce4util.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, intltool }:
-let
-  p_name  = "libxfce4util";
-  ver_maj = "4.12";
-  ver_min = "1";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "07c8r3xwx5is298zk77m3r784gmr5y4mh8bbca5zdjqk5vxdwsw7";
-  };
-
-  outputs = [ "out" "dev" "devdoc" ];
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib intltool ];
-
-  meta = {
-    homepage = https://www.xfce.org/;
-    description = "Basic utility non-GUI functions for Xfce";
-    license = "bsd";
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/libxfce4util/default.nix b/pkgs/desktops/xfce/core/libxfce4util/default.nix
index 4540d2352511..4540d2352511 100644
--- a/pkgs/desktops/xfce4-14/libxfce4util/default.nix
+++ b/pkgs/desktops/xfce/core/libxfce4util/default.nix
diff --git a/pkgs/desktops/xfce/core/libxfcegui4.nix b/pkgs/desktops/xfce/core/libxfcegui4.nix
deleted file mode 100644
index 5c61c16cbcc1..000000000000
--- a/pkgs/desktops/xfce/core/libxfcegui4.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk
-, libxfce4util, xfconf, libglade, libstartup_notification, hicolor-icon-theme }:
-let
-  p_name  = "libxfcegui4";
-  ver_maj = "4.10";
-  ver_min = "0";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0cs5im0ib0cmr1lhr5765yliqjfyxvk4kwy8h1l8bn3mj6bzk0ib";
-  };
-
-  outputs = [ "out" "dev" "devdoc" ];
-
-  #TODO: gladeui
-  # By default, libxfcegui4 tries to install into libglade's prefix.
-  # Install into our own prefix instead.
-  configureFlags = [
-    "--with-libglade-module-path=$(out)/lib/libglade/2.0"
-  ];
-  #NOTE: missing keyboard library support is OK according to the mailing-list
-
-  buildInputs =
-    [ pkgconfig intltool gtk libxfce4util xfconf libglade
-      libstartup_notification hicolor-icon-theme
-    ];
-
-  meta = {
-    homepage = https://www.xfce.org/;
-    description = "Basic GUI library for Xfce";
-    license = stdenv.lib.licenses.lgpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/xfce/core/thunar-build.nix b/pkgs/desktops/xfce/core/thunar-build.nix
deleted file mode 100644
index 0b606ee5fdd7..000000000000
--- a/pkgs/desktops/xfce/core/thunar-build.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool
-, gtk, dbus-glib, libstartup_notification, libnotify, libexif, pcre, udev
-, exo, libxfce4util, xfconf, xfce4-panel, hicolor-icon-theme, wrapGAppsHook
-}:
-
-stdenv.mkDerivation rec {
-  p_name  = "thunar";
-  ver_maj = "1.6";
-  ver_min = "10";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/Thunar-${ver_maj}.${ver_min}.tar.bz2";
-    sha256 = "7e9d24067268900e5e44d3325e60a1a2b2f8f556ec238ec12574fbea15fdee8a";
-  };
-
-  name = "${p_name}-build-${ver_maj}.${ver_min}";
-
-  patches = [ ./thunarx_plugins_directory.patch ];
-
-  postPatch = ''
-    sed -i -e 's|thunar_dialogs_show_insecure_program (parent, _(".*"), file, exec)|1|' thunar/thunar-file.c
-  '';
-
-  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
-  buildInputs = [
-    intltool
-    gtk dbus-glib libstartup_notification libnotify libexif pcre udev
-    exo libxfce4util xfconf xfce4-panel
-    hicolor-icon-theme
-  ];
-  # TODO: optionality?
-
-  enableParallelBuilding = true;
-
-  meta = {
-    homepage = http://thunar.xfce.org/;
-    description = "Xfce file manager";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-  };
-}
diff --git a/pkgs/desktops/xfce/core/thunar-volman.nix b/pkgs/desktops/xfce/core/thunar-volman.nix
deleted file mode 100644
index eda3aab070ac..000000000000
--- a/pkgs/desktops/xfce/core/thunar-volman.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, exo, gtk, libxfce4util, libxfce4ui
-, xfconf, udev, libgudev, libnotify, hicolor-icon-theme }:
-
-stdenv.mkDerivation rec {
-  p_name  = "thunar-volman";
-  ver_maj = "0.8";
-  ver_min = "1";
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1gf259n1v3y23n1zlkhyr6r0i8j59rnl1cmxvxj6la9cwdfbn22s";
-  };
-
-
-  buildInputs =
-    [ pkgconfig intltool exo gtk udev libgudev libxfce4ui libxfce4util
-      xfconf libnotify hicolor-icon-theme
-    ];
-
-  enableParallelBuilding = true;
-
-  meta = {
-    homepage = https://goodies.xfce.org/projects/thunar-plugins/thunar-volman;
-    description = "Thunar extension for automatic management of removable drives and media";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/thunar-volman/default.nix b/pkgs/desktops/xfce/core/thunar-volman/default.nix
index 11b29c64b33f..fc6db0fcce4f 100644
--- a/pkgs/desktops/xfce4-14/thunar-volman/default.nix
+++ b/pkgs/desktops/xfce/core/thunar-volman/default.nix
@@ -8,4 +8,8 @@ mkXfceDerivation {
   buildInputs = [ exo gtk3 libgudev libxfce4ui libxfce4util xfconf ];
 
   sha256 = "1qrlpn0q5g9psd41l6y80r3bvbg8jaic92m6r400zzwcvivf95z0";
+
+  meta = {
+    description = "Thunar extension for automatic management of removable drives and media";
+  };
 }
diff --git a/pkgs/desktops/xfce/core/thunar.nix b/pkgs/desktops/xfce/core/thunar.nix
deleted file mode 100644
index 83e3a2879d79..000000000000
--- a/pkgs/desktops/xfce/core/thunar.nix
+++ /dev/null
@@ -1,68 +0,0 @@
-{ stdenv, buildEnv, runCommand, makeWrapper, lndir, thunar-bare
-, thunarPlugins ? []
-}:
-
-with stdenv.lib; 
-
-let
-
-  build = thunar-bare;
-
-  replaceLnExeListWithWrapped = exeDir: exeNameList: mkWrapArgs: ''
-    exeDir="${exeDir}"
-    oriDir=`realpath -e "$exeDir"`
-    unlink "$exeDir"
-    mkdir -p "$exeDir"
-    lndir "$oriDir" "$exeDir"
-
-    exeList="${concatStrings (intersperse " " (map (x: "${exeDir}/${x}") exeNameList))}"
-
-    for exe in $exeList; do
-      oriExe=`realpath -e "$exe"`
-      rm -f "$exe"
-      makeWrapper "$oriExe" "$exe" ${concatStrings (intersperse " " mkWrapArgs)}
-    done
-  '';
-
-  name = "${build.p_name}-${build.ver_maj}.${build.ver_min}";
-
-  meta = {
-    inherit (build.meta) homepage license platforms;
-
-    description = build.meta.description + optionalString
-      (0 != length thunarPlugins)
-      " (with plugins: ${concatStrings (intersperse ", " (map (x: x.name) thunarPlugins))})";
-    maintainers = build.meta.maintainers /*++ [ jraygauthier ]*/;
-  };
-
-in
-
-# TODO: To be replaced with `buildEnv` awaiting missing features.
-runCommand name {
-  inherit build;
-  inherit meta;
-
-  nativeBuildInputs = [ makeWrapper lndir ];
-
-  dontPatchELF = true;
-  dontStrip = true;
-
-} 
-(let
-  buildWithPlugins = buildEnv {
-    name = "thunar-bare-with-plugins";
-    paths = [ build ] ++ thunarPlugins;
-  };
-
-in ''
-  mkdir -p $out
-  pushd ${buildWithPlugins} > /dev/null
-  for d in `find . -maxdepth 1 -name "*" -printf "%f\n" | tail -n+2`; do
-    ln -s "${buildWithPlugins}/$d" "$out/$d"
-  done
-  popd > /dev/null
-
-  ${replaceLnExeListWithWrapped "$out/bin" [ "thunar" "thunar-settings" ] [
-    "--set THUNARX_MODULE_DIR \"${buildWithPlugins}/lib/thunarx-2\""
-  ]}
-'')
diff --git a/pkgs/desktops/xfce/core/thunar/default.nix b/pkgs/desktops/xfce/core/thunar/default.nix
new file mode 100644
index 000000000000..11220141d2a0
--- /dev/null
+++ b/pkgs/desktops/xfce/core/thunar/default.nix
@@ -0,0 +1,70 @@
+{ mkXfceDerivation
+, lib
+, docbook_xsl
+, exo
+, gdk-pixbuf
+, gtk3
+, libgudev
+, libnotify
+, libX11
+, libxfce4ui
+, libxfce4util
+, libxslt
+, xfconf
+, gobject-introspection
+, gvfs
+, makeWrapper
+, symlinkJoin
+, thunarPlugins ? []
+}:
+
+let unwrapped = mkXfceDerivation {
+  category = "xfce";
+  pname = "thunar";
+  version = "1.8.9";
+
+  sha256 = "01w60csbs2nq1bhb8n1bnmjmx48fm0va3qbnq84z0h2dxpr80b1w";
+
+  nativeBuildInputs = [
+    docbook_xsl
+    gobject-introspection
+    libxslt
+  ];
+
+  buildInputs = [
+    exo
+    gdk-pixbuf
+    gtk3
+    gvfs
+    libX11
+    libgudev
+    libnotify
+    libxfce4ui
+    libxfce4util
+    xfconf
+  ];
+
+  patches = [
+    ./thunarx_plugins_directory.patch
+  ];
+
+  # the desktop file … is in an insecure location»
+  # which pops up when invoking desktop files that are
+  # symlinks to the /nix/store
+  #
+  # this error was added by this commit:
+  # https://github.com/xfce-mirror/thunar/commit/1ec8ff89ec5a3314fcd6a57f1475654ddecc9875
+  postPatch = ''
+    sed -i -e 's|thunar_dialogs_show_insecure_program (parent, _(".*"), file, exec)|1|' thunar/thunar-file.c
+  '';
+
+  meta = {
+    description = "Xfce file manager";
+  };
+};
+
+in if thunarPlugins == [] then unwrapped
+  else import ./wrapper.nix {
+    inherit makeWrapper symlinkJoin thunarPlugins lib;
+    thunar = unwrapped;
+  }
diff --git a/pkgs/desktops/xfce/core/thunarx_plugins_directory.patch b/pkgs/desktops/xfce/core/thunar/thunarx_plugins_directory.patch
index e1431d86b147..594a81c829ef 100644
--- a/pkgs/desktops/xfce/core/thunarx_plugins_directory.patch
+++ b/pkgs/desktops/xfce/core/thunar/thunarx_plugins_directory.patch
@@ -1,8 +1,8 @@
 diff --git a/thunarx/thunarx-provider-factory.c b/thunarx/thunarx-provider-factory.c
-index 31b8835..a3e7f4e 100644
+index 94b11545..1f66c982 100644
 --- a/thunarx/thunarx-provider-factory.c
 +++ b/thunarx/thunarx-provider-factory.c
-@@ -141,12 +141,19 @@ static GList*
+@@ -150,12 +150,19 @@ static GList*
  thunarx_provider_factory_load_modules (ThunarxProviderFactory *factory)
  {
    ThunarxProviderModule *module;
@@ -24,7 +24,7 @@ index 31b8835..a3e7f4e 100644
      {
        /* determine the types for all existing plugins */
 diff --git a/thunarx/thunarx-provider-module.c b/thunarx/thunarx-provider-module.c
-index 023ad2a..6c21997 100644
+index 023ad2ae..b1d1be8f 100644
 --- a/thunarx/thunarx-provider-module.c
 +++ b/thunarx/thunarx-provider-module.c
 @@ -174,10 +174,17 @@ static gboolean
@@ -33,13 +33,13 @@ index 023ad2a..6c21997 100644
    ThunarxProviderModule *module = THUNARX_PROVIDER_MODULE (type_module);
 +  const gchar           *thunar_dir;
    gchar                 *path;
-+    
+ 
 +  thunar_dir = g_getenv("THUNARX_MODULE_DIR");
 +  if (NULL == thunar_dir)
 +    {
 +      thunar_dir = THUNARX_DIRECTORY;
 +    }
- 
++
    /* load the module using the runtime link editor */
 -  path = g_build_filename (THUNARX_DIRECTORY, type_module->name, NULL);
 +  path = g_build_filename (thunar_dir, type_module->name, NULL);
diff --git a/pkgs/desktops/xfce/core/thunar/wrapper.nix b/pkgs/desktops/xfce/core/thunar/wrapper.nix
new file mode 100644
index 000000000000..cc44e6624571
--- /dev/null
+++ b/pkgs/desktops/xfce/core/thunar/wrapper.nix
@@ -0,0 +1,34 @@
+{ makeWrapper, symlinkJoin, thunar, thunarPlugins, lib }:
+
+symlinkJoin {
+  name = "thunar-with-plugins-${thunar.version}";
+
+  paths = [ thunar ] ++ thunarPlugins;
+
+  buildInputs = [ makeWrapper ];
+
+  postBuild = ''
+    wrapProgram "$out/bin/thunar" \
+      --set "THUNARX_MODULE_DIR" "$out/lib/thunarx-3"
+
+    wrapProgram "$out/bin/thunar-settings" \
+      --set "THUNARX_MODULE_DIR" "$out/lib/thunarx-3"
+
+    for file in "lib/systemd/user/thunar.service" "share/dbus-1/services/org.xfce.FileManager.service" \
+      "share/dbus-1/services/org.xfce.Thunar.FileManager1.service" \
+      "share/dbus-1/services/org.xfce.Thunar.service"
+    do
+      rm -f "$out/$file"
+      substitute "${thunar}/$file" "$out/$file" \
+        --replace "${thunar}" "$out"
+    done
+  '';
+
+   meta = with lib; {
+    inherit (thunar.meta) homepage license platforms maintainers;
+
+    description = thunar.meta.description + optionalString
+      (0 != length thunarPlugins)
+      " (with plugins: ${concatStrings (intersperse ", " (map (x: x.name) thunarPlugins))})";
+  };
+}
diff --git a/pkgs/desktops/xfce/core/tumbler.nix b/pkgs/desktops/xfce/core/tumbler.nix
deleted file mode 100644
index 9087d3a02553..000000000000
--- a/pkgs/desktops/xfce/core/tumbler.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, dbus-glib, gdk-pixbuf, curl, freetype
-, libgsf, poppler, bzip2 }:
-let
-  p_name  = "tumbler";
-  ver_maj = "0.1";
-  ver_min = "31";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0wvip28gm2w061hn84zp2q4dv947ihylrppahn4cjspzff935zfh";
-  };
-
-  outputs = [ "out" "dev" "devdoc" ];
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [
-    intltool dbus-glib gdk-pixbuf curl freetype
-    poppler libgsf bzip2
-  ];
-
-  configureFlags = [
-    # Needs gst-tag
-    # "--enable-gstreamer-thumbnailer"
-
-    # Needs libffmpegthumbnailer
-    # "--enable-ffmpeg-thumbnailer"
-
-    "--enable-odf-thumbnailer"
-    "--enable-poppler-thumbnailer"
-  ];
-
-  meta = with stdenv.lib; {
-    homepage = http://git.xfce.org/xfce/tumbler/;
-    description = "A D-Bus thumbnailer service";
-    platforms = platforms.linux;
-    license = licenses.gpl2;
-  };
-}
-
diff --git a/pkgs/desktops/xfce4-14/tumbler/default.nix b/pkgs/desktops/xfce/core/tumbler/default.nix
index e99551bd8d26..b795007ca7c1 100644
--- a/pkgs/desktops/xfce4-14/tumbler/default.nix
+++ b/pkgs/desktops/xfce/core/tumbler/default.nix
@@ -32,4 +32,8 @@ mkXfceDerivation {
   postFixup = ''
     wrapProgram $out/lib/tumbler-1/tumblerd "''${gappsWrapperArgs[@]}"
   '';
+
+  meta = {
+    description = "A D-Bus thumbnailer service";
+  };
 }
diff --git a/pkgs/desktops/xfce/core/xfce4-appfinder.nix b/pkgs/desktops/xfce/core/xfce4-appfinder.nix
deleted file mode 100644
index d39708dd523f..000000000000
--- a/pkgs/desktops/xfce/core/xfce4-appfinder.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, gtk, libxfce4util
-, libxfce4ui, garcon, xfconf }:
-let
-  p_name  = "xfce4-appfinder";
-  ver_maj = "4.12";
-  ver_min = "0";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0ry5hin8xhgnkmm9vs7jq8blk1cnbyr0s18nm1j6nsm7360abm1a";
-  };
-
-  buildInputs =
-    [ pkgconfig intltool glib gtk libxfce4util libxfce4ui garcon xfconf ];
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    homepage = http://docs.xfce.org/xfce/xfce4-appfinder/;
-    description = "Xfce application finder, a tool to locate and launch programs on your system";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.eelco ];
-  };
-}
-
diff --git a/pkgs/desktops/xfce4-14/xfce4-appfinder/default.nix b/pkgs/desktops/xfce/core/xfce4-appfinder/default.nix
index 6c4af66c8666..cbb444c6c764 100644
--- a/pkgs/desktops/xfce4-14/xfce4-appfinder/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-appfinder/default.nix
@@ -9,4 +9,8 @@ mkXfceDerivation {
 
   nativeBuildInputs = [ exo ];
   buildInputs = [ garcon gtk3 libxfce4ui libxfce4util xfconf ];
+
+  meta = {
+    description = "Appfinder for the Xfce4 Desktop Environment";
+  };
 }
diff --git a/pkgs/desktops/xfce/core/xfce4-dev-tools.nix b/pkgs/desktops/xfce/core/xfce4-dev-tools.nix
deleted file mode 100644
index 109c22f1e58c..000000000000
--- a/pkgs/desktops/xfce/core/xfce4-dev-tools.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, glib, autoconf, automake, libtool, intltool }:
-let
-  p_name  = "xfce4-dev-tools";
-  ver_maj = "4.12";
-  ver_min = "0";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1jxmyp80pwbfgmqmwpjxs7z5dmm6pyf3qj62z20xy44izraadqz2";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib ];
-
-  # not needed to build it but to use it
-  propagatedBuildInputs = [ autoconf automake libtool intltool ];
-
-  meta = {
-    homepage = http://foo-projects.org/~benny/projects/xfce4-dev-tools/;
-    description = "Tools and M4 macros for Xfce4 developers";
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
-
diff --git a/pkgs/desktops/xfce4-14/xfce4-dev-tools/default.nix b/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix
index 38fe82ffb011..38fe82ffb011 100644
--- a/pkgs/desktops/xfce4-14/xfce4-dev-tools/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix
diff --git a/pkgs/desktops/xfce4-14/xfce4-dev-tools/setup-hook.sh b/pkgs/desktops/xfce/core/xfce4-dev-tools/setup-hook.sh
index 600bf47fd872..600bf47fd872 100644
--- a/pkgs/desktops/xfce4-14/xfce4-dev-tools/setup-hook.sh
+++ b/pkgs/desktops/xfce/core/xfce4-dev-tools/setup-hook.sh
diff --git a/pkgs/desktops/xfce/core/xfce4-light-locker.patch b/pkgs/desktops/xfce/core/xfce4-light-locker.patch
deleted file mode 100644
index 0fabdffd7ed6..000000000000
--- a/pkgs/desktops/xfce/core/xfce4-light-locker.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- ./scripts/xflock4.orig	2017-08-06 23:05:53.807688995 +0100
-+++ ./scripts/xflock4	2017-08-06 23:09:06.171789989 +0100
-@@ -24,12 +24,19 @
- PATH=/bin:/usr/bin
- export PATH
- 
--# Lock by xscreensaver or gnome-screensaver, if a respective daemon is running
-+# First test for the command set in the session's xfconf channel
-+LOCK_CMD=$(xfconf-query -c xfce4-session -p /general/LockCommand)
-+
-+# Lock by xscreensaver, gnome-screensaver, or light-locker, if a respective daemon is running
- for lock_cmd in \
-+    "$LOCK_CMD" \
-     "xscreensaver-command -lock" \
--    "gnome-screensaver-command --lock"
-+    "gnome-screensaver-command --lock" \
-+    "light-locker-command -l"
- do
--    $lock_cmd >/dev/null 2>&1 && exit
-+    if [ ! -z "$lock_cmd" ]; then
-+        $lock_cmd >/dev/null 2>&1 && exit
-+    fi
- done
- 
- # else run another access locking utility, if installed
diff --git a/pkgs/desktops/xfce/core/xfce4-panel.nix b/pkgs/desktops/xfce/core/xfce4-panel.nix
deleted file mode 100644
index b8ecae7e4e64..000000000000
--- a/pkgs/desktops/xfce/core/xfce4-panel.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui
-, libxfce4ui_gtk3, libwnck, exo, garcon, xfconf, libstartup_notification
-, makeWrapper, xfce4-mixer, hicolor-icon-theme, tzdata
-, withGtk3 ? false, gtk3, gettext, glib-networking
-}:
-let
-  inherit (stdenv.lib) optional;
-  p_name  = "xfce4-panel";
-  ver_maj = "4.12";
-  ver_min = "2";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1s8cvsrgmkmmm84g6mghpj2k4777gm22g5lrsf8pdy5qh6xql1a2";
-  };
-
-  patches = [ ./xfce4-panel-datadir.patch ];
-  patchFlags = "-p1";
-
-  postPatch = ''
-    for f in $(find . -name \*.sh); do
-      substituteInPlace $f --replace gettext ${gettext}/bin/gettext
-    done
-    substituteInPlace plugins/clock/clock.c \
-       --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" \
-       --replace "if (!g_file_test (filename, G_FILE_TEST_IS_SYMLINK))" ""
-  '';
-
-  outputs = [ "out" "dev" "devdoc" ];
-
-  buildInputs =
-    [ pkgconfig intltool gtk libxfce4util exo libwnck
-      garcon xfconf libstartup_notification makeWrapper hicolor-icon-theme
-    ] ++ xfce4-mixer.gst_plugins
-      ++ optional withGtk3 gtk3;
-
-  propagatedBuildInputs = [ (if withGtk3 then libxfce4ui_gtk3 else libxfce4ui) ];
-
-  configureFlags = optional withGtk3 "--enable-gtk3";
-
-  postInstall = ''
-    wrapProgram "$out/bin/xfce4-panel" \
-      --prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" \
-      --prefix GIO_EXTRA_MODULES : "${glib-networking}/lib/gio/modules"
-  '';
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    homepage = https://www.xfce.org/projects/xfce4-panel;
-    description = "Xfce panel";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.eelco ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-panel/default.nix b/pkgs/desktops/xfce/core/xfce4-panel/default.nix
index c571666e5c4b..f7e500bdf543 100644
--- a/pkgs/desktops/xfce4-14/xfce4-panel/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-panel/default.nix
@@ -10,7 +10,7 @@ mkXfceDerivation {
   nativeBuildInputs = [ gobject-introspection ];
   buildInputs = [ exo garcon gtk2 gtk3 glib glib-networking libxfce4ui libxfce4util libwnck3 xfconf ];
 
-  patches = [ ../../xfce/core/xfce4-panel-datadir.patch ];
+  patches = [ ./xfce4-panel-datadir.patch ];
   patchFlags = "-p1";
 
   postPatch = ''
diff --git a/pkgs/desktops/xfce/core/xfce4-panel-datadir.patch b/pkgs/desktops/xfce/core/xfce4-panel/xfce4-panel-datadir.patch
index ed9df9ef36f3..ed9df9ef36f3 100644
--- a/pkgs/desktops/xfce/core/xfce4-panel-datadir.patch
+++ b/pkgs/desktops/xfce/core/xfce4-panel/xfce4-panel-datadir.patch
diff --git a/pkgs/desktops/xfce/core/xfce4-power-manager.nix b/pkgs/desktops/xfce/core/xfce4-power-manager.nix
deleted file mode 100644
index 266f30645075..000000000000
--- a/pkgs/desktops/xfce/core/xfce4-power-manager.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ stdenv, lib, fetchurl, pkgconfig, intltool, glib, gtk, dbus-glib, upower, xfconf
-, libxfce4ui, libxfce4util, libnotify, xfce4-panel, hicolor-icon-theme
-, withGtk3 ? false, gtk3, libxfce4ui_gtk3, xfce4panel_gtk3 }:
-let
-  p_name  = "xfce4-power-manager";
-  ver_maj = if withGtk3 then "1.6" else "1.4";
-  ver_min = if withGtk3 then "0"   else "4";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 =
-      if withGtk3
-      then "0avzhllpimcn7a6z9aa4jn0zg5ahxr9ks5ldchizycdb0rz1bqxx"
-      else "01rvqy1cif4s8lkidb7hhmsz7d9f2fwcwvc51xycaj3qgsmch3n5";
-  };
-
-  buildInputs =
-    [ pkgconfig intltool glib dbus-glib upower xfconf libxfce4util
-      libnotify hicolor-icon-theme
-    ] ++
-    (if withGtk3
-    then [ gtk3 libxfce4ui_gtk3 xfce4panel_gtk3 ]
-    else [ gtk  libxfce4ui      xfce4-panel      ]);
-
-  postPatch = lib.optionalString withGtk3 ''
-    substituteInPlace configure --replace gio-2.0 gio-unix-2.0
-  '';
-
-  postConfigure = lib.optionalString withGtk3 ''
-    substituteInPlace src/Makefile      --replace "xfce4_power_manager_CFLAGS = "          "xfce4_power_manager_CFLAGS = \$(GIO_CFLAGS) "
-    substituteInPlace settings/Makefile --replace "xfce4_power_manager_settings_CFLAGS = " "xfce4_power_manager_settings_CFLAGS = \$(GIO_CFLAGS) "
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = https://goodies.xfce.org/projects/applications/xfce4-power-manager;
-    description = "A power manager for the Xfce Desktop Environment";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.eelco ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-power-manager/default.nix b/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix
index 985146c82571..fb3f05b36646 100644
--- a/pkgs/desktops/xfce4-14/xfce4-power-manager/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix
@@ -16,4 +16,8 @@ mkXfceDerivation {
     automakeAddFlags src/Makefile.am xfce4_power_manager_CFLAGS GIO_CFLAGS
     automakeAddFlags settings/Makefile.am xfce4_power_manager_settings_CFLAGS GIO_CFLAGS
   '';
+
+  meta = {
+    description = "A power manager for the Xfce Desktop Environment";
+  };
 }
diff --git a/pkgs/desktops/xfce/core/xfce4-session.nix b/pkgs/desktops/xfce/core/xfce4-session.nix
deleted file mode 100644
index b57dd252033f..000000000000
--- a/pkgs/desktops/xfce/core/xfce4-session.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk, polkit
-, libxfce4util, libxfce4ui, xfce4-panel, libwnck, dbus-glib, xfconf, libglade, xorg
-, hicolor-icon-theme
-}:
-
-let
-  p_name  = "xfce4-session";
-  ver_maj = "4.12";
-  ver_min = "1";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "97d7f2a2d0af7f3623b68d1f04091e02913b28f9555dab8b0d26c8a1299d08fd";
-  };
-
-  patches = [
-    # Fix "lock screen" not working for light-locker
-    ./xfce4-light-locker.patch
-  ];
-
-  buildInputs =
-    [ pkgconfig intltool gtk libxfce4util libxfce4ui libwnck dbus-glib
-      xfconf xfce4-panel libglade xorg.iceauth xorg.libSM
-      polkit hicolor-icon-theme
-    ]; #TODO: upower-glib, gconf (assistive?), gnome keyring
-
-  preBuild = ''
-    sed '/^PATH=/d'        -i scripts/xflock4
-    sed '/^export PATH$/d' -i scripts/xflock4
-  '';
-
-  configureFlags = [ "--with-xsession-prefix=$(out)" ];
-
-  meta = with stdenv.lib; {
-    homepage = https://www.xfce.org/projects/xfce4-session;
-    description = "Session manager for Xfce";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.eelco ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-session/default.nix b/pkgs/desktops/xfce/core/xfce4-session/default.nix
index d44cd8b0dd7c..0ab362aa21d0 100644
--- a/pkgs/desktops/xfce4-14/xfce4-session/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-session/default.nix
@@ -1,4 +1,4 @@
-{ mkXfceDerivation, polkit, exo, libxfce4util, libxfce4ui, xfconf, iceauth, gtk3, glib, libwnck3, xorg }:
+{ mkXfceDerivation, polkit, exo, libxfce4util, libxfce4ui, xfconf, iceauth, gtk3, glib, libwnck3, xorg, xfce4-session }:
 
 mkXfceDerivation {
   category = "xfce";
@@ -14,6 +14,8 @@ mkXfceDerivation {
   # See https://github.com/NixOS/nixpkgs/issues/36468
   NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
 
+  passthru.xinitrc = "${xfce4-session}/etc/xdg/xfce4/xinitrc";
+
   meta =  {
     description = "Session manager for Xfce";
   };
diff --git a/pkgs/desktops/xfce/core/xfce4-settings-default-icon-theme.patch b/pkgs/desktops/xfce/core/xfce4-settings-default-icon-theme.patch
deleted file mode 100644
index 2683b3c3dfdd..000000000000
--- a/pkgs/desktops/xfce/core/xfce4-settings-default-icon-theme.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/xfsettingsd/xsettings.xml       2015-02-28 22:32:02.681796319 +0100
-+++ b/xfsettingsd/xsettings.xml       2015-02-28 22:32:27.881214735 +0100
-@@ -7,7 +7,7 @@
- <channel name="xsettings" version="1.0">
-   <property name="Net" type="empty">
-     <property name="ThemeName" type="empty"/>
--    <property name="IconThemeName" type="empty"/>
-+    <property name="IconThemeName" type="string" value="Rodent"/>
-     <property name="DoubleClickTime" type="int" value="400"/>
-     <property name="DoubleClickDistance" type="int" value="5"/>
-     <property name="DndDragThreshold" type="int" value="8"/>
\ No newline at end of file
diff --git a/pkgs/desktops/xfce/core/xfce4-settings.nix b/pkgs/desktops/xfce/core/xfce4-settings.nix
deleted file mode 100644
index 584055c8ddf6..000000000000
--- a/pkgs/desktops/xfce/core/xfce4-settings.nix
+++ /dev/null
@@ -1,54 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, exo, gtk, garcon, libxfce4util
-, libxfce4ui, xfconf, libXi, upower ? null, libnotify ? null
-, libXcursor ? null, xf86inputlibinput ? null, libxklavier ? null }:
-
-let
-  p_name  = "xfce4-settings";
-  ver_maj = "4.12";
-  ver_min = "1";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0x35i1cvkqp0hib1knwa58mckdwrfbhaisz4bsx6bbbx385llj7n";
-  };
-
-  patches = [ ./xfce4-settings-default-icon-theme.patch ];
-
-  postPatch = ''
-    for f in $(find . -name \*.c); do
-      substituteInPlace $f --replace \"libinput-properties.h\" '<xorg/libinput-properties.h>'
-    done
-  '';
-
-  nativeBuildInputs = [ pkgconfig intltool ];
-
-  buildInputs = [
-    exo
-    gtk
-    garcon
-    libxfce4util
-    libxfce4ui
-    xfconf
-    libXi
-    upower
-    libnotify
-    libXcursor
-    xf86inputlibinput
-    libxklavier
-  ];
-
-  configureFlags = [ "--enable-pluggable-dialogs" "--enable-sound-settings" ];
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    homepage = https://www.xfce.org/projects/xfce4-settings;
-    description = "Settings manager for Xfce";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.eelco ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-settings/default.nix b/pkgs/desktops/xfce/core/xfce4-settings/default.nix
index 8cda66359e34..74ab96ed1bcd 100644
--- a/pkgs/desktops/xfce4-14/xfce4-settings/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-settings/default.nix
@@ -33,4 +33,8 @@ mkXfceDerivation {
     "--enable-pluggable-dialogs"
     "--enable-sound-settings"
   ];
+
+  meta = {
+    description = "Settings manager for Xfce";
+  };
 }
diff --git a/pkgs/desktops/xfce/core/xfconf.nix b/pkgs/desktops/xfce/core/xfconf.nix
deleted file mode 100644
index 9af365c6f14d..000000000000
--- a/pkgs/desktops/xfce/core/xfconf.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, libxfce4util, dbus-glib }:
-let
-  p_name  = "xfconf";
-  ver_maj = "4.12";
-  ver_min = "1";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0dns190bwb615wy9ma2654sw4vz1d0rcv061zmaalkv9wmj8bx1m";
-  };
-
-  outputs = [ "out" "dev" "devdoc" ];
-
-  #TODO: no perl bingings yet (ExtUtils::Depends, ExtUtils::PkgConfig, Glib)
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool glib libxfce4util ];
-  propagatedBuildInputs = [ dbus-glib ];
-
-  doCheck = false; # requires dbus daemon
-
-  meta = with stdenv.lib; {
-    homepage = http://docs.xfce.org/xfce/xfconf/start;
-    description = "Simple client-server configuration storage and query system for Xfce";
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfconf/default.nix b/pkgs/desktops/xfce/core/xfconf/default.nix
index a9d6ceaf4695..a0923f0fda1b 100644
--- a/pkgs/desktops/xfce4-14/xfconf/default.nix
+++ b/pkgs/desktops/xfce/core/xfconf/default.nix
@@ -8,4 +8,8 @@ mkXfceDerivation {
   sha256 = "1mbqc1463xgn7gafbh2fyshshdxin33iwk96y4nw2gl48nhx4sgs";
 
   buildInputs = [ libxfce4util ];
+
+  meta = {
+    description = "Simple client-server configuration storage and query system for Xfce";
+  };
 }
diff --git a/pkgs/desktops/xfce/core/xfdesktop.nix b/pkgs/desktops/xfce/core/xfdesktop.nix
deleted file mode 100644
index 091dd03c0bcf..000000000000
--- a/pkgs/desktops/xfce/core/xfdesktop.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui
-, libwnck, xfconf, libglade, xfce4-panel, thunar, exo, garcon, libnotify
-, hicolor-icon-theme }:
-let
-  p_name  = "xfdesktop";
-  ver_maj = "4.12";
-  ver_min = "3";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "a8a8d93744d842ca6ac1f9bd2c8789ee178937bca7e170e5239cbdbef30520ac";
-  };
-
-  buildInputs = [
-    pkgconfig intltool gtk libxfce4util libxfce4ui libwnck xfconf
-    libglade xfce4-panel thunar exo garcon libnotify hicolor-icon-theme
-  ];
-
-  patches = [(fetchpatch {
-    url = https://git.xfce.org/xfce/xfdesktop/patch?id=157f5b55cfc3629d595ef38984278de5915aac27;
-    sha256 = "0ki7hnyfpz7bdmsxqnm9qvyk040iyv1fawnhzfbyyzrh4nc5jd3x";
-  })];
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    homepage = https://www.xfce.org/projects/xfdesktop;
-    description = "Xfce desktop manager";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.eelco ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfdesktop/default.nix b/pkgs/desktops/xfce/core/xfdesktop/default.nix
index afcd0d19dc33..afcd0d19dc33 100644
--- a/pkgs/desktops/xfce4-14/xfdesktop/default.nix
+++ b/pkgs/desktops/xfce/core/xfdesktop/default.nix
diff --git a/pkgs/desktops/xfce/core/xfwm4.nix b/pkgs/desktops/xfce/core/xfwm4.nix
deleted file mode 100644
index d26649ee6ce9..000000000000
--- a/pkgs/desktops/xfce/core/xfwm4.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, gtk, intltool, libglade, libxfce4util
-, libxfce4ui, xfconf, libwnck, libstartup_notification, xorg }:
-let
-  p_name  = "xfwm4";
-  ver_maj = "4.12";
-  ver_min = "4";
-in
-stdenv.mkDerivation rec {
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0dpvdrd5lclkcrzmdpva38gfsgvdf3xkqfknvy96x6k4fn508x7s";
-  };
-
-  buildInputs =
-    [ pkgconfig intltool gtk libglade libxfce4util libxfce4ui xfconf
-      libwnck libstartup_notification
-      xorg.libXcomposite xorg.libXfixes xorg.libXdamage
-    ];
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    homepage = https://www.xfce.org/projects/xfwm4;
-    description = "Window manager for Xfce";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.eelco ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfwm4/default.nix b/pkgs/desktops/xfce/core/xfwm4/default.nix
index 358e99c893f1..2dff3302617c 100644
--- a/pkgs/desktops/xfce4-14/xfwm4/default.nix
+++ b/pkgs/desktops/xfce/core/xfwm4/default.nix
@@ -23,4 +23,8 @@ mkXfceDerivation {
     libXpresent
     xfconf
   ];
+
+  meta = {
+    description = "Window manager for Xfce";
+  };
 }
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index 20d5175fed6f..fa666bb556d0 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -3,91 +3,89 @@
 lib.makeScope pkgs.newScope (self: with self; {
   #### NixOS support
 
-  inherit (pkgs.gnome2) libglade vte gtksourceview;
-  inherit (pkgs.gnome3) dconf;
-  inherit (pkgs.perlPackages) URI;
+  mkXfceDerivation = callPackage ./mkXfceDerivation.nix { };
 
-  gtk = pkgs.gtk2;
+  automakeAddFlags = pkgs.makeSetupHook { } ./automakeAddFlags.sh;
 
   # Samba is a rather heavy dependency
   gvfs = pkgs.gvfs.override { samba = null; };
 
-  xinitrc = "${xfce4-session}/etc/xdg/xfce4/xinitrc";
-
   #### CORE
 
-  exo = callPackage ./core/exo.nix { };
-
-  garcon = callPackage ./core/garcon.nix { };
-
-  # When built with GTK 3, it was breaking GTK 3 app layout
-  gtk-xfce-engine = callPackage ./core/gtk-xfce-engine.nix { withGtk3 = false; };
+  exo = callPackage ./core/exo { };
 
-  libxfce4ui = callPackage ./core/libxfce4ui.nix { };
+  garcon = callPackage ./core/garcon { };
 
-  libxfce4util = callPackage ./core/libxfce4util.nix { };
+  libxfce4ui = callPackage ./core/libxfce4ui { };
 
-  libxfcegui4 = callPackage ./core/libxfcegui4.nix { };
+  libxfce4util = callPackage ./core/libxfce4util { };
 
-  thunar-bare = callPackage ./core/thunar-build.nix { };
+  thunar = callPackage ./core/thunar {
+    thunarPlugins = [];
+  };
 
-  thunar = callPackage ./core/thunar.nix { };
-
-  # NB: thunar already has it
-  thunar-volman = callPackage ./core/thunar-volman.nix { };
+  thunar-volman = callPackage ./core/thunar-volman { };
 
   thunar-archive-plugin = callPackage ./thunar-plugins/archive { };
 
   thunar-dropbox-plugin = callPackage ./thunar-plugins/dropbox { };
 
-  tumbler = callPackage ./core/tumbler.nix { };
+  tumbler = callPackage ./core/tumbler { };
 
-  # TODO: impure plugins from /run/current-system/sw/lib/xfce4
-  xfce4-panel = callPackage ./core/xfce4-panel.nix { };
+  xfce4-panel = callPackage ./core/xfce4-panel { };
 
-  xfce4-session = callPackage ./core/xfce4-session.nix { };
+  xfce4-session = callPackage ./core/xfce4-session { };
 
-  xfce4-settings = callPackage ./core/xfce4-settings.nix { };
+  xfce4-settings = callPackage ./core/xfce4-settings { };
 
-  xfce4-power-manager = callPackage ./core/xfce4-power-manager.nix { };
+  xfce4-power-manager = callPackage ./core/xfce4-power-manager { };
 
-  xfconf = callPackage ./core/xfconf.nix { };
+  xfconf = callPackage ./core/xfconf { };
 
-  xfdesktop = callPackage ./core/xfdesktop.nix { };
+  xfdesktop = callPackage ./core/xfdesktop { };
 
-  xfwm4 = callPackage ./core/xfwm4.nix { };
+  xfwm4 = callPackage ./core/xfwm4 { };
 
-  xfce4-appfinder = callPackage ./core/xfce4-appfinder.nix { };
+  xfce4-appfinder = callPackage ./core/xfce4-appfinder { };
 
-  xfce4-dev-tools = callPackage ./core/xfce4-dev-tools.nix { };
+  xfce4-dev-tools = callPackage ./core/xfce4-dev-tools {
+    mkXfceDerivation = mkXfceDerivation.override {
+      xfce4-dev-tools = null;
+    };
+  };
 
   #### APPLICATIONS
 
-  gigolo = callPackage ./applications/gigolo.nix { };
+  gigolo = callPackage ./applications/gigolo { };
+
+  mousepad = callPackage ./applications/mousepad { };
 
-  mousepad = callPackage ./applications/mousepad.nix { };
+  orage = callPackage ./applications/orage { };
 
-  orage = callPackage ./applications/orage.nix { };
+  parole = callPackage ./applications/parole { };
 
-  parole = callPackage ./applications/parole.nix { };
+  ristretto = callPackage ./applications/ristretto { };
 
-  ristretto = callPackage ./applications/ristretto.nix { };
+  xfce4-taskmanager = callPackage ./applications/xfce4-taskmanager { };
 
-  xfce4-mixer = callPackage ./applications/xfce4-mixer.nix { };
+  xfce4-dict = callPackage ./applications/xfce4-dict { };
 
-  xfce4-mixer-pulse = callPackage ./applications/xfce4-mixer.nix { pulseaudioSupport = true; };
+  xfce4-terminal = callPackage ./applications/xfce4-terminal { };
 
-  xfce4-notifyd = callPackage ./applications/xfce4-notifyd.nix { };
+  xfce4-screenshooter = callPackage ./applications/xfce4-screenshooter {
+    inherit (pkgs.gnome3) libsoup;
+  };
 
-  xfce4-taskmanager = callPackage ./applications/xfce4-taskmanager.nix { };
+  xfdashbooard = callPackage ./applications/xfdashboard {};
 
-  xfce4-terminal = callPackage ./applications/terminal.nix { };
+  # TODO: this repo is inactive for many years. Remove?
+  xfce4-volumed = callPackage ./applications/xfce4-volumed { };
 
-  xfce4-screenshooter = callPackage ./applications/xfce4-screenshooter.nix { };
+  xfce4-volumed-pulse = callPackage ./applications/xfce4-volumed-pulse { };
 
-  xfce4-volumed = callPackage ./applications/xfce4-volumed.nix { };
+  xfce4-notifyd = callPackage ./applications/xfce4-notifyd { };
 
-  xfce4-volumed-pulse = callPackage ./applications/xfce4-volumed-pulse.nix { };
+  xfburn = callPackage ./applications/xfburn { };
 
   #### ART
 
@@ -99,15 +97,15 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   xfce4-vala-panel-appmenu-plugin = callPackage ./panel-plugins/xfce4-vala-panel-appmenu-plugin { };
 
-  xfce4-battery-plugin = callPackage ./panel-plugins/xfce4-battery-plugin.nix { };
+  xfce4-battery-plugin = callPackage ./panel-plugins/xfce4-battery-plugin { };
 
-  xfce4-clipman-plugin = callPackage ./panel-plugins/xfce4-clipman-plugin.nix { };
+  xfce4-clipman-plugin = callPackage ./panel-plugins/xfce4-clipman-plugin { };
 
-  xfce4-cpufreq-plugin = callPackage ./panel-plugins/xfce4-cpufreq-plugin.nix { };
+  xfce4-cpufreq-plugin = callPackage ./panel-plugins/xfce4-cpufreq-plugin { };
 
   xfce4-cpugraph-plugin = callPackage ./panel-plugins/xfce4-cpugraph-plugin.nix { };
 
-  xfce4-datetime-plugin = callPackage ./panel-plugins/xfce4-datetime-plugin.nix { };
+  xfce4-datetime-plugin = callPackage ./panel-plugins/xfce4-datetime-plugin { };
 
   xfce4-dict-plugin = callPackage ./panel-plugins/xfce4-dict-plugin.nix { };
 
@@ -125,7 +123,7 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   xfce4-namebar-plugin = callPackage ./panel-plugins/xfce4-namebar-plugin.nix { };
 
-  xfce4-netload-plugin = callPackage ./panel-plugins/xfce4-netload-plugin.nix { };
+  xfce4-netload-plugin = callPackage ./panel-plugins/xfce4-netload-plugin { };
 
   xfce4-notes-plugin = callPackage ./panel-plugins/xfce4-notes-plugin.nix { };
 
@@ -141,23 +139,15 @@ lib.makeScope pkgs.newScope (self: with self; {
 
   xfce4-verve-plugin = callPackage ./panel-plugins/xfce4-verve-plugin.nix { };
 
-  xfce4-xkb-plugin = callPackage ./panel-plugins/xfce4-xkb-plugin.nix { };
+  xfce4-xkb-plugin = callPackage ./panel-plugins/xfce4-xkb-plugin { };
 
   xfce4-weather-plugin = callPackage ./panel-plugins/xfce4-weather-plugin.nix { };
 
-  xfce4-whiskermenu-plugin = callPackage ./panel-plugins/xfce4-whiskermenu-plugin.nix { };
+  xfce4-whiskermenu-plugin = callPackage ./panel-plugins/xfce4-whiskermenu-plugin { };
 
   xfce4-windowck-plugin = callPackage ./panel-plugins/xfce4-windowck-plugin.nix { };
 
-  xfce4-pulseaudio-plugin = callPackage ./panel-plugins/xfce4-pulseaudio-plugin.nix { };
-
-  #### GTK3 (deprecated, see NixOS/nixpkgs#32763)
-
-  libxfce4ui_gtk3 = libxfce4ui.override { withGtk3 = true; };
-
-  xfce4panel_gtk3 = xfce4-panel.override { withGtk3 = true; };
-
-  xfce4_power_manager_gtk3 = xfce4-power-manager.override { withGtk3 = true; };
+  xfce4-pulseaudio-plugin = callPackage ./panel-plugins/xfce4-pulseaudio-plugin { };
 
 } // lib.optionalAttrs (config.allowAliases or true) {
   #### ALIASES - added 2018-01
@@ -208,4 +198,24 @@ lib.makeScope pkgs.newScope (self: with self; {
   xfce4_whiskermenu_plugin = xfce4-whiskermenu-plugin;
   xfce4_windowck_plugin = xfce4-windowck-plugin;
   xfce4_pulseaudio_plugin = xfce4-pulseaudio-plugin;
+
+  xfce4-mixer = throw "deprecated 2019-08-18: obsoleted by xfce4-pulseaudio-plugin"; # added 2019-08-18
+  gtk-xfce-engine = throw "deprecated 2019-09-17: Xfce 4.14 deprecated gtk-xfce-engine"; # added 2019-09-17
+
+  # added 2019-11-04
+  libxfce4ui_gtk3 = libxfce4ui;
+  xfce4panel_gtk3 = xfce4-panel;
+  xfce4_power_manager_gtk3 = xfce4-power-manager;
+  gtk = pkgs.gtk2;
+  libxfcegui4 = throw "libxfcegui4 is the deprecated Xfce GUI library. It has been superseded by the libxfce4ui library";
+  xinitrc = xfce4-session.xinitrc;
+  inherit (pkgs.gnome2) libglade;
+  inherit (pkgs.gnome3) vte gtksourceview;
+  xfce4-mixer-pulse = xfce4-mixer;
+  thunar-bare = thunar.override {
+    thunarPlugins = [];
+  };
+
+  # added 2019-11-30
+  inherit (pkgs) dconf;
 })
diff --git a/pkgs/desktops/xfce4-14/mkXfceDerivation.nix b/pkgs/desktops/xfce/mkXfceDerivation.nix
index b7dc83225696..b7dc83225696 100644
--- a/pkgs/desktops/xfce4-14/mkXfceDerivation.nix
+++ b/pkgs/desktops/xfce/mkXfceDerivation.nix
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin.nix
deleted file mode 100644
index 6399aa3cc20d..000000000000
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk, hicolor-icon-theme }:
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-battery-plugin";
-  ver_maj = "1.0";
-  ver_min = "5";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "04gbplcj8z4vg5xbks8cc2jjf62mmf9sdymg90scjwmb82pv2ngn";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk hicolor-icon-theme ];
-
-  meta = {
-    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
-    description = "Battery plugin for Xfce panel";
-    platforms = platforms.linux;
-    maintainers = [ maintainers.AndersonTorres ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-battery-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix
index 376551b09c0f..3966e256b160 100644
--- a/pkgs/desktops/xfce4-14/xfce4-battery-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix
@@ -8,4 +8,8 @@ mkXfceDerivation rec {
   sha256 = "0329miiclc8da6j0sz495p99hyrf9fjhvpmdl0556fphybz5agc0";
 
   buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ];
+
+  meta = {
+    description = "Battery plugin for Xfce panel";
+  };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin.nix
deleted file mode 100644
index 280f39f8d997..000000000000
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, exo, libXtst, xorgproto, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk, hicolor-icon-theme }:
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-clipman-plugin";
-  ver_maj = "1.2";
-  ver_min = "6";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "19a8gwcqc0r5qqi8w28dc8arqip34m8yxdb87lgps9g5qfcky113";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool glib exo libXtst xorgproto libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk hicolor-icon-theme ];
-
-  meta = {
-    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
-    description = "Clipboard manager for Xfce panel";
-    platforms = platforms.linux;
-    maintainers = [ maintainers.AndersonTorres ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-clipman-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix
index 74628a325d41..bd1a3b5e5e35 100644
--- a/pkgs/desktops/xfce4-14/xfce4-clipman-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix
@@ -8,4 +8,8 @@ mkXfceDerivation rec {
   sha256 = "1xk79xh1zk0x4r1z9m1dakp79pip0zh3naviybvl1dnpwwfc03gq";
 
   buildInputs = [ exo gtk3 libXtst libxfce4ui libxfce4util xfce4-panel xfconf ];
+
+  meta = {
+    description = "Clipboard manager for Xfce panel";
+  };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix
deleted file mode 100644
index 07838f8fe7c9..000000000000
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk, hicolor-icon-theme }:
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-cpufreq-plugin";
-  ver_maj = "1.1";
-  ver_min = "3";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0crd21l5cw0xgm6w7s049xa36k203yx7l56ssnah9nq1w73n58bl";
-  };
-
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [ pkgconfig intltool ];
-
-  buildInputs = [ libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk hicolor-icon-theme ];
-
-  enableParallelBuilding = true;
-
-  meta = {
-    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
-    description = "CPU Freq load plugin for Xfce panel";
-    license = [ licenses.gpl2Plus ];
-    platforms = platforms.linux;
-    maintainers = [ maintainers.AndersonTorres ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-cpufreq-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix
index 22793963df3d..3798edbf89dc 100644
--- a/pkgs/desktops/xfce4-14/xfce4-cpufreq-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix
@@ -7,4 +7,8 @@ mkXfceDerivation {
   sha256 = "1p7c4g3yfc19ksdckxpzq1q35jvplh5g55299cvv0afhdb5l8zhv";
 
   buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ];
+
+  meta = {
+    description = "CPU Freq load plugin for Xfce panel";
+  };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix
index e088e74cfb1c..ef7f7e580206 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, glib, exo, libXtst, xorgproto, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk, hicolor-icon-theme }:
+{ stdenv, fetchurl, pkgconfig, intltool, glib, exo, libXtst, xorgproto, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2, hicolor-icon-theme }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool glib exo libXtst xorgproto libxfce4util libxfce4ui xfce4-panel xfconf gtk hicolor-icon-theme ];
+  buildInputs = [ intltool glib exo libXtst xorgproto libxfce4util libxfce4ui xfce4-panel xfconf gtk2 hicolor-icon-theme ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix
deleted file mode 100644
index c63170100312..000000000000
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, libxfcegui4, xfce4-panel
-, gtk }:
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-datetime-plugin";
-  ver_maj = "0.6";
-  ver_min = "2";
-
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "0b4yril07qgkmywjym1qp12r4g35bnh96879zbjps7cd3rkxld4p";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfcegui4 xfce4-panel gtk ];
-
-  meta = {
-    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
-    description = "Shows the date and time in the panel, and a calendar appears when you left-click on it";
-    platforms = platforms.linux;
-    maintainers = [ maintainers.AndersonTorres ];
-  };
-}
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix
new file mode 100644
index 000000000000..3cfb010b12da
--- /dev/null
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix
@@ -0,0 +1,34 @@
+{ mkXfceDerivation
+, stdenv
+, intltool
+, libxfce4ui
+, xfce4-panel
+, gtk3
+, gettext
+}:
+
+mkXfceDerivation rec {
+  category = "panel-plugins";
+  pname = "xfce4-datetime-plugin";
+  version = "0.8.0";
+
+  rev = "datetime-${version}";
+
+  sha256 = "12drh7y70d70r93lpv43fkj5cbyl0vciz4a41nxrknrfbhxrvyah";
+
+  nativeBuildInputs = [
+    gettext
+    intltool
+  ];
+
+  buildInputs = [
+    gtk3
+    libxfce4ui
+    xfce4-panel
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Shows the date and time in the panel, and a calendar appears when you left-click on it";
+    maintainers = [ maintainers.AndersonTorres ];
+  };
+}
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix
index 8210fc62ccb4..0b31bac8d54b 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-dict-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2}:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk ];
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix
index 3a79f67068c8..03e5a2229672 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2}:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,12 +13,13 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk ];
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
     description = "Eyes following you!";
     platforms = platforms.linux;
     maintainers = [ maintainers.AndersonTorres ];
+    broken = true;
   };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix
index 6d0f8ee73a4c..ee663aa71ca8 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2}:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,12 +13,13 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk ];
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
     description = "Filesystem monitor";
     platforms = platforms.linux;
     maintainers = [ maintainers.AndersonTorres ];
+    broken = true;
   };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix
index 039ac1440947..193d27af98a3 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk}:
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2}:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,12 +13,13 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk ];
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
     description = "Cyclically spawns a command and captures its output";
     platforms = platforms.linux;
     maintainers = [ maintainers.AndersonTorres ];
+    broken = true;
   };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix
index 541b30ec1b3d..e9d2eb590be9 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui,
-libxfcegui4, xfconf, gtk, exo, gnutls, libgcrypt }:
+ xfconf, gtk2, exo, gnutls, libgcrypt }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -15,12 +15,13 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel
-    libxfcegui4 xfconf gtk exo gnutls libgcrypt ];
+    xfconf gtk2 exo gnutls libgcrypt ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
     description = "Mailwatch plugin for Xfce panel";
     platforms = platforms.linux;
     maintainers = [ ];
+    broken = true;
   };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix
index 5331c29a4546..b909540144ae 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui,
-libxfcegui4, xfconf, gtk, exo }:
+ xfconf, gtk2, exo }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -15,12 +15,13 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel
-    libxfcegui4 xfconf gtk exo ];
+    xfconf gtk2 exo ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
     description = "MPD plugin for Xfce panel";
     platforms = platforms.linux;
     maintainers = [ ];
+    broken = true;
   };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin.nix
deleted file mode 100644
index e82669cc1a35..000000000000
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk, hicolor-icon-theme }:
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-netload-plugin";
-  ver_maj = "1.2";
-  ver_min = "4";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "1lrhhzxmybcfl52hnadr2dvasis9wmk6a48pcy02s09ch8cfkb7z";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk hicolor-icon-theme ];
-
-  meta = {
-    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
-    description = "Battery plugin for Xfce panel";
-    platforms = platforms.linux;
-    maintainers = [ maintainers.AndersonTorres ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-netload-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix
index d9f517981d3e..d774649b5369 100644
--- a/pkgs/desktops/xfce4-14/xfce4-netload-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix
@@ -8,4 +8,8 @@ mkXfceDerivation rec {
   sha256 = "0nm8advafw4jpc9p1qszyfqa56194sz51z216rdh4c6ilcrrpy1h";
 
   buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ];
+
+  meta = {
+    description = "Battery plugin for Xfce panel";
+  };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix
index d61dae6bdd56..2876c1b1f7d8 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, libxfcegui4, xfconf, gtk, libunique }:
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2, libunique }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf gtk libunique ];
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf gtk2 libunique ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin.nix
deleted file mode 100644
index 6f6f5699b6e9..000000000000
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4panel_gtk3, xfconf
-, gtk3, libpulseaudio, hicolor-icon-theme
-, withKeybinder ? true, keybinder3
-, withLibnotify ? true, libnotify
-}:
-
-assert withKeybinder -> keybinder3 != null;
-assert withLibnotify -> libnotify != null;
-
-with stdenv.lib;
-
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-pulseaudio-plugin";
-  ver_maj = "0.2";
-  ver_min = "3";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "e82836bc8cf7d905b4e60d43dc630ba8e32dea785989700c71d4aeee9f583b33";
-  };
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  nativeBuildInputs = [ pkgconfig intltool ];
-  buildInputs = [ libxfce4util xfce4panel_gtk3 xfconf gtk3 libpulseaudio hicolor-icon-theme ]
-    ++ optional withKeybinder keybinder3
-    ++ optional withLibnotify libnotify;
-
-  meta = {
-    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
-    description = "Adjust the audio volume of the PulseAudio sound system";
-    platforms = platforms.linux;
-    maintainers = [ ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-pulseaudio-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix
index 6fca6069d1e8..59f282d74117 100644
--- a/pkgs/desktops/xfce4-14/xfce4-pulseaudio-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix
@@ -16,4 +16,8 @@ mkXfceDerivation {
   '';
 
   buildInputs = [ gtk3 libnotify libpulseaudio libxfce4ui libxfce4util xfce4-panel xfconf ];
+
+  meta = {
+    description = "Adjust the audio volume of the PulseAudio sound system";
+  };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin.nix
index 5a4dfee76fc4..2e7233e6cdb0 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gnome2, libxfce4ui,
+{ stdenv, fetchurl, pkgconfig, intltool, gtk2, libxfce4ui,
   libxfce4util, xfce4-panel, libnotify, lm_sensors, hddtemp, netcat-gnu
 }:
 
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gnome2.gtk
+    gtk2
     libxfce4ui
     libxfce4util
     xfce4-panel
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix
index 698d4aae5328..5575962ab77e 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, gtk}:
+{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel, libxfce4ui, gtk2}:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel gtk ];
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel gtk2 ];
 
   meta = {
     homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix
index 57cd48c6f270..4eddfe8df574 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, intltool, libxfce4util, xfce4-panel
-, libxfce4ui, libxfcegui4, xfconf, gtk, hicolor-icon-theme }:
+, libxfce4ui, xfconf, gtk2, hicolor-icon-theme }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
   };
   name = "${p_name}-${ver_maj}.${ver_min}";
 
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel libxfcegui4 xfconf
-    gtk hicolor-icon-theme ];
+  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel xfconf
+    gtk2 hicolor-icon-theme ];
 
   nativeBuildInputs = [ pkgconfig ];
 
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license = licenses.gpl2;
     maintainers = [ ];
+    broken = true;
   };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix
index 96ef08cbeb70..c9e5c8befbbb 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, intltool, glib, exo, pcre
-, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk }:
+, libxfce4util, xfce4-panel, libxfce4ui, xfconf, gtk2 }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   name = "${p_name}-${ver_maj}.${ver_min}";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool glib exo pcre libxfce4util libxfce4ui xfce4-panel xfconf gtk ];
+  buildInputs = [ intltool glib exo pcre libxfce4util libxfce4ui xfce4-panel xfconf gtk2 ];
 
   hardeningDisable = [ "format" ];
 
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix
index 15cd526d6def..5ab311ef16f7 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk, libxml2, libsoup, upower,
+{ stdenv, fetchurl, pkgconfig, intltool, gtk2, libxml2, libsoup, upower,
 libxfce4ui, libxfce4util, xfce4-panel, hicolor-icon-theme }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig intltool ];
 
-  buildInputs = [ gtk libxml2 libsoup upower libxfce4ui libxfce4util
+  buildInputs = [ gtk2 libxml2 libsoup upower libxfce4ui libxfce4util
    xfce4-panel hicolor-icon-theme ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix
deleted file mode 100644
index c29758452ae6..000000000000
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, intltool, libxfce4util, libxfcegui4
-, xfce4-panel, gtk, exo, garcon }:
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-whiskermenu-plugin";
-  version = "1.7.2";
-
-  name = "${p_name}-${version}";
-
-  src = fetchFromGitHub {
-    owner = "gottcode";
-    repo = "xfce4-whiskermenu-plugin";
-    rev = "v${version}";
-    sha256 = "1rpazgnjp443abc31bgi6gp9q3sgbg13v7v74nn7vf6kl4v725ah";
-  };
-
-  nativeBuildInputs = [ cmake pkgconfig intltool ];
-
-  buildInputs = [ libxfce4util libxfcegui4 xfce4-panel gtk exo garcon ];
-
-  enableParallelBuilding = true;
-
-  preFixup = ''
-    substituteInPlace $out/bin/xfce4-popup-whiskermenu \
-      --replace $out/bin/xfce4-panel ${xfce4-panel.out}/bin/xfce4-panel
-  '';
-
-  meta = {
-    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
-    description = "Alternate application launcher for Xfce";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.pjbarnoy ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-whiskermenu-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix
index f943f2ab333a..ef47d37e5efd 100644
--- a/pkgs/desktops/xfce4-14/xfce4-whiskermenu-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix
@@ -15,4 +15,8 @@ mkXfceDerivation rec {
     substituteInPlace $out/bin/xfce4-popup-whiskermenu \
       --replace $out/bin/xfce4-panel ${xfce4-panel.out}/bin/xfce4-panel
   '';
+
+  meta = {
+    description = "Alternate application launcher for Xfce";
+  };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix
deleted file mode 100644
index 307d2e81bf24..000000000000
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, intltool, libxfce4util, libxfce4ui, xfce4-panel
-, garcon, gtk, libxklavier, librsvg, libwnck
-}:
-
-with stdenv.lib;
-stdenv.mkDerivation rec {
-  p_name  = "xfce4-xkb-plugin";
-  ver_maj = "0.7";
-  ver_min = "1";
-
-  name = "${p_name}-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://xfce/src/panel-plugins/${p_name}/${ver_maj}/${name}.tar.bz2";
-    sha256 = "10g65j5ia389ahhn3b9hr52ghpp0817fk0m60rfrv4wrzqrjxzk1";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ intltool libxfce4util libxfce4ui xfce4-panel garcon
-    gtk libxklavier librsvg libwnck  ];
-
-  meta = {
-    homepage = "http://goodies.xfce.org/projects/panel-plugins/${p_name}";
-    description = "Allows you to setup and use multiple keyboard layouts";
-    platforms = platforms.linux;
-    maintainers = [ maintainers.AndersonTorres ];
-  };
-}
diff --git a/pkgs/desktops/xfce4-14/xfce4-xkb-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix
index a024d3a88ba0..4497a7b0e36a 100644
--- a/pkgs/desktops/xfce4-14/xfce4-xkb-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix
@@ -1,4 +1,4 @@
-{ mkXfceDerivation, gtk3, librsvg, libwnck3, libxklavier, garcon, libxfce4ui, libxfce4util, xfce4-panel, xfconf }:
+{ lib, mkXfceDerivation, gtk3, librsvg, libwnck3, libxklavier, garcon, libxfce4ui, libxfce4util, xfce4-panel, xfconf }:
 
 mkXfceDerivation rec {
   category = "panel-plugins";
@@ -8,4 +8,9 @@ mkXfceDerivation rec {
   sha256 = "1gyky4raynp2ggdnq0g96c6646fjm679fzipcsmf1q0aymr8d5ky";
 
   buildInputs = [ garcon gtk3 librsvg libxfce4ui libxfce4util libxklavier libwnck3 xfce4-panel xfconf ];
+
+  meta = with lib; {
+    description = "Allows you to setup and use multiple keyboard layouts";
+    maintainers = [ maintainers.AndersonTorres ];
+  };
 }
diff --git a/pkgs/desktops/xfce/thunar-plugins/archive/default.nix b/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
index ea3a0f084439..e3c72d3b50e2 100644
--- a/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
+++ b/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
@@ -1,57 +1,38 @@
-{ stdenv, fetchFromGitHub, pkgconfig, xfce4-dev-tools
-, gtk
-, thunar-bare
-, exo, libxfce4util, libxfce4ui
-, xfconf, udev, libnotify, hicolor-icon-theme
+{ stdenv
+, mkXfceDerivation
+, fetchFromGitHub
+, gtk3
+, thunar
+, exo
+, libxfce4util
+, intltool
+, gettext
 }:
 
-stdenv.mkDerivation rec {
-  p_name  = "thunar-archive-plugin";
-  ver_maj = "0.3";
-  ver_min = "1";
-  name = "${p_name}-${ver_maj}.${ver_min}";
+mkXfceDerivation rec {
+  category = "thunar-plugins";
+  pname  = "thunar-archive-plugin";
+  version = "0.4.0";
 
-  src = fetchFromGitHub {
-    owner = "xfce-mirror";
-    repo = p_name;
-    rev = "72b23eefc348bee31e06a04f968e430bc7dfa51e";
-    sha256 = "0l8715x23qmk0jkywiza3qx0xxmafxi4grp7p82kkc5df5ccs8kx";
-  };
+  sha256 = "1793zicm00fail4iknliwy2b668j239ndxhc9hy6jarvdyp08h38";
+
+  nativeBuildInputs = [
+    intltool
+    gettext
+  ];
 
-  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    xfce4-dev-tools
-    thunar-bare
-    exo gtk libxfce4util libxfce4ui
-    xfconf udev libnotify hicolor-icon-theme
+    thunar
+    exo
+    gtk3
+    libxfce4util
   ];
 
   preConfigure = ''
     ./autogen.sh
   '';
 
-  /*
-    File roller `*.desktop` situation
-    ---------------------------------
-
-    For some odd reason, in nix os, gnome file-roller's desktop file has the non-standard name
-    `org.gnome.FileRoller.desktop`. In order to be compatible with this odd context, create
-    a `*.tap` file of the same name.
-
-    IMPORTANT: Adapt or remove the symbolic link if the situation changes.
-  */
-  preFixup = ''
-    pushd $out/libexec/thunar-archive-plugin > /dev/null
-    ln -s ./file-roller.tap org.gnome.FileRoller.tap
-    popd > /dev/null
-  '';
-
-  enableParallelBuilding = true;
-
   meta = with stdenv.lib; {
-    homepage = http://foo-projects.org/~benny/projects/thunar-archive-plugin/;
     description = "Thunar plugin providing file context menus for archives";
-    license = licenses.gpl2Plus;
-    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix b/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
index 217cecf85a8c..8674c586552c 100644
--- a/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
+++ b/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
@@ -1,31 +1,39 @@
-{ stdenv, fetchurl, pkgconfig
-, gtk
-, thunar-bare, python2, hicolor-icon-theme
-, wafHook
+{ stdenv
+, fetchFromGitHub
+, pkgconfig
+, gtk3
+, thunar
+, cmake
+, ninja
 }:
 
 stdenv.mkDerivation rec {
-  p_name  = "thunar-dropbox-plugin";
-  ver_maj = "0.2";
-  ver_min = "1";
-  name = "${p_name}-${ver_maj}.${ver_min}";
+  pname  = "thunar-dropbox";
+  version = "0.3.1";
 
-  src = fetchurl {
-    url = "http://softwarebakery.com/maato/files/thunar-dropbox/thunar-dropbox-${ver_maj}.${ver_min}.tar.bz2";
-    sha256 = "08vhzzzwshyz371yl7fzfylmhvchhv3s5kml3dva4v39jhvrpnkf";
+  src = fetchFromGitHub {
+    owner = "Jeinzi";
+    repo = "thunar-dropbox";
+    rev = version;
+    sha256 = "1fshjvh542ffa8npfxv3cassgn6jclb2ix9ir997y4k0abzp1fxb";
   };
 
-  nativeBuildInputs = [ pkgconfig wafHook ];
+  nativeBuildInputs = [
+    pkgconfig
+    cmake
+    ninja
+  ];
+
   buildInputs = [
-    gtk
-    thunar-bare python2 hicolor-icon-theme
+    thunar
+    gtk3
   ];
 
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = http://softwarebakery.com/maato/thunar-dropbox.html;
-    description = "A plugin for thunar that adds context-menu items from dropbox";
+    homepage = "https://github.com/Jeinzi/thunar-dropbox";
+    description = "A plugin that adds context-menu items for Dropbox to Thunar";
     license = licenses.gpl3;
     platforms = platforms.linux;
   };
diff --git a/pkgs/desktops/xfce4-14/default.nix b/pkgs/desktops/xfce4-14/default.nix
deleted file mode 100644
index 0e2c8c1696b2..000000000000
--- a/pkgs/desktops/xfce4-14/default.nix
+++ /dev/null
@@ -1,116 +0,0 @@
-{ lib, makeSetupHook, newScope, gnome3, gst_all_1 }:
-
-let
-  inherit (lib) makeScope;
-in
-
-makeScope newScope (self: with self; {
-  mkXfceDerivation = callPackage ./mkXfceDerivation.nix { };
-
-  automakeAddFlags = makeSetupHook { } ./automakeAddFlags.sh;
-
-  exo = callPackage ./exo { };
-
-  garcon = callPackage ./garcon { };
-
-  gigolo = callPackage ./gigolo { };
-
-  libxfce4util = callPackage ./libxfce4util { };
-
-  libxfce4ui = callPackage ./libxfce4ui { };
-
-  mousepad = callPackage ./mousepad { };
-
-  orage = callPackage ./orage { };
-
-  parole = callPackage ./parole {
-    inherit (gst_all_1) gst-plugins-bad gst-plugins-base gst-plugins-good;
-    gst-plugins-ugly = null;
-  };
-
-  ristretto = callPackage ./ristretto { };
-
-  thunar = callPackage ./thunar { };
-
-  thunar-volman = callPackage ./thunar-volman { };
-
-  tumbler = callPackage ./tumbler { };
-
-  xfburn = callPackage ./xfburn { };
-
-  xfconf = callPackage ./xfconf { };
-
-  xfdesktop = callPackage ./xfdesktop { };
-
-  xfce4-appfinder = callPackage ./xfce4-appfinder { };
-
-  xfce4-battery-plugin = callPackage ./xfce4-battery-plugin { };
-
-  xfce4-cpufreq-plugin = callPackage ./xfce4-cpufreq-plugin { };
-
-  xfce4-clipman-plugin = callPackage ./xfce4-clipman-plugin { };
-
-  xfce4-dev-tools = callPackage ./xfce4-dev-tools {
-    mkXfceDerivation = mkXfceDerivation.override {
-      xfce4-dev-tools = null;
-    };
-  };
-
-  xfce4-dict = callPackage ./xfce4-dict { };
-
-  xfce4-netload-plugin = callPackage ./xfce4-netload-plugin { };
-
-  xfce4-notifyd = callPackage ./xfce4-notifyd { };
-
-  xfce4-panel = callPackage ./xfce4-panel { };
-
-  xfce4-power-manager = callPackage ./xfce4-power-manager { };
-
-  xfce4-pulseaudio-plugin = callPackage ./xfce4-pulseaudio-plugin { };
-
-  xfce4-screenshooter = callPackage ./xfce4-screenshooter {
-    inherit (gnome3) libsoup;
-  };
-
-  xfce4-session = callPackage ./xfce4-session { };
-  xinitrc = "${xfce4-session}/etc/xdg/xfce4/xinitrc";
-
-  xfce4-settings = callPackage ./xfce4-settings { };
-
-  xfce4-taskmanager = callPackage ./xfce4-taskmanager { };
-
-  xfce4-terminal = callPackage ./xfce4-terminal { };
-
-  xfdashboard = callPackage ./xfdashboard { };
-
-  xfce4-volumed-pulse = callPackage ./xfce4-volumed-pulse { };
-
-  xfce4-whiskermenu-plugin = callPackage ./xfce4-whiskermenu-plugin { };
-
-  xfce4-xkb-plugin = callPackage ./xfce4-xkb-plugin { };
-
-  xfwm4 = callPackage ./xfwm4 { };
-
-  ## COMMON PARTS WITH XFCE 4.12
-
-  xfce4-icon-theme = callPackage ../xfce/art/xfce4-icon-theme.nix { };
-
-  xfwm4-themes = callPackage ../xfce/art/xfwm4-themes.nix { };
-
-  xfce4-embed-plugin = callPackage ../xfce/panel-plugins/xfce4-embed-plugin.nix { };
-
-  xfce4-hardware-monitor-plugin = callPackage ../xfce/panel-plugins/xfce4-hardware-monitor-plugin.nix { };
-
-  ## THIRD PARTY PLIGINS
-
-  xfce4-dockbarx-plugin = callPackage ../xfce/panel-plugins/xfce4-dockbarx-plugin.nix { };
-
-  xfce4-namebar-plugin = callPackage ../xfce/panel-plugins/xfce4-namebar-plugin.nix { };
-
-  xfce4-windowck-plugin = callPackage ../xfce/panel-plugins/xfce4-windowck-plugin.nix { };
-
-
-  ## ALIASES
-  xfce4-mixer = throw "deprecated 2019-08-18: obsoleted by xfce4-pulseaudio-plugin"; # added 2019-08-18
-  gtk-xfce-engine = throw "deprecated 2019-09-17: Xfce 4.14 deprecated gtk-xfce-engine"; # added 2019-09-17
-})
diff --git a/pkgs/desktops/xfce4-14/thunar/default.nix b/pkgs/desktops/xfce4-14/thunar/default.nix
deleted file mode 100644
index 12a1a62991a7..000000000000
--- a/pkgs/desktops/xfce4-14/thunar/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ mkXfceDerivation, docbook_xsl, exo, gdk-pixbuf, gtk3, libgudev
-, libnotify, libX11, libxfce4ui, libxfce4util, libxslt, xfconf, gobject-introspection, gvfs }:
-
-mkXfceDerivation {
-  category = "xfce";
-  pname = "thunar";
-  version = "1.8.9";
-
-  sha256 = "01w60csbs2nq1bhb8n1bnmjmx48fm0va3qbnq84z0h2dxpr80b1w";
-
-  nativeBuildInputs = [ libxslt docbook_xsl gobject-introspection ];
-
-  buildInputs = [
-    exo
-    gdk-pixbuf
-    gtk3
-    libgudev
-    libnotify
-    libX11
-    libxfce4ui
-    libxfce4util
-    xfconf
-    gvfs
-  ];
-}
diff --git a/pkgs/desktops/xfce4-14/xfburn/default.nix b/pkgs/desktops/xfce4-14/xfburn/default.nix
deleted file mode 100644
index dd3a9af16804..000000000000
--- a/pkgs/desktops/xfce4-14/xfburn/default.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ mkXfceDerivation, docbook_xsl, exo, gtk2, libburn, libisofs, libxfce4ui, libxslt }:
-
-mkXfceDerivation {
-  category = "apps";
-  pname = "xfburn";
-  version = "0.5.5";
-
-  sha256 = "1lmv48vqrlap1a2ha72g16vqly18zvcwj8y3f3f00l10pmn52bkp";
-
-  nativeBuildInputs = [ libxslt docbook_xsl ];
-  buildInputs = [ exo gtk2 libburn libisofs libxfce4ui ];
-  meta.broken = true;
-}
diff --git a/pkgs/development/beam-modules/build-mix.nix b/pkgs/development/beam-modules/build-mix.nix
index d947acc3ea68..9aebad2dabf7 100644
--- a/pkgs/development/beam-modules/build-mix.nix
+++ b/pkgs/development/beam-modules/build-mix.nix
@@ -1,4 +1,4 @@
-{ stdenv, writeText, elixir, erlang, hexRegistrySnapshot, hex, lib }:
+{ stdenv, writeText, elixir, erlang, hex, lib }:
 
 { name
 , version
@@ -43,7 +43,7 @@ let
     else setupHook;
 
     inherit buildInputs;
-    propagatedBuildInputs = [ hexRegistrySnapshot hex elixir ] ++ beamDeps;
+    propagatedBuildInputs = [ hex elixir ] ++ beamDeps;
 
     configurePhase = if configurePhase == null
     then ''
diff --git a/pkgs/development/beam-modules/default.nix b/pkgs/development/beam-modules/default.nix
index eb9353a4a637..031f7b5dda72 100644
--- a/pkgs/development/beam-modules/default.nix
+++ b/pkgs/development/beam-modules/default.nix
@@ -14,16 +14,11 @@ let
       defaultScope = mkScope self;
       callPackage = drv: args: callPackageWithScope defaultScope drv args;
     in
-      import ./hex-packages.nix {
-        inherit pkgs stdenv callPackage;
-      } // rec {
+      rec {
         inherit callPackage erlang;
         beamPackages = self;
 
-        hexRegistrySnapshot = callPackage ./hex-registry-snapshot.nix { };
-
         rebar = callPackage ../tools/build-managers/rebar { };
-        rebar3-open = callPackage ../tools/build-managers/rebar3 { };
         rebar3 = callPackage ../tools/build-managers/rebar3 { };
 
         # rebar3 port compiler plugin is required by buildRebar3
@@ -80,9 +75,6 @@ let
         webdriver = callPackage ./webdriver {};
         relxExe = callPackage ../tools/erlang/relx-exe {};
 
-        # The tool used to upgrade hex-packages.nix.
-        hex2nix = callPackage ../tools/erlang/hex2nix {};
-
         # An example of Erlang/C++ package.
         cuter = callPackage ../tools/erlang/cuter {};
       };
diff --git a/pkgs/development/beam-modules/hex-packages.nix b/pkgs/development/beam-modules/hex-packages.nix
deleted file mode 100644
index df781d3e247c..000000000000
--- a/pkgs/development/beam-modules/hex-packages.nix
+++ /dev/null
@@ -1,37751 +0,0 @@
-/* hex-packages.nix is an auto-generated file -- DO NOT EDIT! */
-
-/* Unbuildable packages:
-
- * absinthe_relay_0_9_3
- * active_0_9_0
- * addict_0_2_5
- * address_us_0_1_1
- * airbrake_0_1_0
- * airbrake_plug_0_1_1
- * airbrakex_0_0_8
- * alembic_2_1_0
- * algolia_0_3_2
- * alice_0_3_6
- * alice_against_humanity_0_1_2
- * alice_google_images_0_1_3
- * alice_karma_0_2_0
- * alice_personable_0_0_2
- * alice_reddit_0_0_3
- * alice_shizzle_0_1_2
- * alice_tielurs_heart_rate_0_0_5
- * alice_xkcd_0_0_3
- * alphonse_0_1_0
- * amqp_0_1_1
- * amqp_0_1_4
- * amqp_client_3_5_6
- * amrita_0_4_0
- * angellist_0_0_0
- * anubis_0_1_0
- * anubis_0_3_0
- * apache_passwd_md5_1_0_0
- * apostle_0_0_3
- * arc_0_5_2
- * arc_ecto_0_4_1
- * as_nested_set_0_1_0
- * asanaficator_0_0_1
- * atlas_0_2_0
- * authable_0_3_1
- * aws_erlang_0_1_1
- * aws_http_0_2_4
- * b2_client_0_0_1
- * backoff_1_1_3
- * backy_0_0_5
- * balanced_3_1_0
- * bamboo_sendgrid_0_1_0
- * bandwidth_1_2_1
- * barrel_jiffy_0_14_4
- * barrel_jiffy_0_14_5
- * basehangul_0_2_1
- * basho_exometer_core_1_0_0
- * basic_auth_1_0_0
- * bbmustache_1_0_1
- * bbsmq_0_0_6
- * beaker_1_2_0
- * benchwarmer_0_0_2
- * bencoder_0_0_7
- * bertex_1_2_0
- * bgg_0_1_0
- * bitbucket_api_0_0_2
- * bitpay_0_2_5
- * blackbook_0_3_1
- * block_timer_0_0_1
- * bno055_0_0_1
- * boltun_1_0_1
- * booter_0_1_0
- * bottler_0_5_0
- * bouncer_0_1_5
- * brady_0_0_2
- * brod_2_1_4
- * bson_0_4_4
- * bugsnag_erl_0_1_4
- * bugsnex_0_0_1
- * bump_0_1_0
- * bureaucrat_0_1_4
- * butler_0_6_2
- * butler_0_7_1
- * butler_cage_0_0_2
- * butler_cowsay_0_2_1
- * butler_new_0_4_3
- * butler_tableflip_0_0_3
- * cache_tab_1_0_2
- * calecto_0_6_0
- * calendar_0_16_0
- * calendar_0_6_8
- * calendar_translations_0_0_3
- * can_0_0_4
- * canada_1_0_0
- * canary_0_14_1
- * carrier_1_0_4
- * cassius_0_0_1
- * cauldron_0_1_5
- * ccc_0_0_2
- * certifi_0_1_1
- * cesso_0_1_3
- * cet_0_2_3
- * channels_0_0_2
- * charlotte_0_4_0
- * charm_0_0_1
- * chatter_0_0_15
- * cipher_1_0_5
- * cldr_0_0_1
- * cleverbot_0_0_1
- * cloak_0_2_2
- * cloudi_core_1_4_0_rc_4
- * cloudi_core_1_5_1
- * cloudi_service_api_requests_1_5_1
- * cloudi_service_db_1_5_1
- * cloudi_service_db_cassandra_1_3_3
- * cloudi_service_db_cassandra_cql_1_5_1
- * cloudi_service_db_couchdb_1_5_1
- * cloudi_service_db_elasticsearch_1_3_3
- * cloudi_service_db_http_elli_1_5_1
- * cloudi_service_db_memcached_1_5_1
- * cloudi_service_db_mysql_1_5_1
- * cloudi_service_db_pgsql_1_5_1
- * cloudi_service_db_riak_1_3_3
- * cloudi_service_db_tokyotyrant_1_5_0
- * cloudi_service_filesystem_1_5_1
- * cloudi_service_http_client_1_5_1
- * cloudi_service_http_cowboy_1_5_1
- * cloudi_service_http_rest_1_5_1
- * cloudi_service_map_reduce_1_5_1
- * cloudi_service_monitoring_1_5_1
- * cloudi_service_queue_1_5_1
- * cloudi_service_quorum_1_5_1
- * cloudi_service_router_1_5_1
- * cloudi_service_tcp_1_5_1
- * cloudi_service_timers_1_5_1
- * cloudi_service_udp_1_5_1
- * cloudi_service_validate_1_5_1
- * cloudi_service_zeromq_1_5_1
- * clox_0_1_3
- * coffee_rotor_0_2_1
- * coinbase_0_0_1
- * comeonin_ecto_password_2_0_0_rc_0
- * commerce_billing_0_0_2
- * concierge_0_0_1
- * conferl_0_0_1
- * conform_0_16_0
- * conform_1_0_0_rc8
- * conform_2_0_0
- * conform_exrm_1_0_0
- * console_0_0_1
- * consul_1_0_3
- * core_0_14_1
- * couchdb_client_0_2_5
- * couchdb_connector_0_3_0
- * countries_1_1_2
- * countries_erlang_0_2_0
- * courier_web_0_0_8
- * coverex_1_4_9
- * cowboy_oauth_0_2_14
- * cowboy_routes_tree_0_2_0
- * cpg_1_4_0
- * cpg_1_5_1
- * cqrex_0_0_1
- * cqrs_0_0_7
- * cqrs_events_0_0_4
- * craterl_0_2_3
- * crudex_0_0_2
- * crypto_ext_0_1_3
- * cure_0_4_1
- * currently_0_0_3
- * datomex_0_0_5
- * datomic_gen_server_2_0_1
- * dayron_0_1_1
- * db_0_9_0
- * db_connection_1_0_0_rc_0
- * dbschema_0_2_0
- * dbus_0_5_0
- * ddb_client_0_1_17
- * ddb_client_0_1_21
- * ddb_connection_0_1_3
- * decimal_0_2_5
- * decorators_0_1_0
- * denrei_0_2_3
- * descriptive_statistics_0_0_1
- * dexts_0_2_1
- * dialyze_0_1_4
- * diane_0_0_1
- * dicer_0_8_0
- * dicks_0_1_0
- * difficult_0_0_2
- * diplomat_0_0_3
- * discount_0_7_0
- * discovery_0_5_7
- * distance_api_matrix_2_0_1
- * dns_0_0_3
- * docker_0_3_0
- * dotenv_0_0_4
- * dotenv_elixir_0_0_2
- * dpd_client_0_0_6
- * dproto_0_1_12
- * dproto_0_1_16
- * dqe_0_2_2
- * dqe_fun_0_1_1
- * dqe_idx_ddb_0_1_13
- * dqe_idx_pg_0_1_29
- * drawille_0_0_1
- * dropbox_0_0_7
- * earmark_0_1_0
- * ecc_0_1_3
- * ecdo_0_1_4
- * ecrontab_0_2_0
- * ecto_0_2_4
- * ecto_2_0_0_beta_0
- * ecto_2_0_0_rc_5
- * ecto_enum_0_3_1
- * ecto_factory_0_0_1
- * ecto_fixtures_0_0_2
- * ecto_gettext_0_1_6
- * ecto_hstore_0_0_1
- * ecto_it_0_2_0
- * ecto_lazy_float_0_1_2
- * ecto_ldap_0_2_8
- * ecto_migrate_0_6_3
- * ecto_ordered_0_0_2
- * ecto_state_machine_0_0_4
- * ecto_validation_case_0_1_1
- * ectograph_0_0_8
- * ectoo_0_0_4
- * ectophile_0_3_0
- * edeliver_1_2_9
- * eden_0_1_3
- * edgarex_0_0_2
- * efrisby_0_2_0
- * egithub_0_2_6
- * eini_1_2_1
- * ejabberd_16_4_1
- * ekstat_0_2_2
- * elastix_0_2_0
- * eleveldb_2_1_3
- * elibphonenumber_0_1_1
- * elistrix_0_0_5
- * elixilorem_0_0_1
- * elixir_ale_0_4_1
- * elixir_ale_0_5_3
- * elixir_drawille_0_0_3
- * elixir_ipfs_api_0_1_0
- * elixir_locker_0_1_4
- * elixir_nsq_1_0_3
- * elixometer_1_2_1
- * elixtagram_0_2_7
- * elixush_0_0_4
- * elli_xpblfe_0_1_1
- * elmit_0_0_1
- * email_checker_0_0_3
- * emodel_1_3_1
- * eno_0_0_1
- * enotify_0_1_0
- * ensq_0_1_6
- * env_conf_0_3_0
- * eplugin_0_1_4
- * epubnub_0_1_0
- * eql_0_1_2
- * eredis_cluster_0_5_7
- * erlang_dbus_0_2_0
- * erlang_lua_0_1_0
- * erlang_osc_1_0_1
- * erlang_tls_1_0_3
- * erlastic_search_1_2_0
- * erlcloud_0_13_4
- * erldn_1_0_5
- * erldyn_0_7_2
- * erlogger_0_1_0
- * erltrace_0_1_4
- * erocksdb_0_4_1
- * erwatch_0_3_0
- * es_0_0_1
- * escalus_2_6_4
- * esip_1_0_4
- * espec_phoenix_0_2_1
- * etcd_0_0_2
- * etude_0_1_5
- * etude_request_0_1_0
- * euler_0_0_1
- * event_source_encoder_0_0_3
- * eventstore_0_2_1
- * everex_0_1_1
- * everyoneapi_0_0_1
- * everything_location_0_0_1
- * ex_admin_0_7_6
- * ex_aerospike_0_0_1
- * ex_aws_0_4_19
- * ex_bitcask_0_1_0
- * ex_chimp_0_0_2
- * ex_cloudinary_0_2_2
- * ex_conf_0_1_2
- * ex_conf_0_1_3
- * ex_doc_0_10_0
- * ex_doc_0_11_5
- * ex_doc_0_8_4
- * ex_doc_dash_0_3_0
- * ex_doc_epub_0_0_2
- * ex_dockerapi_0_0_1
- * ex_edn_0_1_2
- * ex_hubic_0_1_0
- * ex_orient_1_3_0
- * ex_ovh_0_1_2
- * ex_parsec_0_2_1
- * ex_queb_0_1_2
- * ex_sharp_0_0_6
- * ex_slp_0_1_0
- * ex_unit_emacs_0_1_2
- * exauth_0_0_1
- * excheck_0_3_3
- * excountries_0_0_3
- * excoveralls_0_5_4
- * exdjango_0_3_1
- * exdm_0_0_4
- * exdn_2_1_2
- * exdns_0_0_1
- * exdweet_0_0_1
- * exeque_0_1_0
- * exfile_0_1_5
- * exfile_0_3_3
- * exfile_b2_0_2_2
- * exfile_encryption_0_0_2
- * exfile_imagemagick_0_1_2
- * exfile_memory_0_1_0
- * exfile_s3_0_0_1
- * exgpg_0_0_3
- * exgrid_0_3_0
- * exhal_4_12_3
- * exintercom_0_1_6
- * exjira_0_0_1
- * exjprop_0_0_5
- * exkad_0_0_2
- * exmagick_0_0_1
- * exometer_core_1_0_0
- * exometer_core_1_4_0
- * exometer_datadog_0_4_3
- * exometer_zabbix_0_0_3
- * exos_1_0_0
- * expcap_0_1_0
- * exprotobuf_0_10_2
- * exprotobuf_0_13_0
- * exprotobuf_1_0_0
- * exq_0_7_1
- * exq_ui_0_7_1
- * exquery_0_0_11
- * exrabbit_0_0_2
- * exrecaptcha_0_0_3
- * exrm_0_14_10
- * exrm_0_14_17
- * exrm_0_18_8
- * exrm_0_19_9
- * exrm_1_0_5
- * exrm_deb_0_0_6
- * exrm_docker_0_1_0
- * exrm_heroku_0_1_1
- * exrm_rpm_0_3_3
- * exrm_smartos_gz_1_0_0
- * exseed_0_0_3
- * exsentry_0_5_0
- * exsyslog_1_0_1
- * extreme_0_5_1
- * exurban_0_0_1
- * ezlib_1_0_1
- * ezmq_0_2_0
- * facebook_0_10_0
- * fast_tls_1_0_3
- * fast_xml_1_1_11
- * fast_yaml_1_0_3
- * favicon_0_0_7
- * feedistiller_2_0_2
- * feedlex_0_0_1
- * fernet_ecto_0_2_0
- * ffi_0_0_1_alpha
- * fifo_db_0_2_2
- * fifo_dt_0_1_66
- * fifo_dt_0_1_69
- * fifo_lager_0_1_4
- * fifo_spec_0_1_27
- * fifo_utils_0_1_20
- * fifo_utils_0_1_22
- * figaro_0_1_0
- * filepreviews_1_0_1
- * filtrex_0_2_0
- * finch_0_0_3
- * fintex_0_3_0
- * fireworks_0_5_1
- * fitbit_0_0_1
- * fitex_0_0_1
- * flames_0_1_0
- * fleet_api_0_0_15
- * floorplan_0_1_1
- * flower_power_0_3_2
- * flub_0_9_0
- * fluent_client_0_1_0
- * folsom_ddb_0_1_22
- * font_awesome_phoenix_0_3_2
- * form_data_0_1_1
- * forms_0_0_1
- * fqc_0_1_7
- * frank_0_0_3
- * fuentes_0_0_3
- * funnel_0_4_1
- * gcloudex_0_4_4
- * gcm_1_3_1
- * gcmex_0_0_1
- * gen_leader_0_1_0
- * gen_rpc_1_0_2
- * gen_state_machine_0_0_2
- * geo_1_0_4
- * geocoder_0_4_2
- * gil_0_0_3
- * gimei_0_0_2
- * gimei_ex_1_0_0
- * gpb_3_18_10
- * gpb_3_18_8
- * gpb_3_21_2
- * gpb_3_22_2
- * graphql_parser_0_0_3
- * graphql_relay_0_3_0
- * group_manager_0_0_8
- * guardian_0_10_1
- * guardian_0_12_0
- * guardian_0_9_1
- * guardian_db_0_4_0
- * guardian_db_0_7_0
- * hackney_1_1_0
- * hackney_1_3_1
- * hackney_1_3_2
- * hackney_1_4_10
- * hackney_1_4_4
- * hackney_1_4_8
- * hamcrest_0_1_1
- * hash_ring_ex_1_1_2
- * hdr_histogram_0_2_0
- * hedwig_flowdock_0_1_1
- * hedwig_hipchat_0_9_4
- * hedwig_irc_0_1_3
- * hedwig_slack_0_1_0
- * hedwig_sms_0_1_0
- * hedwig_xmpp_1_0_0_rc2
- * hello_world_header_0_0_1
- * hexoku_0_1_0
- * hmc5883l_0_5_0
- * honeydew_0_0_9
- * hr_0_2_2
- * hstore_0_0_2
- * htpasswd_1_0_2
- * http_0_0_1
- * httpc_aws_0_1_3
- * httpoison_0_7_1
- * httpoison_0_7_5
- * httpoison_0_8_0
- * httprot_0_1_7
- * iconv_1_0_0
- * ielixir_0_9_5
- * ifttt_oauth_0_0_1
- * inch_ex_0_5_3
- * inch_test_0_0_1
- * inflex_0_2_0
- * inquisitor_0_1_0
- * instream_0_12_0
- * intellij_elixir_0_1_2
- * iona_0_2_1
- * ipgeobase_0_0_1
- * isn_1_0_0
- * ja_serializer_0_9_0
- * japanese_holiday_0_0_2
- * jazz_0_1_1
- * jazz_0_2_1
- * jiffy_0_14_7
- * joken_0_13_1
- * joken_1_2_1
- * jsxn_0_2_1
- * kafka_protocol_0_3_2
- * kalecto_0_3_3
- * kalends_0_6_5
- * kane_0_1_1
- * katipo_0_3_4
- * kcl_0_6_2
- * keccakf1600_2_0_0
- * keelless_0_1_0
- * keenex_0_3_0
- * kerosene_0_0_1
- * kindred_0_0_1
- * kovacs_0_9_2
- * kvs_2_1_0
- * lager_2_1_1
- * lager_graylog_0_1_1
- * lager_logstash_backend_0_1_1
- * lager_watchdog_0_1_10
- * lasp_0_0_5
- * lazymaru_0_2_5
- * ledx_0_0_1
- * letsencrypt_0_5_0
- * lfe_1_0_2
- * libchunter_0_1_48
- * libdecaf_0_0_2
- * libex_config_0_2_0
- * libhowl_0_1_36
- * libleofs_0_1_2
- * librex_1_0_1
- * libsnarl_0_3_40
- * libsnarl_0_3_46
- * libsniffle_0_3_47
- * libsodium_0_0_7
- * link_shrinkex_1_0_0
- * locker_1_0_8
- * logger_json_file_backend_0_1_2
- * logger_logentries_backend_0_0_1
- * logster_0_2_0
- * lyn_0_0_16
- * mad_0_9_0
- * mailchimp_0_0_5
- * mailgun_webhook_auth_1_0_0
- * mailibex_0_1_0
- * mailman_0_2_2
- * mandrag_0_1_1
- * mandrillex_0_2_0
- * mariaex_0_7_5
- * maru_0_10_1
- * maru_swagger_0_8_0
- * marvel_1_0_0
- * marvin_0_3_0
- * mc_protocol_0_0_2
- * mcrypt_0_1_1
- * mdns_client_0_1_7
- * mdns_client_lib_0_1_33
- * mdns_client_lib_0_1_39
- * medex_0_1_2
- * merkle_0_0_4
- * message_pack_0_2_0
- * meta_0_0_1
- * migratrex_0_0_1
- * mimerl_1_0_0
- * mixstar_0_0_1
- * mmath_0_1_15
- * mobiledoc_0_0_1
- * moebius_2_0_1
- * monetized_0_4_0
- * money_1_0_0
- * mongo_0_5_4
- * mongodb_ecto_0_1_4
- * motor_hat_0_6_1
- * mstore_0_1_11
- * mt940_1_0_0
- * mustachex_0_0_1
- * mynumber_1_0_0
- * nacl_0_3_0
- * naughtygram_0_2_0
- * neo4j_0_3_0
- * neo4j_sips_0_1_26
- * neo4j_sips_models_0_1_1
- * neotoma_1_7_3
- * neotomex_0_1_4
- * nerves_0_3_2
- * nerves_interim_wifi_0_0_1
- * nerves_network_interface_0_3_1
- * nerves_system_ag150_0_5_1
- * nerves_system_alix_0_5_1
- * nerves_system_bbb_0_6_2
- * nerves_system_ev3_0_5_1
- * nerves_system_galileo_0_5_1
- * nerves_system_qemu_arm_0_5_1
- * nerves_system_rpi_0_5_2
- * nerves_system_rpi2_0_5_2
- * nerves_system_rpi3_0_5_2
- * nerves_toolchain_arm_unknown_linux_gnueabi_0_6_2
- * nerves_toolchain_arm_unknown_linux_gnueabihf_0_6_1
- * nerves_toolchain_armv6_rpi_linux_gnueabi_0_6_1
- * nerves_toolchain_i586_unknown_linux_gnu_0_6_1
- * nerves_wpa_supplicant_0_2_1
- * nested_set_0_0_2
- * new_relixir_0_1_0
- * newrelic_0_1_0
- * nice_nickname_0_0_1
- * nifty_0_0_3
- * nio_google_authenticator_1_0_1
- * nio_google_geocoder_0_7_0
- * nodefinder_1_4_0
- * nodefinder_1_5_1
- * nomad_0_6_0
- * normalixr_0_4_0
- * oauth2_0_6_0
- * oauth2_server_0_1_1
- * oauth2cli_0_0_4
- * oauth2ex_0_0_9
- * obelisk_0_10_0
- * observer_cli_1_0_5
- * okta_0_0_1
- * omise_0_2_2
- * openmaize_0_18_1
- * overpass_0_1_1
- * oxr_0_3_1
- * p1_mysql_1_0_1
- * p1_oauth2_0_6_1
- * p1_pgsql_1_1_0
- * p1_stringprep_1_0_1
- * p1_utils_1_0_0
- * p1_utils_1_0_3
- * p1_utils_1_0_4
- * p1_xml_1_1_1
- * p1_xmlrpc_1_15_1
- * params_2_0_0_beta_0
- * parse_client_0_2_3
- * parse_trans_2_9_0
- * parsex_0_0_2
- * passport_0_0_4
- * peatio_client_1_5_0
- * pet_0_1_1
- * pgpool_1_0_0
- * phoenix_0_2_6
- * phoenix_0_4_1
- * phoenix_1_2_0_rc_1
- * phoenix_active_link_0_0_1
- * phoenix_calendar_0_1_2
- * phoenix_dtl_0_0_1
- * phoenix_ecto_3_0_0_rc_0
- * phoenix_ember_0_0_1
- * phoenix_facebook_messenger_0_3_0
- * phoenix_gen_gulp_jspm_1_0_0
- * phoenix_haml_0_2_1
- * phoenix_html_2_4_0_dev
- * phoenix_html_2_5_1
- * phoenix_html_sanitizer_1_0_2
- * phoenix_html_simplified_helpers_0_3_3
- * phoenix_linguist_0_0_1
- * phoenix_live_reload_1_0_5
- * phoenix_microsoftbot_0_1_0
- * phoenix_pubsub_postgres_0_0_2
- * phoenix_pubsub_rabbitmq_0_0_1
- * phoenix_pubsub_redis_2_0_0
- * phoenix_ratchet_0_2_0
- * phoenix_reactor_0_0_3
- * phoenix_simple_form_0_0_2
- * phoenix_slim_0_4_1
- * phoenix_slime_0_6_0
- * phoenix_swoosh_0_1_2
- * phoenix_timex_1_0_1
- * phoenix_token_auth_0_4_0
- * picosat_0_1_0
- * pin_elixir_0_0_1
- * pixie_0_3_5
- * placid_0_1_3
- * plain_sitemap_0_0_1
- * plasm_0_3_0
- * plug_0_4_4
- * plug_0_5_3
- * plug_0_7_0
- * plug_abort_2_1_1
- * plug_auth_0_3_0
- * plug_basic_auth_1_1_0
- * plug_byte_serve_0_3_2
- * plug_cors_0_8_2
- * plug_exception_handler_0_0_4
- * plug_graphql_0_3_1
- * plug_json_parser_0_0_6
- * plug_jwt_0_7_1
- * plug_newrelic_0_0_5
- * plug_secure_headers_0_0_1
- * plug_session_memcached_0_3_3
- * plug_session_redis_0_1_0
- * png_0_1_1
- * poison_1_0_3
- * poison_1_1_1
- * poison_1_2_1
- * pool_0_0_2
- * pooler_1_4_0
- * portal_0_0_1
- * porterstemmer_0_0_1
- * portmidi_5_0_0
- * posterize_0_11_0
- * postgrex_0_11_1
- * postgrex_0_6_0
- * pqueue_1_4_0
- * proper_1_1_1_beta
- * protego_0_1_0
- * protobuffs_0_8_2
- * provider_asn1_0_2_1
- * pulse_0_1_3
- * pulse_libs_1_0_0
- * pusher_0_1_3
- * pushex_0_0_5
- * pynchon_0_1_1
- * quick_chex_0_2_1
- * quinn_0_0_4
- * rackla_1_0_0
- * radpath_0_0_5
- * random_0_2_2
- * ratchet_0_3_1
- * raven_0_0_5
- * raygun_0_3_0
- * reactive_0_0_1
- * readme_md_doc_0_1_2
- * reagent_0_1_9
- * reaxt_0_3_2
- * rebar3_abnfc_plugin_0_1_0
- * rebar3_auto_0_3_0
- * rebar3_auto_applications_1_0_0
- * rebar3_autotest_0_1_1
- * rebar3_cuttlefish_0_11_0
- * rebar3_diameter_compiler_0_4_0
- * rebar3_elixir_0_0_5
- * rebar3_elixirc_0_1_0
- * rebar3_eqc_0_0_10
- * rebar3_exunit_0_1_1
- * rebar3_git_vsn_1_1_0
- * rebar3_gpb_plugin_1_3_3
- * rebar3_hex_2_5_1
- * rebar3_idl_compiler_0_4_0
- * rebar3_lfe_compile_0_4_1
- * rebar3_live_0_1_3
- * rebar3_neotoma_plugin_0_2_0
- * rebar3_proper_0_6_0
- * rebar3_proper_plugin_0_1_0
- * rebar3_protobuffs_0_2_0
- * rebar3_raw_deps_2_0_0
- * rebar3_run_0_2_0
- * rebar3_shellrpc_0_1_0
- * rebar3_tsung_0_1_4
- * rebar3_vendor_0_3_0
- * rebar3_yang_plugin_0_2_1
- * rebar_alias_0_1_0
- * rebar_cmd_0_2_3
- * rebar_erl_vsn_0_1_0
- * rebar_protobuffs_0_1_0
- * rebind_0_1_3
- * recaptcha_1_1_1
- * receipt_verifier_0_0_1
- * recon_2_2_1
- * recon_2_3_1
- * recon_ex_0_9_1
- * record_translator_0_0_3
- * red_0_0_5
- * red_black_tree_1_2_0
- * reddhl_0_0_1
- * redis_pool_0_2_3
- * redis_poolex_0_0_5
- * redix_0_3_6
- * redo_2_0_1
- * redtube_1_0_0
- * ref_inspector_0_9_0
- * regdom_0_0_1
- * relax_0_3_0
- * relflow_1_0_5
- * relief_0_0_1
- * relisa_0_1_0
- * relocker_0_0_8
- * reltool_util_1_4_0
- * reltool_util_1_5_1
- * relx_3_1_0
- * relx_3_19_0
- * relx_3_5_0
- * remix_0_0_2
- * remodel_0_0_1
- * remote_ip_rewriter_0_0_2
- * rendezvous_0_0_1
- * repg2_0_0_4
- * repo_0_4_1
- * repoquery_0_0_2
- * reporter_0_5_1
- * reprise_0_5_0
- * resin_0_4_1
- * rest_1_5_0
- * rest_client_0_0_1
- * rethinkdb_0_4_0
- * rethinkdb_changefeed_0_0_1
- * retrieval_0_9_1
- * retry_0_1_0
- * reup_0_1_0
- * reverse_proxy_0_1_0
- * revision_plate_ex_0_1_0
- * rfc3339_0_9_0
- * riak_1_0_0
- * riak_core_ng_2_2_5
- * riak_dt_2_1_1
- * riak_ensemble_2_1_3
- * riak_pb_2_1_0
- * riak_sysmon_2_1_2
- * riakc_2_1_1
- * riboflavin_0_0_2
- * riemann_0_0_15
- * rlist_0_0_1
- * robotex_0_0_1
- * rogger_0_1_0
- * rollbax_0_6_0
- * rollex_0_4_0
- * roman_numerals_1_0_1
- * romanex_0_1_0
- * romeo_0_5_0
- * roombex_0_0_4
- * rop_0_5_3
- * rotor_0_2_2
- * rquote_0_0_1
- * rsa_0_0_1
- * rss_0_2_1
- * rstats_1_0_2
- * rubix_0_0_2
- * rulex_0_2_0
- * russian_0_1_0
- * rustler_0_0_7
- * safetybox_0_1_2
- * sage_0_0_1
- * salsa20_0_3_0
- * saltie_0_3_2
- * saltpack_1_0_1
- * sap_0_0_2
- * sasl_ex_0_1_0
- * sass_elixir_0_0_1
- * savory_0_0_2
- * sbroker_0_6_2
- * sbroker_0_7_0
- * sbroker_1_0_0_beta_2
- * scaffold_0_0_5
- * scarab_0_1_0
- * schedule_0_1_0
- * schizo_0_0_1
- * scientist_0_2_0
- * scientist_ex_0_1_0
- * scrape_1_0_4
- * scrivener_1_1_4
- * scrivener_1_2_1
- * scrivener_headers_1_0_1
- * scrivener_html_1_1_1
- * seasonal_0_3_0
- * seat_json_0_0_18
- * sec_cik_ticker_mapper_0_0_2
- * sec_company_filings_rss_feed_parser_0_0_2
- * sec_recent_filings_rss_feed_parser_0_0_6
- * secure_0_1_0
- * secure_compare_0_0_1
- * secure_headers_0_0_1
- * secure_password_0_4_3
- * secure_random_0_1_1
- * secure_random_0_3_0
- * seedex_0_1_2
- * seg_seg_0_0_1
- * seg_seg_0_1_0
- * segment_0_1_0
- * select_0_0_1
- * selenium_0_0_2
- * semver_0_1_2
- * sendgrid_0_1_0
- * sentient_0_0_2
- * sentinel_0_1_0
- * sentry_0_3_2
- * sequences_1_1_0
- * serial_0_1_2
- * serve_this_1_0_0
- * service_1_5_1
- * setup_1_7_0
- * setup_tag_0_1_2
- * sfmt_0_12_7
- * sfmt_0_13_0
- * sfsobject_0_0_3
- * sh_1_1_2
- * sha3_1_0_0
- * shameless_plug_1_0_0
- * shape_0_0_2
- * shell_stream_0_0_1
- * short_maps_0_1_1
- * shorter_maps_1_0_0
- * shotgun_0_3_0
- * shouldi_0_3_0
- * shove_0_0_1
- * shrivel_0_0_3
- * sidejob_2_0_0
- * sideshow_0_0_2
- * sidetask_1_1_0
- * signaturex_1_0_1
- * simetric_0_1_0
- * simple_agent_0_0_7
- * simple_bar_0_0_7
- * simple_format_0_1_0
- * simple_markdown_0_0_1
- * simple_secrets_1_0_0
- * simple_statistics_0_0_1
- * simplex_0_4_0
- * simplify_0_2_1
- * simpre_0_1_0
- * siphash_3_1_0
- * sips_downloader_0_2_2
- * sitemap_0_7_0
- * skills_0_0_1
- * skroutz_0_1_0
- * slack_0_3_0
- * slack_0_4_2
- * slack_0_5_0
- * slack_logger_backend_0_1_4
- * slack_webhook_0_0_2
- * slacker_0_0_2
- * slackex_0_0_1
- * slim_fast_0_10_0
- * slime_0_13_0
- * slp_0_0_2
- * slugerl_1_0_0
- * slugger_0_1_0
- * smex_0_0_1
- * sms506_0_2_0
- * sms_blitz_0_0_1
- * smurf_0_1_3
- * snappy_1_1_1
- * snowflake_client_0_1_1
- * socket_0_2_8
- * socket_0_3_4
- * solage_0_0_1
- * sonic_0_1_3
- * sorted_set_1_1_0
- * soundcloud_ex_0_0_1
- * spaceapi_0_1_2
- * spaced_repetitions_0_0_1
- * spacesaving_0_0_3
- * spaghetti_pool_0_1_0
- * sparkpost_0_1_0
- * spartan_0_0_1
- * spawndir_0_1_1
- * spirit_0_0_1
- * sql_dust_0_3_4
- * sqlite3_1_1_5
- * sqlite_ecto_0_5_0
- * sqlite_ecto_1_0_2
- * sqlite_ecto_1_1_0
- * ssdb_0_3_0
- * ssdb_elixir_0_2_2
- * sshex_1_1_0
- * ssl_verify_hostname_1_0_0
- * ssl_verify_hostname_1_0_5
- * ssl_verify_hostname_1_0_6
- * statman_0_5_0
- * stmd_0_0_2
- * strava_0_0_1
- * stringprep_1_0_3
- * stripe_0_0_1
- * stripe_client_0_0_3
- * stripe_eventex_1_0_0
- * stripity_stripe_1_4_0
- * structurez_0_0_1
- * stun_1_0_3
- * sugar_0_4_11
- * supermemo_1_0_0
- * supervisord_0_1_0
- * swaggerdoc_0_0_1
- * sweet_xml_0_4_0
- * switchboard_0_3_2
- * swoosh_0_3_0
- * syslog_1_0_2
- * tagplay_0_1_0
- * tarantool_0_0_2
- * tcs34725_0_0_1
- * tds_ecto_1_0_2
- * telebot_0_1_2
- * templates_0_0_5
- * texas_0_0_2
- * theriac_0_0_1
- * thesis_0_0_14
- * thing_0_0_1
- * timex_0_12_9
- * timex_0_13_5
- * timex_0_16_2
- * timex_1_0_0_rc4
- * timex_ecto_1_0_4
- * timex_ecto_1_1_3
- * timex_interval_0_6_0
- * tirerl_1_0_1
- * tomlex_0_0_4
- * topo_0_1_1
- * tracker_request_0_0_4
- * tractor_0_1_0
- * traitify_elixir_0_1_1
- * trans_0_1_0
- * translator_0_0_1
- * tributary_0_0_2
- * tuco_tuco_0_8_1
- * twittertex_0_1_0
- * twittex_0_0_4
- * u2f_0_1_3
- * u_token_0_0_2
- * ucol_2_0_0
- * ucol_nif_1_1_5
- * ueberauth_facebook_0_3_2
- * ueberauth_fitbit_0_2_1
- * ueberauth_github_0_2_0
- * ueberauth_google_0_2_0
- * ueberauth_linkedin_0_2_0
- * ueberauth_paypal_0_1_0
- * ueberauth_slack_0_2_0
- * ueberauth_spotify_0_0_1
- * ueberauth_strava_0_1_1
- * ueberauth_vk_0_1_1
- * ueberauth_vkontakte_0_1_0
- * ueberauth_weibo_0_0_3
- * ui_0_1_1
- * ulitos_0_3_0
- * unsplash_0_4_0
- * upyun_0_0_1
- * uri_template_1_2_0
- * urna_0_1_4
- * uuid_erl_1_4_0
- * uuid_erl_1_5_1
- * valid_field_0_3_0
- * velkoz_1_2_0
- * verk_0_12_0
- * verk_web_0_11_0
- * vimeo_0_0_2
- * voorhees_0_1_1
- * wayback_archiver_0_0_1
- * webdriver_0_8_1
- * weber_0_1_0
- * weebo_0_1_2
- * wifi_0_2_0
- * win_notify_0_0_4
- * wire_0_2_0
- * xlsx_parser_0_0_7
- * xref_runner_1_0_0
- * yar_0_1_0
- * yggdrasil_1_2_3
- * yodlee_0_1_4
- * yomel_0_5_0
- * zanox_0_0_1
- * zencoder_1_0_1
- * zipper_1_0_0
- * zuppler_users_client_0_0_5
-
-*/
-{ stdenv, pkgs, callPackage, overrides ? (self: super: {}) }:
-
-let
-  packages = self: rec {
-    abnf_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "abnf";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "abnf";
-              version = "0.0.1";
-              sha256 =
-                "81e263f061ba677bda3e0d7f8884730eb51c14d7bc6526647c46cce659f1b054";
-            };
-
-            meta = {
-              description = ''ABNF parser for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/vanstee/abnf";
-            };
-          } // packageOverrides)
-      ) {};
-
-    abnf = abnf_0_0_1;
-
-    absinthe_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "absinthe";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "absinthe";
-              version = "1.0.0";
-              sha256 =
-                "c5606be8b46003e7ac47e87c924908cb390b892fef0eae390deb66f8ee123a1c";
-            };
-
-            meta = {
-              description = ''GraphQL for Elixir'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/absinthe-graphql/absinthe";
-            };
-          } // packageOverrides)
-      ) {};
-
-    absinthe_1_1_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "absinthe";
-            version = "1.1.6";
-            src = fetchHex {
-              pkg = "absinthe";
-              version = "1.1.6";
-              sha256 =
-                "3e83ea139967975a025850c0efc5aba7a864aded6b10d6483a60264a3523411f";
-            };
-
-            meta = {
-              description = ''GraphQL for Elixir'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/absinthe-graphql/absinthe";
-            };
-          } // packageOverrides)
-      ) {};
-
-    absinthe = absinthe_1_1_6;
-
-    absinthe_plug_1_0_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          absinthe_1_0_0
-        }:
-          buildMix ({
-            name = "absinthe_plug";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "absinthe_plug";
-              version = "1.0.0";
-              sha256 =
-                "08459823fe1fd4f0325a8bf0c937a4520583a5a26d73b193040ab30a1dfc0b33";
-            };
-            beamDeps  = [ plug_1_1_5 absinthe_1_0_0 ];
-
-            meta = {
-              description = ''A plug for Absinthe, an experimental GraphQL
-                            toolkit'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/CargoSense/absinthe_plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    absinthe_plug_1_1_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          absinthe_1_1_6
-        }:
-          buildMix ({
-            name = "absinthe_plug";
-            version = "1.1.3";
-            src = fetchHex {
-              pkg = "absinthe_plug";
-              version = "1.1.3";
-              sha256 =
-                "9fa66d56b4ddbd42fc11510780ed6c9758d539b9c8e538930ff8b383ae71814e";
-            };
-            beamDeps  = [ plug_1_1_5 absinthe_1_1_6 ];
-
-            meta = {
-              description = ''A plug for Absinthe, an experimental GraphQL
-                            toolkit'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/CargoSense/absinthe_plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    absinthe_plug = absinthe_plug_1_1_3;
-
-    access_token_extractor_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "access_token_extractor";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "access_token_extractor";
-              version = "0.1.1";
-              sha256 =
-                "40f76799f8fbb5b03230b31d4d55c5a169e7c3ad82d776a9d87fe0c65c85396d";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              longDescription = ''Simple Plug to extract access_token from
-                                request and add it to private map in Plug.Conn
-                                struct.'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/rohanpujaris/access_token_extractor";
-            };
-          } // packageOverrides)
-      ) {};
-
-    access_token_extractor = access_token_extractor_0_1_1;
-
-    adam7_0_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, apex_0_3_7 }:
-          buildMix ({
-            name = "adam7";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "adam7";
-              version = "0.4.0";
-              sha256 =
-                "8b540817f2fa92ba4b198d42d1ee4af348ed1edf8bd02d69691e0d8bdbecdcee";
-            };
-            beamDeps  = [ apex_0_3_7 ];
-
-            meta = {
-              longDescription = ''Adam7 interlacing library for Elixir.
-                                Primarily used for interlacing and
-                                de-interlacing image data for PNGs.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/SenecaSystems/imagineer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    adam7 = adam7_0_4_0;
-
-    adap_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "adap";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "adap";
-              version = "0.0.1";
-              sha256 =
-                "10679369764e2aa68560008c1f8bea40d5c715389e27e10b35b1ceda3fedadbb";
-            };
-
-            meta = {
-              longDescription = '' Create a data stream across your information
-                                systems to query, augment and transform data
-                                according to Elixir matching rules. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/awetzel/adap";
-            };
-          } // packageOverrides)
-      ) {};
-
-    adap = adap_0_0_1;
-
-    adt_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "adt";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "adt";
-              version = "0.0.2";
-              sha256 =
-                "a5b310b1ed8093b0f786ca4facdd0c9ff073acf3e47db6a9771005b77e0d7259";
-            };
-
-            meta = {
-              description = ''A light ADT module for Elixir.'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    adt = adt_0_0_2;
-
-    aeacus_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, comeonin_1_6_0 }:
-          buildMix ({
-            name = "aeacus";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "aeacus";
-              version = "0.3.0";
-              sha256 =
-                "3cc138cfc7c508cfd85afddd0881632dde2e663d222c9e3749fae8c80ebb2c0b";
-            };
-            beamDeps  = [ comeonin_1_6_0 ];
-
-            meta = {
-              longDescription = ''A simple, secure, and highly configurable
-                                Elixir identity [username | email | id |
-                                etc.]/password authentication module; Compatible
-                                with Ecto.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/zmoshansky/aeacus";
-            };
-          } // packageOverrides)
-      ) {};
-
-    aeacus = aeacus_0_3_0;
-
-    ahab_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ahab";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "ahab";
-              version = "0.1.1";
-              sha256 =
-                "c981c2f62dccd15a055083f9bc088aa0e4a029625ef9aa45104c4ba0ead12bd2";
-            };
-
-            meta = {
-              description = ''A lightweight, low latency TCP acceptor pool for
-                            Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/jquadrin/ahab";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ahab = ahab_0_1_1;
-
-    airbrakify_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          plug_1_1_5,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "airbrakify";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "airbrakify";
-              version = "0.0.1";
-              sha256 =
-                "973f895ba83e6dd71cf87182419e144db5c3ac23e43b7a1247e51559bf2737b6";
-            };
-            beamDeps  = [ poison_2_1_0 plug_1_1_5 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''A simple Airbrake/Errbit library for
-                                Elixir/Phoenix projects. Currently only supports
-                                error/exception notifications via a Plug.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Diamond/airbrakify";
-            };
-          } // packageOverrides)
-      ) {};
-
-    airbrakify = airbrakify_0_0_1;
-
-    alambic_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "alambic";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "alambic";
-              version = "0.1.0";
-              sha256 =
-                "04dc4cc88d56539ec4006a84668186501be9be4c369f145af6a606bb63d97ce0";
-            };
-
-            meta = {
-              longDescription = ''A collection of small elixir utilities.
-                                Semaphore: quick way of limiting access to a
-                                resource CountDown: quick way of counting fan
-                                in/out events'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/sdanzan/alambic";
-            };
-          } // packageOverrides)
-      ) {};
-
-    alambic = alambic_0_1_0;
-
-    alchemic_avatar_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "alchemic_avatar";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "alchemic_avatar";
-              version = "0.1.2";
-              sha256 =
-                "329ae15eb6a304d6d425f86e6890f1d5c3901475b3fbc9eb07ad03f1394144b4";
-            };
-
-            meta = {
-              description = ''Creating letter avatar from user`s name(or any
-                            other strong / character).'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zhangsoledad/alchemic_avatar";
-            };
-          } // packageOverrides)
-      ) {};
-
-    alchemic_avatar = alchemic_avatar_0_1_2;
-
-    alchemic_pinyin_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "alchemic_pinyin";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "alchemic_pinyin";
-              version = "0.1.2";
-              sha256 =
-                "1fbd8300984699370b4a97ab10b64023494d2f9755eddf0abe1dcd9a5f2498c6";
-            };
-
-            meta = {
-              description = ''中文汉字转拼音.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zhangsoledad/alchemic_pinyin";
-            };
-          } // packageOverrides)
-      ) {};
-
-    alchemic_pinyin = alchemic_pinyin_0_1_2;
-
-    alchemist_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "alchemist";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "alchemist";
-              version = "0.0.2";
-              sha256 =
-                "095ad9b47258b2d482b782a5794ed800df1c4024abbc126f347738be72a1aa51";
-            };
-
-            meta = {
-              description = ''Carefully refactor critical paths'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/jkakar/alchemist";
-            };
-          } // packageOverrides)
-      ) {};
-
-    alchemist = alchemist_0_0_2;
-
-    alchemy_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, uuid_1_1_4 }:
-          buildMix ({
-            name = "alchemy";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "alchemy";
-              version = "0.0.1";
-              sha256 =
-                "109ce3f83d596a6ab9a947f472516f87da7b0df823fe2d91e27bc6594a305c3d";
-            };
-            beamDeps  = [ uuid_1_1_4 ];
-
-            meta = {
-              description = ''Perform experiments in production'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/keathley/alchemy";
-            };
-          } // packageOverrides)
-      ) {};
-
-    alchemy = alchemy_0_0_1;
-
-    aleppo_0_9_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "aleppo";
-            version = "0.9.0";
-            src = fetchHex {
-              pkg = "aleppo";
-              version = "0.9.0";
-              sha256 =
-                "2f360631d64da53f40621714e157fd33805a95d0160d5c62fcfb3e132986ce71";
-            };
-
-            meta = {
-              description = ''Aleppo: ALternative Erlang Pre-ProcessOr'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/ErlyORM/aleppo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    aleppo = aleppo_0_9_0;
-
-    alexa_0_1_14 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "alexa";
-            version = "0.1.14";
-            src = fetchHex {
-              pkg = "alexa";
-              version = "0.1.14";
-              sha256 =
-                "a15cc63ef736f45326a3065ff59e1211365929387957f246e7b8cee76a31bbe8";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              description = ''Framework for implementing an Amazon Alexa
-                            Skill.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/col/alexa";
-            };
-          } // packageOverrides)
-      ) {};
-
-    alexa = alexa_0_1_14;
-
-    alexa_plug_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "alexa_plug";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "alexa_plug";
-              version = "0.2.0";
-              sha256 =
-                "a78f6fa5e3ba33ce0943f4cb96d6cfcc9b36637a4575314469c8a0d45fff40d0";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              longDescription = ''A simple set of plugs and utilities for
-                                interfacing with the Amazon Echo and the Alexa
-                                Skills Kit.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jordantdavis/alexa_plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    alexa_plug = alexa_plug_0_2_0;
-
-    alexa_web_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4,
-          alexa_0_1_14
-        }:
-          buildMix ({
-            name = "alexa_web";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "alexa_web";
-              version = "0.0.2";
-              sha256 =
-                "e60a7fa60eb52bbb91e445cf0ee3781e0e2a148855befa638b274e6720421126";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 alexa_0_1_14 ];
-
-            meta = {
-              description = ''A web endpoint for deploying one or a collection
-                            of Amazon Alexa Skills'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/col/alexa_web";
-            };
-          } // packageOverrides)
-      ) {};
-
-    alexa_web = alexa_web_0_0_2;
-
-    algae_0_10_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, quark_1_0_2 }:
-          buildMix ({
-            name = "algae";
-            version = "0.10.0";
-            src = fetchHex {
-              pkg = "algae";
-              version = "0.10.0";
-              sha256 =
-                "02d89132d99da1e13271007d1109be958ef8b3b7a5e64323299b84d0aa2353e1";
-            };
-            beamDeps  = [ quark_1_0_2 ];
-
-            meta = {
-              description = ''Bootstrapped algebraic data types for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/robot-overlord/algae";
-            };
-          } // packageOverrides)
-      ) {};
-
-    algae = algae_0_10_0;
-
-    amazon_product_advertising_client_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_1_0_2,
-          sweet_xml_0_6_1,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "amazon_product_advertising_client";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "amazon_product_advertising_client";
-              version = "0.1.1";
-              sha256 =
-                "406111cedbd475cab29bdcc69f48ddc3670e57d2e3294e8d948c117ae492951c";
-            };
-            beamDeps  = [ timex_1_0_2 sweet_xml_0_6_1 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Amazon Product Advertising API client for
-                            Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/zachgarwood/elixir-amazon-product-advertising-client";
-            };
-          } // packageOverrides)
-      ) {};
-
-    amazon_product_advertising_client =
-      amazon_product_advertising_client_0_1_1;
-
-    amnesia_0_2_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exquisite_0_1_6 }:
-          buildMix ({
-            name = "amnesia";
-            version = "0.2.4";
-            src = fetchHex {
-              pkg = "amnesia";
-              version = "0.2.4";
-              sha256 =
-                "fba1e39f5c51d860b22618046a25525170530bc595d0f2dbb45f070c3b40da8f";
-            };
-            beamDeps  = [ exquisite_0_1_6 ];
-
-            meta = {
-              description = ''mnesia wrapper for Elixir'';
-              license = stdenv.lib.licenses.wtfpl;
-              homepage = "https://github.com/meh/amnesia";
-            };
-          } // packageOverrides)
-      ) {};
-
-    amnesia = amnesia_0_2_4;
-
-    anagram_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "anagram";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "anagram";
-              version = "1.0.0";
-              sha256 =
-                "8c41013b8b586728adbf821fe809c277e30f99323138b8e8ccff2311317c8fac";
-            };
-
-            meta = {
-              longDescription = ''Find anagrams of words and \"words that can
-                                be made with a set of letters\" (sort of a sub
-                                anagram)'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/ewildgoose/elixir-anagram";
-            };
-          } // packageOverrides)
-      ) {};
-
-    anagram = anagram_1_0_0;
-
-    anaphora_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "anaphora";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "anaphora";
-              version = "0.1.2";
-              sha256 =
-                "fb60a214b2be57d7a08aa8237cd7afb009b637563d64ed5e6ec486e36c484001";
-            };
-
-            meta = {
-              description = ''The anaphoric macro collection for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sviridov/anaphora-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    anaphora = anaphora_0_1_2;
-
-    anilixir_1_0_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "anilixir";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "anilixir";
-              version = "1.0.0";
-              sha256 =
-                "ee5c6dfa7e5250d8ec5c9b04910e3202788ceeba231cb3ff8b22e479cc64f1c3";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Anilist API client for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sotojuan/anilixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    anilixir = anilixir_1_0_0;
-
-    apex_0_3_7 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "apex";
-            version = "0.3.7";
-            src = fetchHex {
-              pkg = "apex";
-              version = "0.3.7";
-              sha256 =
-                "a1c8313e9c909ff2489f004b3514430293b1aafb81569b93a1822d486f56080d";
-            };
-
-            meta = {
-              description = ''Elixir clone of Ruby`s awesome_print gem'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bjro/apex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    apex_0_5_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "apex";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "apex";
-              version = "0.5.0";
-              sha256 =
-                "dd8863ebef2a42be331eece2d3a2f721c4ec3c8495bc0e198703aea7927f156a";
-            };
-
-            meta = {
-              description = ''Elixir clone of Ruby`s awesome_print gem'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bjro/apex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    apex = apex_0_5_0;
-
-    apix_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "apix";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "apix";
-              version = "0.1.0";
-              sha256 =
-                "d1d809cf41731e39a6c23e02fb41c9375bf04db35c8ce595c99c03eea694f30e";
-            };
-
-            meta = {
-              longDescription = ''Simple convention and DSL for transformation
-                                of elixir functions to a documented and ready
-                                for validation API.'';
-
-              homepage = "https://github.com/liveforeverx/apix";
-            };
-          } // packageOverrides)
-      ) {};
-
-    apix = apix_0_1_0;
-
-    apns_0_9_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          poison_2_1_0,
-          connection_1_0_2
-        }:
-          buildMix ({
-            name = "apns";
-            version = "0.9.2";
-            src = fetchHex {
-              pkg = "apns";
-              version = "0.9.2";
-              sha256 =
-                "7d63bd108572fadac777006957e45db5da1a8adf2e94e76f83c89942adf54f68";
-            };
-            beamDeps  = [ poolboy_1_5_1 poison_2_1_0 connection_1_0_2 ];
-
-            meta = {
-              description = ''APNS (Apple Push Notification Service) library
-                            for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/chvanikoff/apns4ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    apns = apns_0_9_2;
-
-    ar2ecto_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ar2ecto";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "ar2ecto";
-              version = "0.1.2";
-              sha256 =
-                "a32322d39f1c0cff335b05b5c2252e531091565c3cf754811087edd2e115a718";
-            };
-
-            meta = {
-              description = ''Ar2ecto is a set of mix tasks to help you migrate
-                            from ActiveRecord to Ecto.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/aforward/ar2ecto";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ar2ecto = ar2ecto_0_1_2;
-
-    argent_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "argent";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "argent";
-              version = "0.0.1";
-              sha256 =
-                "dde0920308efca2c8dd9681057e5196f625b53ed8dff86a27242807c3653d645";
-            };
-
-            meta = {
-              description = ''A currency management library for elixir.'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    argent = argent_0_0_1;
-
-    argument_parser_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "argument_parser";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "argument_parser";
-              version = "0.1.3";
-              sha256 =
-                "2c56a6c9dfa9790aabdb8f9268ac501404376ffb13396ff515e66f1ebf64817d";
-            };
-
-            meta = {
-              description = ''More powerful argument parser for creating nice
-                            scripts'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/jisaacstone/ex_argument_parser";
-            };
-          } // packageOverrides)
-      ) {};
-
-    argument_parser = argument_parser_0_1_3;
-
-    array_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "array";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "array";
-              version = "1.0.1";
-              sha256 =
-                "626ac1383566dadee3a10357cd6d192151c6d604ee3266809daf0da6b5e33bbb";
-            };
-
-            meta = {
-              description = ''An elixir wrapper library for Erlang`s array.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/takscape/elixir-array";
-            };
-          } // packageOverrides)
-      ) {};
-
-    array = array_1_0_1;
-
-    artifact_0_4_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          porcelain_2_0_1,
-          poolboy_1_5_1,
-          plug_1_1_5
-        }:
-          buildMix ({
-            name = "artifact";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "artifact";
-              version = "0.4.0";
-              sha256 =
-                "6c66a3c745418e1f1207940c3815828d1a0f022d8186e5da593599d1f460197f";
-            };
-            beamDeps  = [ porcelain_2_0_1 poolboy_1_5_1 plug_1_1_5 ];
-
-            meta = {
-              description = ''File upload and on-the-fly processing for
-                            Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/doomspork/artifact";
-            };
-          } // packageOverrides)
-      ) {};
-
-    artifact = artifact_0_4_0;
-
-    aruspex_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          zipper_tree_0_1_1,
-          exyz_1_0_0
-        }:
-          buildMix ({
-            name = "aruspex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "aruspex";
-              version = "0.1.0";
-              sha256 =
-                "2effd16e1081a7af2e5ade9c58cdf4c4d90e2095749ccf733332be2924a6d771";
-            };
-            beamDeps  = [ zipper_tree_0_1_1 exyz_1_0_0 ];
-
-            meta = {
-              description = ''A configurable constraint solver with an API
-                            based on JSR 331.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://www.github.com/dkendal/aruspex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    aruspex = aruspex_0_1_0;
-
-    ashes_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ashes";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "ashes";
-              version = "0.0.3";
-              sha256 =
-                "2178ab8c0fa1cf53b6d6152773ae79ca6100c80861d59e55e5fa06c5979b042b";
-            };
-
-            meta = {
-              description = ''A code generation tool for the phoenix web
-                            framework'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nickgartmann/ashes";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ashes = ashes_0_0_3;
-
-    assembla_api_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "assembla_api";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "assembla_api";
-              version = "0.1.0";
-              sha256 =
-                "b4a3898de536e4820702c0f119993fd2804e91e2525d1e7eba57d8744983ef24";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Assembla API client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Assembla/ex_assembla_api";
-            };
-          } // packageOverrides)
-      ) {};
-
-    assembla_api = assembla_api_0_1_0;
-
-    assembly_line_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, gproc_0_5_0 }:
-          buildMix ({
-            name = "assembly_line";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "assembly_line";
-              version = "1.0.0";
-              sha256 =
-                "3b687890bf750cd893e8a73c261710c1014ba4d5b2247f695f7730b2a84a5473";
-            };
-            beamDeps  = [ gproc_0_5_0 ];
-
-            meta = {
-              description = ''A light-weight job queue (think DAG) manager.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/LeakyBucket/assembly_line";
-            };
-          } // packageOverrides)
-      ) {};
-
-    assembly_line = assembly_line_1_0_0;
-
-    assert_diff_0_0_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "assert_diff";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "assert_diff";
-              version = "0.0.5";
-              sha256 =
-                "ad53a2819c33d39ad2f71404a964625691e9d6bf3d63dbc28442acda71109426";
-            };
-
-            meta = {
-              description = ''assert_diff which fallbacks to git diff'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/ske77/assert_diff";
-            };
-          } // packageOverrides)
-      ) {};
-
-    assert_diff = assert_diff_0_0_5;
-
-    atomic_map_0_9_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "atomic_map";
-            version = "0.9.0";
-            src = fetchHex {
-              pkg = "atomic_map";
-              version = "0.9.0";
-              sha256 =
-                "f95d5fd4e0f5e4a8ecfead77fa1957cfbcee52307692bcd632159e01326cbf78";
-            };
-
-            meta = {
-              longDescription = ''A small utility to convert deep Elixir maps
-                                with mixed string/atom keys to atom-only keyed
-                                maps'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ruby2elixir/atomic_map";
-            };
-          } // packageOverrides)
-      ) {};
-
-    atomic_map = atomic_map_0_9_0;
-
-    auth_test_support_0_0_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "auth_test_support";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "auth_test_support";
-              version = "0.0.6";
-              sha256 =
-                "930596c61d237fbf74b86d87819f0a7df8da8ef79051294a1982ded403cb2401";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''Authentication and authorization test support
-                            functions'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/DockYard/auth_test_support";
-            };
-          } // packageOverrides)
-      ) {};
-
-    auth_test_support = auth_test_support_0_0_6;
-
-    authentic_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "authentic";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "authentic";
-              version = "0.0.1";
-              sha256 =
-                "2fba6e1efde9fef4866d17499907811a3957ded8c07866c7b34474f0f0d59e29";
-            };
-
-            meta = {
-              description = ''Auth for Phoenix'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    authentic = authentic_0_0_1;
-
-    auto_doc_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          plug_1_1_5
-        }:
-          buildMix ({
-            name = "auto_doc";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "auto_doc";
-              version = "0.0.2";
-              sha256 =
-                "9c4b30c526e59f63173fe2f0d0c360ac678f1e7a11adcf209dfc843a3e63e6f7";
-            };
-            beamDeps  = [ poison_1_5_2 plug_1_1_5 ];
-
-            meta = {
-              description = ''A package that will create REST API docs based on
-                            your ExUnit tests.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/meatherly/auto_doc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    auto_doc = auto_doc_0_0_2;
-
-    autobots_license_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "autobots_license";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "autobots_license";
-              version = "0.1.0";
-              sha256 =
-                "7cfa258ce5eff01018dfd6faf509b430d03770fb733c1b10217b9e52770014b3";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {    };
-          } // packageOverrides)
-      ) {};
-
-    autobots_license = autobots_license_0_1_0;
-
-    avex_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "avex";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "avex";
-              version = "0.2.0";
-              sha256 =
-                "e63970026cc566e9aa9c24c261f43843a7553835d2009b16e838217644ded815";
-            };
-
-            meta = {
-              description = ''Awesome validations for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jonhkr/avex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    avex = avex_0_2_0;
-
-    aws_0_0_11 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_2_1_6,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "aws";
-            version = "0.0.11";
-            src = fetchHex {
-              pkg = "aws";
-              version = "0.0.11";
-              sha256 =
-                "f9f3f9b0e02bb6aa29268a746b2110deaebe34f205d689e9d57ccb90f0caf072";
-            };
-            beamDeps  = [ timex_2_1_6 poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''AWS clients for Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/jkakar/aws-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    aws = aws_0_0_11;
-
-    aws_auth_0_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_2_1_6 }:
-          buildMix ({
-            name = "aws_auth";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "aws_auth";
-              version = "0.4.0";
-              sha256 =
-                "67f28f8e4ffdd3f3155e124f20ef325ff32ea3f525cf85e2df96f2f09d245976";
-            };
-            beamDeps  = [ timex_2_1_6 ];
-
-            meta = {
-              description = ''AWS Signature Version 4 Signing Library'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/bryanjos/aws_auth";
-            };
-          } // packageOverrides)
-      ) {};
-
-    aws_auth = aws_auth_0_4_0;
-
-    aws_cli_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, erlexec_1_1_0 }:
-          buildRebar3 ({
-            name = "aws_cli";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "aws_cli";
-              version = "0.1.0";
-              sha256 =
-                "14fd91c4752a5eb5b2c781c4843589824b35750d7785b57e0460ba6d96bfe8c1";
-            };
-
-            beamDeps  = [ erlexec_1_1_0 ];
-
-            meta = {
-              description = ''AWS cli wrapper for Erlang'';
-
-              homepage = "https://github.com/fyler/aws_cli";
-            };
-          } // packageOverrides)
-      ) {};
-
-    aws_cli = aws_cli_0_1_0;
-
-    azure_push_client_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "azure_push_client";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "azure_push_client";
-              version = "0.0.2";
-              sha256 =
-                "d58bbac5e5260d92ef62916e74dbb8743e413a9f69afa2d8e1940071407a2f06";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Azure Push Client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/chaione/azure_push_client";
-            };
-          } // packageOverrides)
-      ) {};
-
-    azure_push_client = azure_push_client_0_0_2;
-
-    b2_0_0_6 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "b2";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "b2";
-              version = "0.0.6";
-              sha256 =
-                "f8b33d1ec36576dfbca3f2f4c5fad1a9a227207d1ef63b3a388778e8fad3333a";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir B2 cloud API wrapper'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    b2 = b2_0_0_6;
-
-    bamboo_0_3_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "bamboo";
-            version = "0.3.2";
-            src = fetchHex {
-              pkg = "bamboo";
-              version = "0.3.2";
-              sha256 =
-                "1b4bfdddae49f6fc66616c63b4d2d9a0e99d40a08619004f5c4f4e4aebfa20ed";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''Straightforward, powerful, and adapter based
-                                Elixir email library. Works with Mandrill,
-                                Mailgun, SendGrid, SparkPost, in-memory, and
-                                test.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/paulcsmith/bamboo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bamboo_0_5_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          plug_1_1_5,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "bamboo";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "bamboo";
-              version = "0.5.0";
-              sha256 =
-                "29e46e8c9e861e93103cde6fab9712bb077317e517af75a05e118763f7c5fc35";
-            };
-            beamDeps  = [ poison_2_1_0 plug_1_1_5 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''Straightforward, powerful, and adapter based
-                                Elixir email library. Works with Mandrill,
-                                Mailgun, SendGrid, SparkPost, in-memory, and
-                                test.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/paulcsmith/bamboo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bamboo_0_6_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          plug_1_1_5,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "bamboo";
-            version = "0.6.0";
-            src = fetchHex {
-              pkg = "bamboo";
-              version = "0.6.0";
-              sha256 =
-                "81a48add86d8b08da8a4ca8249caa0d42cb51d0cb654bf8ed921f3055995441d";
-            };
-            beamDeps  = [ poison_2_1_0 plug_1_1_5 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''Straightforward, powerful, and adapter based
-                                Elixir email library. Works with Mandrill,
-                                Mailgun, SendGrid, SparkPost, in-memory, and
-                                test.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/paulcsmith/bamboo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bamboo = bamboo_0_6_0;
-
-    bamboo_smtp_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          gen_smtp_0_10_0,
-          bamboo_0_5_0
-        }:
-          buildMix ({
-            name = "bamboo_smtp";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "bamboo_smtp";
-              version = "0.0.2";
-              sha256 =
-                "34c621806c8f9a2e316d5bc5f63bf85f5387418ff60222a383189611a367de4d";
-            };
-            beamDeps  = [ gen_smtp_0_10_0 bamboo_0_5_0 ];
-
-            meta = {
-              description = ''A Bamboo adapter for SMTP'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/fewlinesco/bamboo_smtp";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bamboo_smtp = bamboo_smtp_0_0_2;
-
-    bamboo_sparkpost_0_5_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, bamboo_0_6_0 }:
-          buildMix ({
-            name = "bamboo_sparkpost";
-            version = "0.5.1";
-            src = fetchHex {
-              pkg = "bamboo_sparkpost";
-              version = "0.5.1";
-              sha256 =
-                "dc4165282d13fe431b78dbf04db5e280bc4fef9f87d3b0e20e78e008c8c6b3de";
-            };
-            beamDeps  = [ bamboo_0_6_0 ];
-
-            meta = {
-              description = ''A Bamboo adapter for the SparkPost email
-                            service'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/andrewtimberlake/bamboo_sparkpost";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bamboo_sparkpost = bamboo_sparkpost_0_5_1;
-
-    bankster_0_2_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "bankster";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "bankster";
-              version = "0.2.2";
-              sha256 =
-                "000df06a7701e11f1b9cba4595873f8c7d8e55afde22153fd3d6d19e55bc29f7";
-            };
-
-            meta = {
-              description = ''Bankster is an IBAN and BIC validation tool for
-                            Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/railsmechanic/bankster";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bankster = bankster_0_2_2;
-
-    banner_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "banner";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "banner";
-              version = "0.1.0";
-              sha256 =
-                "309a752cd592bd8dda3526865d050b1e20a953baed8b7480d0489001688f7a0f";
-            };
-
-            meta = {
-              description = ''It is Elixir sysvbanner port from
-                            https://github.com/uffejakobsen/sysvbanner.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/winebarrel/elixir-sysvbanner";
-            };
-          } // packageOverrides)
-      ) {};
-
-    banner = banner_0_1_0;
-
-    barrel_ibrowse_4_2_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "barrel_ibrowse";
-            version = "4.2.0";
-            src = fetchHex {
-              pkg = "barrel_ibrowse";
-              version = "4.2.0";
-              sha256 =
-                "58bd9e45932c10fd3d0ceb5c4e47952c3243ea300b388192761ac20be197b2ca";
-            };
-
-            meta = {
-              description = ''Erlang HTTP client application'';
-
-              homepage = "https://github.com/barrel-db/ibrowse";
-            };
-          } // packageOverrides)
-      ) {};
-
-    barrel_ibrowse = barrel_ibrowse_4_2_0;
-
-    barrel_oauth_1_6_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "barrel_oauth";
-            version = "1.6.0";
-            src = fetchHex {
-              pkg = "barrel_oauth";
-              version = "1.6.0";
-              sha256 =
-                "b2a800b771d45f32a9a55d416054b3bdfab3a925b62e8000f2c08b719390d4dd";
-            };
-
-            meta = {
-              description = ''An Erlang OAuth 1.0 implementation'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/barrel-db/erlang-oauth";
-            };
-          } // packageOverrides)
-      ) {};
-
-    barrel_oauth = barrel_oauth_1_6_0;
-
-    base16_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "base16";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "base16";
-              version = "1.0.0";
-              sha256 =
-                "02afd0827e61a7b07093873e063575ca3a2b07520567c7f8cec7c5d42f052d76";
-            };
-
-            meta = {
-              description = ''Base16 encoding and decoding'';
-              license = with stdenv.lib.licenses; [ bsd3 free ];
-              homepage = "https://github.com/goj/base16";
-            };
-          } // packageOverrides)
-      ) {};
-
-    base16 = base16_1_0_0;
-
-    base36_1_0_0 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, custom_base_0_2_0
-        }:
-          buildMix ({
-            name = "base36";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "base36";
-              version = "1.0.0";
-              sha256 =
-                "6022d73272ebd0a6f600248da05b47576b94f064c6444dd0401df67e717c189e";
-            };
-            beamDeps  = [ custom_base_0_2_0 ];
-
-            meta = {
-              description = ''Base36 encoder/decoder.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nscyclone/base36";
-            };
-          } // packageOverrides)
-      ) {};
-
-    base36 = base36_1_0_0;
-
-    base58_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "base58";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "base58";
-              version = "0.1.0";
-              sha256 =
-                "e9746b7fa618f15d22e3098e06b35083977aff8fe0594628baae282769a2ceff";
-            };
-
-            meta = {
-              description = ''Base58 encoding/decoding for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jrdnull/base58";
-            };
-          } // packageOverrides)
-      ) {};
-
-    base58 = base58_0_1_0;
-
-    base58check_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "base58check";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "base58check";
-              version = "0.1.0";
-              sha256 =
-                "29617beb2aaffe27ef40d7232a60beb5ad208667df4f2b619552367698cd4ca4";
-            };
-
-            meta = {
-              description = ''Elixir implementation of Base58Check encoding
-                            meant for Bitcoin '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gjaldon/base58check";
-            };
-          } // packageOverrides)
-      ) {};
-
-    base58check = base58check_0_1_0;
-
-    base62_1_2_0 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, custom_base_0_2_0
-        }:
-          buildMix ({
-            name = "base62";
-            version = "1.2.0";
-            src = fetchHex {
-              pkg = "base62";
-              version = "1.2.0";
-              sha256 =
-                "14aac55c7978b7a710906ee29df65ba1cee5af2d43efe236c96311696618088b";
-            };
-            beamDeps  = [ custom_base_0_2_0 ];
-
-            meta = {
-              description = ''Base62 encoder/decoder in pure Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/igas/base62";
-            };
-          } // packageOverrides)
-      ) {};
-
-    base62 = base62_1_2_0;
-
-    base64url_0_0_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "base64url";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "base64url";
-              version = "0.0.1";
-              sha256 =
-                "fab09b20e3f5db886725544cbcf875b8e73ec93363954eb8a1a9ed834aa8c1f9";
-            };
-
-            meta = {
-              description = ''URL safe base64-compatible codec'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/dvv/base64url";
-            };
-          } // packageOverrides)
-      ) {};
-
-    base64url = base64url_0_0_1;
-
-    basex_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "basex";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "basex";
-              version = "0.2.1";
-              sha256 =
-                "190fcbb9d03fe325aee3bc1eea67e663ace1209d4515518c25098e307070f551";
-            };
-
-            meta = {
-              description = ''BaseX - arbitrary alphabet encoding'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/basex_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    basex = basex_0_2_1;
-
-    basho_poolboy_0_8_1_p3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "basho_poolboy";
-            version = "0.8.1-p3";
-            src = fetchHex {
-              pkg = "basho_poolboy";
-              version = "0.8.1-p3";
-              sha256 =
-                "8e2ead104eaa80bbfcf5c688774f4ddab73733cab79230e78d097c7ba880c42d";
-            };
-
-            meta = {
-              description = ''A hunky Erlang worker pool factory'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/basho/riak_sysmon";
-            };
-          } // packageOverrides)
-      ) {};
-
-    basho_poolboy = basho_poolboy_0_8_1_p3;
-
-    basho_stats_1_0_3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "basho_stats";
-            version = "1.0.3";
-            src = fetchHex {
-              pkg = "basho_stats";
-              version = "1.0.3";
-              sha256 =
-                "d739e733b1c8afcaa467289fca50221753fc8cde6e7b53a79b67f98a2a261f5a";
-            };
-
-            meta = {
-              description = ''Basic Erlang statistics library'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/basho/basho_stats";
-            };
-          } // packageOverrides)
-      ) {};
-
-    basho_stats = basho_stats_1_0_3;
-
-    batcher_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "batcher";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "batcher";
-              version = "0.0.1";
-              sha256 =
-                "738a930f809603dc21e6612c1df38cbc452887ddf34670d20f05e136231f3671";
-            };
-
-            meta = {
-              longDescription = ''Process a backlog of items after it has grown
-                                to a certain size or a defined time has
-                                passed'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/behe/batcher";
-            };
-          } // packageOverrides)
-      ) {};
-
-    batcher = batcher_0_0_1;
-
-    battlenet_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "battlenet";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "battlenet";
-              version = "0.0.2";
-              sha256 =
-                "cdd4e182da5a2db478e0da9ac1a467fc8f2b8ec638e3e38dd7962ff3fe8c9342";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir library for the Battle.net API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/cazrin/battlenet";
-            };
-          } // packageOverrides)
-      ) {};
-
-    battlenet = battlenet_0_0_2;
-
-    bbmustache_1_0_3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "bbmustache";
-            version = "1.0.3";
-            src = fetchHex {
-              pkg = "bbmustache";
-              version = "1.0.3";
-              sha256 =
-                "d79d9f3f90d14e20bda0c801063801ce9b72b71f5831d70b8d36065fb1a52208";
-            };
-
-            meta = {
-              description = ''Binary pattern match Based Mustache template
-                            engine for Erlang/OTP'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/soranoba/bbmustache";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bbmustache_1_0_4 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "bbmustache";
-            version = "1.0.4";
-            src = fetchHex {
-              pkg = "bbmustache";
-              version = "1.0.4";
-              sha256 =
-                "03b0d47db66e86df993896dce7578d7e4aae5f84636809b45fa8a3e34ee59b12";
-            };
-
-            meta = {
-              description = ''Binary pattern match Based Mustache template
-                            engine for Erlang/OTP'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/soranoba/bbmustache";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bbmustache_1_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "bbmustache";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "bbmustache";
-              version = "1.1.0";
-              sha256 =
-                "aa22469836bb8a9928ad741bdd2038d49116228bfbe0c2d6c792e1bdd4b256d9";
-            };
-
-            meta = {
-              description = ''Binary pattern match Based Mustache template
-                            engine for Erlang/OTP'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/soranoba/bbmustache";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bbmustache = bbmustache_1_1_0;
-
-    bcrypt_0_5_0_p3a = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "bcrypt";
-            version = "0.5.0-p3a";
-            src = fetchHex {
-              pkg = "bcrypt";
-              version = "0.5.0-p3a";
-              sha256 =
-                "492decdc633399b356a3bbfe8279c10a49b1040fc082c8cbf2d30b41ff88f310";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''An Erlang wrapper (NIF or port program) for the
-                            OpenBSD password scheme, bcrypt.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/chef/erlang-bcrypt";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bcrypt = bcrypt_0_5_0_p3a;
-
-    beam_analyzer_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "beam_analyzer";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "beam_analyzer";
-              version = "0.0.3";
-              sha256 =
-                "acfb7b4d92c1147401f2de8e0fe5ad33236814a57fdcfbcb184e9292e43c7d27";
-            };
-
-            meta = {
-              description = ''Get information about Erlang/Elixir modules and
-                            BEAM files'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/joeyates/beam_analyzer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    beam_analyzer = beam_analyzer_0_0_3;
-
-    bear_0_8_3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "bear";
-            version = "0.8.3";
-            src = fetchHex {
-              pkg = "bear";
-              version = "0.8.3";
-              sha256 =
-                "0a04ce4702e00e0a43c0fcdd63e38c9c7d64dceb32b27ffed261709e7c3861ad";
-            };
-
-            meta = {
-              description = ''Statistics functions for Erlang'';
-
-              homepage = "https://github.com/puzza007/bear";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bear = bear_0_8_3;
-
-    beersearch_0_0_6 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpotion_2_2_2,
-          floki_0_8_1
-        }:
-          buildMix ({
-            name = "beersearch";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "beersearch";
-              version = "0.0.6";
-              sha256 =
-                "d830a7e1a6384d62b1dca430b6ab7dd99467f4ca1555a2ce7fed9422c3c86c6a";
-            };
-            beamDeps  = [ httpotion_2_2_2 floki_0_8_1 ];
-
-            meta = {
-              description = ''A simple Elixir module that searches for beers on
-                            Untappd.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nicksergeant/elixir-beersearch";
-            };
-          } // packageOverrides)
-      ) {};
-
-    beersearch = beersearch_0_0_6;
-
-    bees_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          plug_1_1_5,
-          jsx_2_8_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "bees";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "bees";
-              version = "0.0.2";
-              sha256 =
-                "3b6c0eee9359a87aff7b7e625a571a646d1932f8b4835fc18cc14f07cf0810fc";
-            };
-            beamDeps  = [ poison_2_1_0 plug_1_1_5 jsx_2_8_0 httpoison_0_8_3
-                      ];
-
-            meta = {
-              description = ''Foursquare API client for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/danieltomlinson/bees";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bees = bees_0_0_2;
-
-    belixir_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "belixir";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "belixir";
-              version = "0.2.0";
-              sha256 =
-                "1d4cea63bf593f8ccdbad32270158704d65aa6f88ee2df48422aced2566465e3";
-            };
-
-            meta = {
-              longDescription = ''Benchmark ips tool for elixir-lang. Runs
-                                given codes in given seconds and compares
-                                them.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/meinac/belixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    belixir = belixir_0_2_0;
-
-    belvedere_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "belvedere";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "belvedere";
-              version = "0.0.1";
-              sha256 =
-                "b222f5c3ab855655b7950681542e2c3941c52533bd8b6cbb08be60f91427113e";
-            };
-
-            meta = {
-              description = ''An example Elixir project with CircleCI, Docker,
-                            Dialyzer integration.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "http://nirvana.io";
-            };
-          } // packageOverrides)
-      ) {};
-
-    belvedere = belvedere_0_0_1;
-
-    benchee_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "benchee";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "benchee";
-              version = "0.2.0";
-              sha256 =
-                "892b4463b3add8cb0a1c68fc45e03c6297895979bd0c77283460bad90d029dc3";
-            };
-
-            meta = {
-              longDescription = ''Versatile (micro) benchmarking that is
-                                extensible. Get statistics such as: average,
-                                iterations per second, standard deviation and
-                                the median.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/PragTob/benchee";
-            };
-          } // packageOverrides)
-      ) {};
-
-    benchee = benchee_0_2_0;
-
-    benchee_csv_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          csv_1_4_1,
-          benchee_0_2_0
-        }:
-          buildMix ({
-            name = "benchee_csv";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "benchee_csv";
-              version = "0.2.0";
-              sha256 =
-                "43a864f1be2e9755a7cfed9e7a26aec466887773a76d1a9ef04f8737fe5b3968";
-            };
-            beamDeps  = [ csv_1_4_1 benchee_0_2_0 ];
-
-            meta = {
-              description = ''Get CSV from your benchee benchmarks to them into
-                            graphs or whatever!'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/PragTob/benchee_csv";
-            };
-          } // packageOverrides)
-      ) {};
-
-    benchee_csv = benchee_csv_0_2_0;
-
-    benchfella_0_3_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "benchfella";
-            version = "0.3.2";
-            src = fetchHex {
-              pkg = "benchfella";
-              version = "0.3.2";
-              sha256 =
-                "322270993f38246b02c8a98d64491a2b46a4efef5667a479d55a49ec53ea6dcf";
-            };
-
-            meta = {
-              description = ''Microbenchmarking tool for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/alco/benchfella";
-            };
-          } // packageOverrides)
-      ) {};
-
-    benchfella = benchfella_0_3_2;
-
-    benchmark_ips_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "benchmark_ips";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "benchmark_ips";
-              version = "0.2.0";
-              sha256 =
-                "7c55c4317dae5b8dae6a655e25a7aa491acd076e36efb9c9852a789a3592b703";
-            };
-
-            meta = {
-              description = ''A tool to run benchmarks to determine iteration
-                            per second.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mxhold/benchmark_ips";
-            };
-          } // packageOverrides)
-      ) {};
-
-    benchmark_ips = benchmark_ips_0_2_0;
-
-    bencode_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, eqc_ex_1_2_4 }:
-          buildMix ({
-            name = "bencode";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "bencode";
-              version = "0.3.0";
-              sha256 =
-                "98d397fd0a13ba47bfb51927fede25c780539d38946e6d53c6b83c998636a002";
-            };
-            beamDeps  = [ eqc_ex_1_2_4 ];
-
-            meta = {
-              longDescription = ''A complete and correct Bencode encoder and
-                                decoder written in pure Elixir. The decoder will
-                                return the info hash with along with the decoded
-                                data, and the encoder is implemented as a
-                                protocol, allowing any data structure to be
-                                bcode encoded.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/gausby/bencode";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bencode_0_3_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, eqc_ex_1_2_4 }:
-          buildMix ({
-            name = "bencode";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "bencode";
-              version = "0.3.1";
-              sha256 =
-                "a66ba85941c0115fae4f96309d6a1eeeee12571aef72a53bf2c990f236b895be";
-            };
-            beamDeps  = [ eqc_ex_1_2_4 ];
-
-            meta = {
-              longDescription = ''A complete and correct Bencode encoder and
-                                decoder written in pure Elixir. The decoder will
-                                return the info hash with along with the decoded
-                                data, and the encoder is implemented as a
-                                protocol, allowing any data structure to be
-                                bcode encoded.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/gausby/bencode";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bencode = bencode_0_3_1;
-
-    bencodex_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "bencodex";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "bencodex";
-              version = "1.0.0";
-              sha256 =
-                "a70c319eed907d4d0520bf2ed6eedc77cbf1312274b144341dc4ecc74136124d";
-            };
-
-            meta = {
-              description = ''Encoder and decoder for the bencode format'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/patrickgombert/bencodex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bencodex = bencodex_1_0_0;
-
-    bento_0_9_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "bento";
-            version = "0.9.2";
-            src = fetchHex {
-              pkg = "bento";
-              version = "0.9.2";
-              sha256 =
-                "8be4312c4eacf57ef0c319f5ddd0b31872b510dc8ca02c64206ee648ec0f91d1";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              description = ''An incredibly fast, pure Elixir Bencoding
-                            library.'';
-              license = stdenv.lib.licenses.mpl20;
-              homepage = "https://github.com/folz/bento";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bento = bento_0_9_2;
-
-    bert_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "bert";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "bert";
-              version = "0.1.0";
-              sha256 =
-                "2a561521ec3529b248658a3e2d3d4bfe6729b0ab8291c701bf15ef413eda1506";
-            };
-
-            meta = {
-              description = ''BERT Encoder/Decoder'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/yuce/bert.erl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bert = bert_0_1_0;
-
-    big_query_0_0_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          jose_1_4_2,
-          httpoison_0_8_2
-        }:
-          buildMix ({
-            name = "big_query";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "big_query";
-              version = "0.0.5";
-              sha256 =
-                "f15795ee81245699d2d7a5cbf667637cbfc56a6b52143cacdfa145c0c4c11fbf";
-            };
-            beamDeps  = [ poison_2_1_0 jose_1_4_2 httpoison_0_8_2 ];
-
-            meta = {
-              description = ''A Google BigQuery API client.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/companykitchen/big_query";
-            };
-          } // packageOverrides)
-      ) {};
-
-    big_query = big_query_0_0_5;
-
-    bigflake_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, base62_1_2_0 }:
-          buildMix ({
-            name = "bigflake";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "bigflake";
-              version = "0.3.0";
-              sha256 =
-                "18505f0ca3a7b77fe267840b9172ec5000e118587cb36d148d73c5e642c400a5";
-            };
-            beamDeps  = [ base62_1_2_0 ];
-
-            meta = {
-              description = ''128-bit, k-ordered, conflict-free IDs Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/stevedomin/bigflake";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bigflake = bigflake_0_3_0;
-
-    billiards_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "billiards";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "billiards";
-              version = "0.0.1";
-              sha256 =
-                "5b8d8eab12e35c0c7eff5be02a4adf0a7aa4cf10688a5faeec9b10f2c2f04046";
-            };
-             meta = {    };
-          } // packageOverrides)
-      ) {};
-
-    billiards = billiards_0_0_1;
-
-    bin_format_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "bin_format";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "bin_format";
-              version = "0.0.1";
-              sha256 =
-                "f73b9d1691499964d248b4a19b56284b2c51652015a63b77c2688b92cb55d66a";
-            };
-
-            meta = {
-              longDescription = ''Automatically generate the boilerplate to
-                                convert between binaries and Elixir structs.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/willpenington/bin_format";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bin_format = bin_format_0_0_1;
-
-    bing_translator_0_2_7 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_2_1_6,
-          poison_1_5_2,
-          httpoison_0_8_3,
-          floki_0_8_1
-        }:
-          buildMix ({
-            name = "bing_translator";
-            version = "0.2.7";
-            src = fetchHex {
-              pkg = "bing_translator";
-              version = "0.2.7";
-              sha256 =
-                "6dc4e9680f93ebc3f63bce85cbadf592145e635279dc23da87b2cb83d93b08ff";
-            };
-            beamDeps  = [
-                          timex_2_1_6 poison_1_5_2 httpoison_0_8_3 floki_0_8_1
-                        ];
-
-            meta = {
-              longDescription = ''Translate strings using the Bing HTTP API.
-                                Requires that you have a Client ID and Secret.
-                                See README.md for information.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ikeikeikeike/bing_translator";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bing_translator = bing_translator_0_2_7;
-
-    binstructor_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "binstructor";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "binstructor";
-              version = "0.0.1";
-              sha256 =
-                "ab6e619628d4308a47744dcf9dd0c9ff48f4a5cc5e00ce6bb3852d92e654ba74";
-            };
-
-            meta = {
-              longDescription = ''Automatically generate the boilerplate to
-                                convert between binaries and Elixir structs.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/willpenington/binstructor";
-            };
-          } // packageOverrides)
-      ) {};
-
-    binstructor = binstructor_0_0_1;
-
-    biometrics_facade_1_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "biometrics_facade";
-            version = "1.2.0";
-            src = fetchHex {
-              pkg = "biometrics_facade";
-              version = "1.2.0";
-              sha256 =
-                "b0b40c11fc884229936e6547a31c44eae3fedea0bd47355e33153c8b8c7dd81b";
-            };
-            beamDeps  = [ poison_1_5_2 httpotion_2_2_2 ];
-
-            meta = {
-              description = ''An API facade for a private biometrics
-                            service.'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    biometrics_facade = biometrics_facade_1_2_0;
-
-    bit_field_set_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, eqc_ex_1_2_4 }:
-          buildMix ({
-            name = "bit_field_set";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "bit_field_set";
-              version = "0.1.0";
-              sha256 =
-                "63a9c8eb05dc0f9cd79590d718db56ccc1b41cd48d91457d94754a44a2663044";
-            };
-            beamDeps  = [ eqc_ex_1_2_4 ];
-
-            meta = {
-              longDescription = ''Store and manipulate a set of bit flags,
-                                mostly used for syncing the state between peers
-                                in a peer to peer network, such as
-                                BitTorrent.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/gausby/bit_field_set";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bit_field_set = bit_field_set_0_1_0;
-
-    bitcask_2_0_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "bitcask";
-            version = "2.0.2";
-            src = fetchHex {
-              pkg = "bitcask";
-              version = "2.0.2";
-              sha256 =
-                "666bd79d17faabd62a626ed6fc98176b818266f7bb9639d76244f003ed5b2fe2";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''Bitcask key value store'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/basho/bitcask";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bitcask = bitcask_2_0_2;
-
-    bitfield_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "bitfield";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "bitfield";
-              version = "1.0.0";
-              sha256 =
-                "0f1ca3f3e9f8661cc2686561717c326309541f95e4f82f7b7d927e150f5f7b5a";
-            };
-
-            meta = {
-              description = ''Simple bitfields for erlang/elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/bitfield.erl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bitfield = bitfield_1_0_0;
-
-    bitmap_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "bitmap";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "bitmap";
-              version = "1.0.0";
-              sha256 =
-                "c33ca1dd28d6979e61f3517140ef71e80f8ded4029debabbb6482ef650384b34";
-            };
-
-            meta = {
-              longDescription = ''Package to help you create and work with
-                                bitmaps
-                                (https://en.wikipedia.org/wiki/Bitmap)'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hashd/bitmap-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bitmap = bitmap_1_0_0;
-
-    blacksmith_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, faker_0_6_0 }:
-          buildMix ({
-            name = "blacksmith";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "blacksmith";
-              version = "0.1.3";
-              sha256 =
-                "d070295cac13fef8d05cc50b900413e8e6dd863f4958bd55986b56d3874a20b4";
-            };
-            beamDeps  = [ faker_0_6_0 ];
-
-            meta = {
-              description = ''Elixir fake data generation for testing and
-                            development'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/batate/blacksmith";
-            };
-          } // packageOverrides)
-      ) {};
-
-    blacksmith = blacksmith_0_1_3;
-
-    blaguth_1_2_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "blaguth";
-            version = "1.2.1";
-            src = fetchHex {
-              pkg = "blaguth";
-              version = "1.2.1";
-              sha256 =
-                "2900dc5b7c6f7810bdf5e0ede8749632997811ae5b72ada34f59699b4310a65a";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Basic Access Authentication in Plug
-                            applications.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/lexmag/blaguth";
-            };
-          } // packageOverrides)
-      ) {};
-
-    blaguth = blaguth_1_2_1;
-
-    blake2_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "blake2";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "blake2";
-              version = "0.1.0";
-              sha256 =
-                "5d1ac81724568d173ef9fa198b37abe39eb54ecd1f4871d8c62aabaf5d1ace25";
-            };
-
-            meta = {
-              description = ''BLAKE2 hash functions'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/blake2_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    blake2 = blake2_0_1_0;
-
-    blanket_0_3_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "blanket";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "blanket";
-              version = "0.3.1";
-              sha256 =
-                "9d7f382c1254b83ba3334d143b942afd4a03c0ae1d32f7fee5fd3de184f4c016";
-            };
-
-            meta = {
-              description = ''Blanket covers your tables ! Don`t loose your ETS
-                            tables with Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/niahoo/blanket";
-            };
-          } // packageOverrides)
-      ) {};
-
-    blanket = blanket_0_3_1;
-
-    blast_furnace_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "blast_furnace";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "blast_furnace";
-              version = "0.0.1";
-              sha256 =
-                "361bff3352803779f481ce56662228825c74ef45d34d05c79df5f56a37a2adb2";
-            };
-
-            meta = {
-              description = ''Elixir port of invaluable blast furnace
-                            functionality'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/markryall/blast_furnace_exs";
-            };
-          } // packageOverrides)
-      ) {};
-
-    blast_furnace = blast_furnace_0_0_1;
-
-    blaze_cloud_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_0_1,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "blaze_cloud";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "blaze_cloud";
-              version = "0.0.1";
-              sha256 =
-                "c5a26f194691d7c40a008c5aded034ca0a43d4fa6a9173952333479cf2661b2b";
-            };
-            beamDeps  = [ poison_2_0_1 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir Library for Backblaze B2 Cloud Storage.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/PerishableDave/blaze_cloud";
-            };
-          } // packageOverrides)
-      ) {};
-
-    blaze_cloud = blaze_cloud_0_0_1;
-
-    blazon_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "blazon";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "blazon";
-              version = "0.2.0";
-              sha256 =
-                "ef63180cafb9241602feb79155919e18eebd8da62e79544e4dae4273522f58c7";
-            };
-
-            meta = {
-              description = ''Declarative abstract serializers.'';
-              license = stdenv.lib.licenses.publicDomain;
-              homepage = "https://github.com/mtwilliams/blazon";
-            };
-          } // packageOverrides)
-      ) {};
-
-    blazon = blazon_0_2_0;
-
-    blockchain_info_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "blockchain_info";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "blockchain_info";
-              version = "0.0.2";
-              sha256 =
-                "81593db73e409e008a785798ee7e5482d4274fd5e748e8d74f458c1e187e822b";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''WIP BlockchainInfo API wrapper for Elixir.
-                                Provides access to bitcoin blockchain data.'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/cyberpunk-ventures/blockchain_info_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    blockchain_info = blockchain_info_0_0_2;
-
-    blocking_queue_1_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "blocking_queue";
-            version = "1.3.0";
-            src = fetchHex {
-              pkg = "blocking_queue";
-              version = "1.3.0";
-              sha256 =
-                "10f2b942a29f83c3bfef6285096d7f42028201c89f317c731e708b528a7fc17d";
-            };
-
-            meta = {
-              longDescription = ''BlockingQueue is a simple queue implemented
-                                as a GenServer. It has a fixed maximum length
-                                established when it is created.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/joekain/BlockingQueue";
-            };
-          } // packageOverrides)
-      ) {};
-
-    blocking_queue = blocking_queue_1_3_0;
-
-    bloodhound_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "bloodhound";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "bloodhound";
-              version = "0.1.1";
-              sha256 =
-                "6aaab638fe90fc3714b650b659df774c7cdb12d098fee3910952e0a0f8fcd6ec";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An ElasticSearch library for Elixir that can be
-                            easily integrated with Ecto'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ianwalter/bloodhound";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bloodhound = bloodhound_0_1_1;
-
-    bloom_filter_1_0_1 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, math_0_2_0, fnv_0_3_2
-        }:
-          buildMix ({
-            name = "bloom_filter";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "bloom_filter";
-              version = "1.0.1";
-              sha256 =
-                "324d819a3901c0318e9cea51cc4a5555cc15ad6243c7150676e6e1b76d7aa081";
-            };
-            beamDeps  = [ math_0_2_0 fnv_0_3_2 ];
-
-            meta = {
-              longDescription = ''Bloom Filter implementation in Elixir. Bloom
-                                filters are probabilistic data structures
-                                designed to efficiently tell you whether an
-                                element is present in a set.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Leventhan/bloom_filter";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bloom_filter = bloom_filter_1_0_1;
-
-    bloomex_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "bloomex";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "bloomex";
-              version = "1.0.1";
-              sha256 =
-                "2d8424142550f226043e4e6fc05c10552022dfb8f5fe3e5f131252c8da45f6e9";
-            };
-
-            meta = {
-              description = ''Bloomex is a pure Elixir implementation of
-                            Scalable Bloom Filters.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gmcabrita/bloomex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bloomex = bloomex_1_0_1;
-
-    blume_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "blume";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "blume";
-              version = "0.1.0";
-              sha256 =
-                "8a87a43607d9dab1e3138052c18355bc1fc2a98bbcc4cb1657494c395aca0fd6";
-            };
-
-            meta = {
-              description = ''Pure erlang bloom Filters'';
-              license = stdenv.lib.licenses.free;
-            };
-          } // packageOverrides)
-      ) {};
-
-    blume = blume_0_1_0;
-
-    bmark_1_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "bmark";
-            version = "1.0.3";
-            src = fetchHex {
-              pkg = "bmark";
-              version = "1.0.3";
-              sha256 =
-                "243b04d2e2431d01d93f442896d5e6ee52396782c161ef0a0e4f51a353393d93";
-            };
-
-            meta = {
-              longDescription = ''A benchmarking tool for Elixir with a focus
-                                on comparing results with confidence.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/joekain/bmark";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bmark = bmark_1_0_3;
-
-    bmfont_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, tonic_0_0_1 }:
-          buildMix ({
-            name = "bmfont";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "bmfont";
-              version = "0.0.1";
-              sha256 =
-                "5b52d65c0345e64b2a72c54641593de19dcd33b0e8af6c80ebc29485a98bd279";
-            };
-            beamDeps  = [ tonic_0_0_1 ];
-
-            meta = {
-              description = ''A BMFont file format parser'';
-              license = stdenv.lib.licenses.bsd2;
-              homepage = "https://github.com/ScrimpyCat/BMFontEx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bmfont = bmfont_0_0_1;
-
-    bookingsync_api_client_v3_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          json_0_3_3,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "bookingsync_api_client_v3";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "bookingsync_api_client_v3";
-              version = "0.0.1";
-              sha256 =
-                "7f0625828f7c38dd37f5ea0f2054b5b902851dbc9679bd354bb928a1f66c5db0";
-            };
-            beamDeps  = [ json_0_3_3 httpotion_2_2_2 ];
-
-            meta = {
-              longDescription = ''Elixir BookingSync
-                                (https://www.bookingsync.com) API v3 client.
-                                Find more at:
-                                http://developers.bookingsync.com'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/Azdaroth/ex_bookingsync_api_client_v3";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bookingsync_api_client_v3 = bookingsync_api_client_v3_0_0_1;
-
-    botan_0_1_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "botan";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "botan";
-              version = "0.1.2";
-              sha256 =
-                "43541b5c52c91e46295a015f58857c347c85a7753d7c3cd3a1f835b25fdedaa9";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir wrapper for Botan.io'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mendab1e/exBotan";
-            };
-          } // packageOverrides)
-      ) {};
-
-    botan = botan_0_1_2;
-
-    bowfish_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "bowfish";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "bowfish";
-              version = "0.1.0";
-              sha256 =
-                "fcf3cccddd5d39adf5c5aceae924854d500f99bb45af97e118695db1cb633f67";
-            };
-
-            meta = {
-              longDescription = ''A fun, positional pipe operator macro >>> for
-                                when piping to the first arg just won`t cut
-                                it.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/coconaut/bowfish";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bowfish = bowfish_0_1_0;
-
-    braintree_0_5_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "braintree";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "braintree";
-              version = "0.5.0";
-              sha256 =
-                "9610f2c63e76732e733ee7a97d6971fb0698ae7425cb9b3faba83acfa8734fac";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Native Braintree client library for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sorentwo/braintree-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    braintree = braintree_0_5_0;
-
-    braise_0_3_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_3_1 }:
-          buildMix ({
-            name = "braise";
-            version = "0.3.4";
-            src = fetchHex {
-              pkg = "braise";
-              version = "0.3.4";
-              sha256 =
-                "10325449af9365e886b2731a7709efded8e3443253c10c9af7a50fcfe5597707";
-            };
-            beamDeps  = [ poison_1_3_1 ];
-
-            meta = {
-              description = ''A library that converts JSON Schema into ember
-                            models/adapters.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/IoraHealth/braise";
-            };
-          } // packageOverrides)
-      ) {};
-
-    braise = braise_0_3_4;
-
-    brcpfcnpj_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "brcpfcnpj";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "brcpfcnpj";
-              version = "0.1.0";
-              sha256 =
-                "19ba4d572c93c70d571a36d6ada2fca4d03330d8f96c6b7d8e4c47fa9f809c90";
-            };
-
-            meta = {
-              longDescription = ''Valida Cpf/Cnpj e Formatar em String caso
-                                necessario Number format and Validate, to the
-                                documents brazilians (CPF/CNPJ)'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/williamgueiros/Brcpfcnpj";
-            };
-          } // packageOverrides)
-      ) {};
-
-    brcpfcnpj = brcpfcnpj_0_1_0;
-
-    breadcrumble_1_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "breadcrumble";
-            version = "1.0.3";
-            src = fetchHex {
-              pkg = "breadcrumble";
-              version = "1.0.3";
-              sha256 =
-                "f1d3ec0d3bf74670c58d4ff6c1d10cad0757c003b56ba9f77e3d76a05ac68be3";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''Elixir port of Breadcrumble library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ma2gedev/breadcrumble_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    breadcrumble = breadcrumble_1_0_3;
-
-    briefly_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "briefly";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "briefly";
-              version = "0.3.0";
-              sha256 =
-                "c6ebf8fc3dcd4950dd10c03e953fb4f553a8bcf0ff4c8c40d71542434cd7e046";
-            };
-
-            meta = {
-              description = ''Simple, robust temporary file support'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/CargoSense/briefly";
-            };
-          } // packageOverrides)
-      ) {};
-
-    briefly = briefly_0_3_0;
-
-    brighterx_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "brighterx";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "brighterx";
-              version = "0.0.2";
-              sha256 =
-                "f05d90a6e01e6244aa0adfc68e9a5c92bf2a3d740f3093929557c043fc6b87b8";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A simple brighterlink api implementation'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Brightergy/brighterx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    brighterx = brighterx_0_0_2;
-
-    browser_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "browser";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "browser";
-              version = "0.1.3";
-              sha256 =
-                "e009b1af32a665393eb3e81b812e87f29f9e606426e30ae73507bf5c4c592af1";
-            };
-
-            meta = {
-              description = ''Browser detection library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tuvistavie/elixir-browser";
-            };
-          } // packageOverrides)
-      ) {};
-
-    browser = browser_0_1_3;
-
-    bstr_0_3_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "bstr";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "bstr";
-              version = "0.3.0";
-              sha256 =
-                "0fb4e05619663d48dabcd21023915741277ba392f2a5710dde7ab6034760284d";
-            };
-
-            meta = {
-              description = ''Erlang library that uses binaries as strings'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/jcomellas/bstr";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bstr = bstr_0_3_0;
-
-    buffer_0_3_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "buffer";
-            version = "0.3.6";
-            src = fetchHex {
-              pkg = "buffer";
-              version = "0.3.6";
-              sha256 =
-                "409f4d725b69bd36635ec18df9e2c3b6e78ef6ebc14a0e55a98dc58b4c65b7c3";
-            };
-
-            meta = {
-              description = ''Provide read and write buffers for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/adrienmo/buffer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    buffer = buffer_0_3_6;
-
-    bugsnag_1_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "bugsnag";
-            version = "1.2.0";
-            src = fetchHex {
-              pkg = "bugsnag";
-              version = "1.2.0";
-              sha256 =
-                "23c6e8eb827ec1294684b5fe788d4d1cd670804ddfb74bb2bd427aed44a68f05";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Elixir interface to the Bugsnag API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jarednorman/bugsnag-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bugsnag = bugsnag_1_2_0;
-
-    build_client_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "build_client";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "build_client";
-              version = "0.0.1";
-              sha256 =
-                "ee28ca64db404b76316fa578f30888b7725cbde91d6f89fa7dfc384a32b9c095";
-            };
-
-            meta = {
-              description = ''AX Deployment Client'';
-
-              homepage = "https://github.com/dapdizzy/build_client";
-            };
-          } // packageOverrides)
-      ) {};
-
-    build_client = build_client_0_0_1;
-
-    bunt_0_1_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "bunt";
-            version = "0.1.6";
-            src = fetchHex {
-              pkg = "bunt";
-              version = "0.1.6";
-              sha256 =
-                "4fb7b2f7b04af13cf210b132f8d10db52d4a57d36cb974e8025d7fdb12ca97fc";
-            };
-
-            meta = {
-              description = ''256 color ANSI coloring in the terminal'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rrrene/bunt";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bunt = bunt_0_1_6;
-
-    bus_bar_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "bus_bar";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "bus_bar";
-              version = "0.0.1";
-              sha256 =
-                "1781eebe238d7106cecaf947062684a0658033898282a4a0ab15f037a92ab985";
-            };
-
-            meta = {
-              description = ''A simple event bus.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/JonRowe/busbar";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bus_bar = bus_bar_0_0_1;
-
-    bypass_0_5_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "bypass";
-            version = "0.5.1";
-            src = fetchHex {
-              pkg = "bypass";
-              version = "0.5.1";
-              sha256 =
-                "bbff87f453cd98a81c9caeb305e5bcee25fe4fe31089cb19127a36dd224c2454";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              longDescription = ''Bypass provides a quick way to create a
-                                custom plug that can be put in place instead of
-                                an actual HTTP server to return prebaked
-                                responses to client requests. This is most
-                                useful in tests, when you want to create a mock
-                                HTTP server and test how your HTTP client
-                                handles different types of responses from the
-                                server.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pspdfkit-labs/bypass";
-            };
-          } // packageOverrides)
-      ) {};
-
-    bypass = bypass_0_5_1;
-
-    cachex_1_1_1 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, gen_delegate_1_0_0
-        }:
-          buildMix ({
-            name = "cachex";
-            version = "1.1.1";
-            src = fetchHex {
-              pkg = "cachex";
-              version = "1.1.1";
-              sha256 =
-                "b9f179ee6f61cbaec9d4be604b0001ff035158923aa4d53b56de495ebf025683";
-            };
-            beamDeps  = [ gen_delegate_1_0_0 ];
-
-            meta = {
-              description = ''Powerful in-memory key/value storage for
-                            Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zackehh/cachex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cachex = cachex_1_1_1;
-
-    calendar_0_12_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, tzdata_0_0_1 }:
-          buildMix ({
-            name = "calendar";
-            version = "0.12.4";
-            src = fetchHex {
-              pkg = "calendar";
-              version = "0.12.4";
-              sha256 =
-                "1df7cc23b7dfa3228498fff3bd298495d8431433be94db62a60e93ffa455a060";
-            };
-            beamDeps  = [ tzdata_0_0_1 ];
-
-            meta = {
-              longDescription = ''Calendar is a datetime library for Elixir.
-                                Providing explicit types for datetimes, dates
-                                and times. Full timezone support via its sister
-                                package `tzdata`. Safe parsing and formatting of
-                                standard formats (ISO, RFC, Unix, JS etc.) plus
-                                strftime formatting. Easy and safe
-                                interoperability with erlang style datetime
-                                tuples. Extendable through protocols. Related
-                                packages are available for i18n, Ecto and
-                                Phoenix interoperability.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lau/calendar";
-            };
-          } // packageOverrides)
-      ) {};
-
-    calendar_0_13_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, tzdata_0_0_1 }:
-          buildMix ({
-            name = "calendar";
-            version = "0.13.2";
-            src = fetchHex {
-              pkg = "calendar";
-              version = "0.13.2";
-              sha256 =
-                "5be3a69db1a177ed39d24d582ac7be3dab59ee8aeae41ee17c36a263a9818460";
-            };
-            beamDeps  = [ tzdata_0_0_1 ];
-
-            meta = {
-              longDescription = ''Calendar is a datetime library for Elixir.
-                                Providing explicit types for datetimes, dates
-                                and times. Full timezone support via its sister
-                                package `tzdata`. Safe parsing and formatting of
-                                standard formats (ISO, RFC, Unix, JS etc.) plus
-                                strftime formatting. Easy and safe
-                                interoperability with erlang style datetime
-                                tuples. Extendable through protocols. Related
-                                packages are available for i18n, Ecto and
-                                Phoenix interoperability.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lau/calendar";
-            };
-          } // packageOverrides)
-      ) {};
-
-    calendar_0_14_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, tzdata_0_0_1 }:
-          buildMix ({
-            name = "calendar";
-            version = "0.14.2";
-            src = fetchHex {
-              pkg = "calendar";
-              version = "0.14.2";
-              sha256 =
-                "8b76c5bcfbe77b454c4e38696ea0fb77d52fc212e377a4299884073012960f27";
-            };
-            beamDeps  = [ tzdata_0_0_1 ];
-
-            meta = {
-              longDescription = ''Calendar is a datetime library for Elixir.
-                                Providing explicit types for datetimes, dates
-                                and times. Full timezone support via its sister
-                                package `tzdata`. Safe parsing and formatting of
-                                standard formats (ISO, RFC, Unix, JS etc.) plus
-                                strftime formatting. Easy and safe
-                                interoperability with erlang style datetime
-                                tuples. Extendable through protocols. Related
-                                packages are available for i18n, Ecto and
-                                Phoenix interoperability.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lau/calendar";
-            };
-          } // packageOverrides)
-      ) {};
-
-    calliope_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "calliope";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "calliope";
-              version = "0.3.0";
-              sha256 =
-                "0a0ccf87616459c36ff1f1551701da38485eb601500e74cffd7e42fe9862f74d";
-            };
-
-            meta = {
-              description = ''An Elixir library for parsing haml templates.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nurugger07/calliope";
-            };
-          } // packageOverrides)
-      ) {};
-
-    calliope_0_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "calliope";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "calliope";
-              version = "0.4.0";
-              sha256 =
-                "4b5d6c87da9f635e8596f9ebb63f51aa10c6884a1898b308219281c8a897ff3a";
-            };
-
-            meta = {
-              description = ''An Elixir library for parsing haml templates.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nurugger07/calliope";
-            };
-          } // packageOverrides)
-      ) {};
-
-    calliope = calliope_0_4_0;
-
-    campminder_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_2_1_6,
-          poison_2_1_0,
-          httpoison_0_8_3,
-          hackney_1_6_0
-        }:
-          buildMix ({
-            name = "campminder";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "campminder";
-              version = "0.1.0";
-              sha256 =
-                "bd54e1c20b5cf566f28a827bcc0e32adb4aaf86206f4d9f90415adee2e9e5189";
-            };
-            beamDeps  = [
-                          timex_2_1_6 poison_2_1_0 httpoison_0_8_3 hackney_1_6_0
-                        ];
-
-            meta = {
-              description = ''A CampMinder API library for Elixir.'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/GimliLongBow/campminder-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    campminder = campminder_0_1_0;
-
-    cartel_0_6_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          httpotion_2_2_2,
-          poison_2_1_0
-        }:
-          buildMix ({
-            name = "cartel";
-            version = "0.6.0";
-            src = fetchHex {
-              pkg = "cartel";
-              version = "0.6.0";
-              sha256 =
-                "04615b867d257b6cb9a32da568666f9e490b80f020a069be38fe261a60734fb8";
-            };
-            beamDeps  = [ poolboy_1_5_1 httpotion_2_2_2 poison_2_1_0 ];
-
-            meta = {
-              description = ''Multi platform, multi app push notifications'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lucacorti/cartel";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cartel = cartel_0_6_0;
-
-    cartographer_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cartographer";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "cartographer";
-              version = "0.0.1";
-              sha256 =
-                "8f070615ca221b94a22e846303a3b9cc7ae31c2dea5c3d8f39a116f0d8c4b18f";
-            };
-
-            meta = {
-              description = ''Geohash algorithm implementation in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/afronski/cartographer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cartographer = cartographer_0_0_1;
-
-    cassette_1_2_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          exml_0_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "cassette";
-            version = "1.2.4";
-            src = fetchHex {
-              pkg = "cassette";
-              version = "1.2.4";
-              sha256 =
-                "945a595edbaeaab781910bba0defedda2c6fc40fc5b35fdd7214dfae8c375137";
-            };
-            beamDeps  = [ exml_0_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A CAS client and validation library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/locaweb/elixir-cassette";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cassette = cassette_1_2_4;
-
-    cassette_plug_1_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cassette_1_2_4
-        }:
-          buildMix ({
-            name = "cassette_plug";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "cassette_plug";
-              version = "1.0.1";
-              sha256 =
-                "7c6ca0bacb3660efd1367b95c8a2d70e485e2842b9bfc87bdeb85c33882dc164";
-            };
-            beamDeps  = [ plug_1_1_5 cassette_1_2_4 ];
-
-            meta = {
-              description = ''An auth Plug using Cassette'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/locaweb/cassette-plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cassette_plug = cassette_plug_1_0_1;
-
-    caylir_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          poison_1_5_2,
-          hackney_1_6_0
-        }:
-          buildMix ({
-            name = "caylir";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "caylir";
-              version = "0.2.0";
-              sha256 =
-                "b3699171f2bef699ce1968394cb2aee3b5ec7db529a395d8bf7d85163067f888";
-            };
-            beamDeps  = [ poolboy_1_5_1 poison_1_5_2 hackney_1_6_0 ];
-
-            meta = {
-              description = ''Cayley driver for Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/mneudert/caylir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    caylir = caylir_0_2_0;
-
-    cep_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          sweet_xml_0_6_1,
-          poolboy_1_5_1,
-          poison_2_1_0,
-          httpoison_0_8_3,
-          codepagex_0_1_2
-        }:
-          buildMix ({
-            name = "cep";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "cep";
-              version = "0.0.1";
-              sha256 =
-                "f76e67e1d989fc2edbfbd265f79e4a33a0aa7f9ff06934a1f2d49903df72b79f";
-            };
-            beamDeps  = [
-                          sweet_xml_0_6_1
-                          poolboy_1_5_1
-                          poison_2_1_0
-                          httpoison_0_8_3
-                          codepagex_0_1_2
-                        ];
-
-            meta = {
-              longDescription = ''A package to query Brazilian CEP codes. Has
-                                support for multiple source APIs (Correios,
-                                ViaCep, Postmon, etc). It can query one specific
-                                source or query until one source returns a valid
-                                result.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/douglascamata/cep";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cep = cep_0_0_1;
-
-    certifi_0_3_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "certifi";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "certifi";
-              version = "0.3.0";
-              sha256 =
-                "42ae85fe91c038a634a5fb8d0c77f4fc581914c508f087c7138e9366a1517f6a";
-            };
-
-            meta = {
-              description = ''An OTP library'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/certifi/erlang-certifi";
-            };
-          } // packageOverrides)
-      ) {};
-
-    certifi_0_4_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "certifi";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "certifi";
-              version = "0.4.0";
-              sha256 =
-                "1cc233bee2d6990e7b0ff4c5824d7f401edda8a3cfad04d3328e35ad97de7611";
-            };
-
-            meta = {
-              description = ''An OTP library'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/certifi/erlang-certifi";
-            };
-          } // packageOverrides)
-      ) {};
-
-    certifi = certifi_0_4_0;
-
-    cf_0_1_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "cf";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "cf";
-              version = "0.1.2";
-              sha256 =
-                "c86f56bca74dd3616057b28574d920973fe665ecb064aa458dc6a2447f3f4924";
-            };
-
-            meta = {
-              description = ''Terminal colour helper'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    cf_0_2_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "cf";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "cf";
-              version = "0.2.1";
-              sha256 =
-                "baee9aa7ec2dfa3cb4486b67211177caa293f876780f0b313b45718edef6a0a5";
-            };
-
-            meta = {
-              description = ''Terminal colour helper'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    cf = cf_0_2_1;
-
-    chacha20_0_3_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "chacha20";
-            version = "0.3.2";
-            src = fetchHex {
-              pkg = "chacha20";
-              version = "0.3.2";
-              sha256 =
-                "26882c84da45dd1158a0249031f5a67329a6c4cd89e075d409324eee30444410";
-            };
-
-            meta = {
-              description = ''Chacha20 symmetric stream cipher'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/chacha20_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    chacha20 = chacha20_0_3_2;
-
-    changeset_0_2_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, defmemo_0_1_1 }:
-          buildMix ({
-            name = "changeset";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "changeset";
-              version = "0.2.2";
-              sha256 =
-                "81aebf1c232620193fb4eab90962e4a69bbb84709fa4296bdc5593578d7d2758";
-            };
-            beamDeps  = [ defmemo_0_1_1 ];
-
-            meta = {
-              description = ''A package for calculating between-list edit
-                            distances.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/erwald/elixir-changeset";
-            };
-          } // packageOverrides)
-      ) {};
-
-    changeset = changeset_0_2_2;
-
-    changex_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "changex";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "changex";
-              version = "0.1.1";
-              sha256 =
-                "e087a4c3cc8eb3e94eba6050c5b1cc24dba3427eb4e4e15cebdb4000582c9851";
-            };
-
-            meta = {
-              description = ''Automatically generate a CHANGELOG.md file based
-                            on git commit history. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Gazler/changex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    changex = changex_0_1_1;
-
-    chaos_spawn_0_7_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_0_19_5,
-          exactor_2_2_0
-        }:
-          buildMix ({
-            name = "chaos_spawn";
-            version = "0.7.0";
-            src = fetchHex {
-              pkg = "chaos_spawn";
-              version = "0.7.0";
-              sha256 =
-                "c4c8e985e750706fb4351d6eb036b513a4b7ea3e689a9aecd424251991f21eaa";
-            };
-            beamDeps  = [ timex_0_19_5 exactor_2_2_0 ];
-
-            meta = {
-              longDescription = ''Providing tools to randomly kill proceses.
-                                With the goal of creating robust supevision
-                                trees.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/meadsteve/chaos-spawn";
-            };
-          } // packageOverrides)
-      ) {};
-
-    chaos_spawn = chaos_spawn_0_7_0;
-
-    chartkick_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          uuid_1_1_4,
-          poison_1_5_2
-        }:
-          buildMix ({
-            name = "chartkick";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "chartkick";
-              version = "0.0.2";
-              sha256 =
-                "6a4f4170b162117f3be9d0a9d98b63b58da8ec2cea4e29155d14441a0b12ac6c";
-            };
-            beamDeps  = [ uuid_1_1_4 poison_1_5_2 ];
-
-            meta = {    };
-          } // packageOverrides)
-      ) {};
-
-    chartkick = chartkick_0_0_2;
-
-    chash_0_1_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "chash";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "chash";
-              version = "0.1.1";
-              sha256 =
-                "607d369e56016a51218c42f2692312cd116834193805c99debbe02889013c84a";
-            };
-
-            meta = {
-              description = ''Riaks CHash implementation'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/project-fifo/chash";
-            };
-          } // packageOverrides)
-      ) {};
-
-    chash = chash_0_1_1;
-
-    chinese_translation_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "chinese_translation";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "chinese_translation";
-              version = "0.1.0";
-              sha256 =
-                "d5e4f59421bad59e465322ce7a8f366179e5f6a732d7e06435e8a7c01f42e7ab";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''ChineseTranslation provides traditional
-                                chinese <-> simplified chinese translation, as
-                                well as pinyin translation and slugify for
-                                chinese phrases/characters. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tyrchen/chinese_translation";
-            };
-          } // packageOverrides)
-      ) {};
-
-    chinese_translation = chinese_translation_0_1_0;
-
-    chronos_0_3_9 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "chronos";
-            version = "0.3.9";
-            src = fetchHex {
-              pkg = "chronos";
-              version = "0.3.9";
-              sha256 =
-                "973e1273088677a12afc1a72aad78fe5070fb0ad6f9b1c648d79dd251292dee4";
-            };
-
-            meta = {
-              longDescription = ''An Elixir library for handling dates. It can
-                                be used to quickly determine a date. In a human
-                                readable format.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nurugger07/chronos";
-            };
-          } // packageOverrides)
-      ) {};
-
-    chronos_1_5_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "chronos";
-            version = "1.5.1";
-            src = fetchHex {
-              pkg = "chronos";
-              version = "1.5.1";
-              sha256 =
-                "015d881b1d095b53f626dc32f8db05e5faca8635b199d3cc2022a057c469904b";
-            };
-
-            meta = {
-              longDescription = ''An Elixir library for handling dates. It can
-                                be used to quickly determine a date. In a human
-                                readable format.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nurugger07/chronos";
-            };
-          } // packageOverrides)
-      ) {};
-
-    chronos = chronos_1_5_1;
-
-    chunky_svg_0_0_4 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, xml_builder_0_0_8
-        }:
-          buildMix ({
-            name = "chunky_svg";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "chunky_svg";
-              version = "0.0.4";
-              sha256 =
-                "c8d7212148d72b03b6ed102410017a2cf77987a09fb889320fc381d383e68c75";
-            };
-            beamDeps  = [ xml_builder_0_0_8 ];
-
-            meta = {
-              description = '' A library for drawing things with SVG '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mmmries/chunky_svg";
-            };
-          } // packageOverrides)
-      ) {};
-
-    chunky_svg = chunky_svg_0_0_4;
-
-    cidr_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cidr";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "cidr";
-              version = "1.0.0";
-              sha256 =
-                "3bffa78af48cfbcd89461144bd2e1990b4f2631a8328c42cb033fa71c14b8f46";
-            };
-
-            meta = {
-              description = ''Classless Inter-Domain Routing (CIDR) for
-                            Elixir'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/c-rack/cidr-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cidr = cidr_1_0_0;
-
-    cirru_parser_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cirru_parser";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "cirru_parser";
-              version = "0.0.1";
-              sha256 =
-                "259f533ee97805c50eb12fa8472b5553eaca5bfd58216d54a734dfa1c4d0c678";
-            };
-
-            meta = {
-              description = ''Cirru Parser in Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Cirru/parser.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cirru_parser = cirru_parser_0_0_1;
-
-    ckan_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "ckan";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "ckan";
-              version = "0.0.2";
-              sha256 =
-                "471a58f1d38df7a6ff36af9a1e9d4c6cb9d310c5acb2db95ff3184717d7762a0";
-            };
-            beamDeps  = [ poison_1_5_2 httpotion_2_2_2 ];
-
-            meta = {
-              description = ''A small library for interacting with CKAN
-                            (ckan.org) instances'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/rossjones/ckan_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ckan = ckan_0_0_2;
-
-    clicksign_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          httpoison_0_8_3,
-          exjsx_3_2_0,
-          cowboy_1_0_4,
-          bypass_0_5_1
-        }:
-          buildMix ({
-            name = "clicksign";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "clicksign";
-              version = "0.0.2";
-              sha256 =
-                "e6e9335c86298d5d5af6c18b85f3533554eca74d6129e1aea7dae17849b48ed2";
-            };
-            beamDeps  = [
-                          plug_1_1_5
-                          httpoison_0_8_3
-                          exjsx_3_2_0
-                          cowboy_1_0_4
-                          bypass_0_5_1
-                        ];
-
-            meta = {
-              description = ''Clicksign client'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    clicksign = clicksign_0_0_2;
-
-    clint_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_0_11_3,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "clint";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "clint";
-              version = "0.0.1";
-              sha256 =
-                "41c6781b5f4b986bce14c3578d39c497bcb8427f1d36d8cde5fcaa6e03cae2b1";
-            };
-            beamDeps  = [ plug_0_11_3 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''An Elixir web micro-framework, inspired by
-                            Sinatra'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lpil/clint";
-            };
-          } // packageOverrides)
-      ) {};
-
-    clint = clint_0_0_1;
-
-    clique_3_0_1 = callPackage
-      (
-        {
-          buildRebar3, packageOverrides ? {}, fetchHex, cuttlefish_2_0_7
-        }:
-          buildRebar3 ({
-            name = "clique";
-            version = "3.0.1";
-            src = fetchHex {
-              pkg = "clique";
-              version = "3.0.1";
-              sha256 =
-                "f26bd1d293a88223b9dc21dc5a2643e64823f3e8e178536fb66e97c4ff4a2ac2";
-            };
-
-            beamDeps  = [ cuttlefish_2_0_7 ];
-
-            meta = {
-              description = ''A CLI library for erlang'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/basho/clique";
-            };
-          } // packageOverrides)
-      ) {};
-
-    clique = clique_3_0_1;
-
-    close_enough_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "close_enough";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "close_enough";
-              version = "0.0.1";
-              sha256 =
-                "cbd73a651bffc50259035a311e5a03cb01176667b76aece059778dda9bd72079";
-            };
-
-            meta = {
-              description = ''Forget typos in function names name, CloseEnough
-                            handles them.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sivsushruth/close_enough";
-            };
-          } // packageOverrides)
-      ) {};
-
-    close_enough = close_enough_0_0_1;
-
-    cloudex_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          tzdata_0_5_8,
-          timex_0_19_5,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "cloudex";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "cloudex";
-              version = "0.0.2";
-              sha256 =
-                "eb424a8e6610de6f7a2f2be074937c571a86d11e4b942d2ea39900855a66b306";
-            };
-            beamDeps  = [
-                          tzdata_0_5_8 timex_0_19_5 poison_1_5_2 httpoison_0_8_3
-                        ];
-
-            meta = {
-              longDescription = ''A library that helps with uploading image
-                                files and urls to cloudinary. Also provides an
-                                helper to generate transformations and
-                                cloudinary urls pointing to your images'';
-              license = stdenv.lib.licenses.wtfpl;
-              homepage = "https://github.com/smeevil/cloudex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cloudex = cloudex_0_0_2;
-
-    cloudinary_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_4_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "cloudinary";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "cloudinary";
-              version = "0.0.2";
-              sha256 =
-                "9e32b21717b193f90a526203725811b96294d7c88391e5ad4a57bf178678cc4c";
-            };
-            beamDeps  = [ poison_1_4_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Library to upload to Cloudinary'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    cloudinary = cloudinary_0_0_2;
-
-    cloudinaryex_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_1_0_2,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "cloudinaryex";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "cloudinaryex";
-              version = "0.0.2";
-              sha256 =
-                "31518baacfcca428e30ee8f1c411d76568344e7032ed93cf34535e279c8472fc";
-            };
-            beamDeps  = [ timex_1_0_2 poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A library for connecting with Cloudinary in
-                            Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/micahwedemeyer/cloudinaryex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cloudinaryex = cloudinaryex_0_0_2;
-
-    cmark_0_6_10 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cmark";
-            version = "0.6.10";
-            src = fetchHex {
-              pkg = "cmark";
-              version = "0.6.10";
-              sha256 =
-                "df6dd77f8fe0774b6e4cdedcadef56c1c7cb478c6aaed7445535ec87dba3a608";
-            };
-
-            meta = {
-              longDescription = ''Elixir NIF for cmark (C), a parser library
-                                following the CommonMark spec, a compatible
-                                implementation of Markdown.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/asaaki/cmark.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cmark = cmark_0_6_10;
-
-    cobertura_cover_0_9_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cobertura_cover";
-            version = "0.9.0";
-            src = fetchHex {
-              pkg = "cobertura_cover";
-              version = "0.9.0";
-              sha256 =
-                "870bc4658cacc5c80d13f1206b688925234d2dc4e00278e8a3e72fbbd6bea0b1";
-            };
-
-            meta = {
-              longDescription = ''A plugin for `mix test --cover` that writes a
-                                `coverage.xml` file compatible with Jenkins`
-                                Cobertura plugin. '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/PSPDFKit-labs/cobertura_cover";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cobertura_cover = cobertura_cover_0_9_0;
-
-    codepagex_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "codepagex";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "codepagex";
-              version = "0.1.2";
-              sha256 =
-                "cb6fbd1ebf1b1748aee9d956fb15115af407db3348efc26bc9d3d637c6441074";
-            };
-
-            meta = {
-              longDescription = ''Codepagex is an elixir library to convert
-                                between string encodings to and from utf-8. Like
-                                iconv, but written in pure Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/tallakt/codepagex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    codepagex = codepagex_0_1_2;
-
-    coincap_io_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3,
-          exconstructor_1_0_2
-        }:
-          buildMix ({
-            name = "coincap_io";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "coincap_io";
-              version = "0.0.2";
-              sha256 =
-                "23492902655cfff97d9988278dc1478562e236be631608a50d4d47106f132664";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 exconstructor_1_0_2 ];
-
-            meta = {
-              longDescription = ''WIP, unstable Elixir API wrapper for
-                                coincap.io. Provides access to market
-                                capitalization data of bitcoin, altcoins and
-                                cryptotokens.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/cyberpunk-ventures/coincap_io_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    coincap_io = coincap_io_0_0_2;
-
-    colixir_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "colixir";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "colixir";
-              version = "0.0.1";
-              sha256 =
-                "38dc49351419c6fcfdb76bbc785e07c3acf83cc29f632719dd601ecadbfb73b8";
-            };
-
-            meta = {
-              description = ''Colixir creates colorized text for terminal
-                            output'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/mondok/colixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    colixir = colixir_0_0_1;
-
-    color_stream_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "color_stream";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "color_stream";
-              version = "0.0.2";
-              sha256 =
-                "b1181f32b310311016006f4f8d52b3418d1af6f06e71903daabafdcaa602a29d";
-            };
-
-            meta = {
-              description = ''Generate random colors that are fairly spaced out
-                            and look nice.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/code-lever/color-stream-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    color_stream = color_stream_0_0_2;
-
-    color_utils_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "color_utils";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "color_utils";
-              version = "0.2.0";
-              sha256 =
-                "bf16a1a9de7d837a68ede139c6e06bc9d57f9eccedff302f730105bd80d98647";
-            };
-
-            meta = {
-              description = ''A Color Util library for Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/barakyo/color_utils";
-            };
-          } // packageOverrides)
-      ) {};
-
-    color_utils = color_utils_0_2_0;
-
-    colorful_0_6_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "colorful";
-            version = "0.6.0";
-            src = fetchHex {
-              pkg = "colorful";
-              version = "0.6.0";
-              sha256 =
-                "6b00225f137efdde7901d3ddc7626a3b33031c20ea145097b2442680e72adc3d";
-            };
-
-            meta = {
-              description = ''Modules which manage colors'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Joe-noh/colorful";
-            };
-          } // packageOverrides)
-      ) {};
-
-    colorful = colorful_0_6_0;
-
-    colorize_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "colorize";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "colorize";
-              version = "0.2.0";
-              sha256 =
-                "d43757bae49d6da310d641cf7ec809bdc0b6a9eb40fb7ac4c57c1dbbb7d4e32e";
-            };
-
-            meta = {
-              description = ''Colorize your text in the console'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/shiroyasha/colorize";
-            };
-          } // packageOverrides)
-      ) {};
-
-    colorize = colorize_0_2_0;
-
-    colors_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "colors";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "colors";
-              version = "1.0.1";
-              sha256 =
-                "960aa874a3cbbf4356c64ef8194d5215c8373537a720fc0ab46c90400ecf8949";
-            };
-
-            meta = {
-              description = ''a colors util'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/lidashuang/colors";
-            };
-          } // packageOverrides)
-      ) {};
-
-    colors = colors_1_0_1;
-
-    combination_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "combination";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "combination";
-              version = "0.0.2";
-              sha256 =
-                "f3e4934d2077d161e4ec8c6e54a2c4b6b39d8189a1434866ca3e2afedd38be04";
-            };
-
-            meta = {
-              description = ''Elixir library computing simple combination and
-                            permutation on Enumerables.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/seantanly/elixir-combination";
-            };
-          } // packageOverrides)
-      ) {};
-
-    combination = combination_0_0_2;
-
-    combine_0_7_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "combine";
-            version = "0.7.0";
-            src = fetchHex {
-              pkg = "combine";
-              version = "0.7.0";
-              sha256 =
-                "3ac1b6622e6149204899c7069b850a53ed38d1a749cc7357aeffe86e8bfc593c";
-            };
-
-            meta = {
-              description = ''A parser combinator library for Elixir
-                            projects.'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    combine_0_8_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "combine";
-            version = "0.8.0";
-            src = fetchHex {
-              pkg = "combine";
-              version = "0.8.0";
-              sha256 =
-                "3adc5354d03ef96bc494850e5014e11150ddf16b3feee9ff3292a0da55f64301";
-            };
-
-            meta = {
-              description = ''A parser combinator library for Elixir
-                            projects.'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    combine = combine_0_8_0;
-
-    comeonin_1_6_0 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, comeonin_i18n_0_1_3
-        }:
-          buildMix ({
-            name = "comeonin";
-            version = "1.6.0";
-            src = fetchHex {
-              pkg = "comeonin";
-              version = "1.6.0";
-              sha256 =
-                "40dd0da2c33696d19515888fd86b9ffdcad92d49e9a6b3b13df98e824897a1b1";
-            };
-            beamDeps  = [ comeonin_i18n_0_1_3 ];
-
-            meta = {
-              description = ''Password hashing (bcrypt, pbkdf2_sha512) library
-                            for Elixir.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/elixircnx/comeonin";
-            };
-          } // packageOverrides)
-      ) {};
-
-    comeonin_2_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "comeonin";
-            version = "2.0.3";
-            src = fetchHex {
-              pkg = "comeonin";
-              version = "2.0.3";
-              sha256 =
-                "a9a6f87107ebf6898adeca7130adb1b9e421c1be7e8b30b13ac1e0354ea15198";
-            };
-
-            meta = {
-              description = ''Password hashing (bcrypt, pbkdf2_sha512) library
-                            for Elixir.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/elixircnx/comeonin";
-            };
-          } // packageOverrides)
-      ) {};
-
-    comeonin_2_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "comeonin";
-            version = "2.1.1";
-            src = fetchHex {
-              pkg = "comeonin";
-              version = "2.1.1";
-              sha256 =
-                "7f85774ae5d453f664d0e7809cc1ab32ff22855d16ff6a2edd68c6d36cb1a1aa";
-            };
-
-            meta = {
-              description = ''Password hashing (bcrypt, pbkdf2_sha512) library
-                            for Elixir.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/elixircnx/comeonin";
-            };
-          } // packageOverrides)
-      ) {};
-
-    comeonin_2_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "comeonin";
-            version = "2.4.0";
-            src = fetchHex {
-              pkg = "comeonin";
-              version = "2.4.0";
-              sha256 =
-                "b326290a3143fdf4847a735f272ebd16d15216e97e968266a7b24125af4620be";
-            };
-
-            meta = {
-              description = ''Password hashing (bcrypt, pbkdf2_sha512) library
-                            for Elixir.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/elixircnx/comeonin";
-            };
-          } // packageOverrides)
-      ) {};
-
-    comeonin = comeonin_2_4_0;
-
-    comeonin_i18n_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, gettext_0_11_0 }:
-          buildMix ({
-            name = "comeonin_i18n";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "comeonin_i18n";
-              version = "0.1.3";
-              sha256 =
-                "4b45ca5af3cbf20bf7d3f7e874629041a2a921ad5a62ca9b94546a1e559023a6";
-            };
-            beamDeps  = [ gettext_0_11_0 ];
-
-            meta = {
-              description = ''Internationalization support for the Comeonin
-                            password hashing library.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/elixircnx/comeonin_i18n";
-            };
-          } // packageOverrides)
-      ) {};
-
-    comeonin_i18n = comeonin_i18n_0_1_3;
-
-    commander_0_1_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "commander";
-            version = "0.1.4";
-            src = fetchHex {
-              pkg = "commander";
-              version = "0.1.4";
-              sha256 =
-                "091cd4de551771fed7eb258dbf1918875822896d44a730414fc6ac268e9ad3e4";
-            };
-
-            meta = {
-              description = ''A macro library to help create telegram bot'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/carlo-colombo/commander";
-            };
-          } // packageOverrides)
-      ) {};
-
-    commander = commander_0_1_4;
-
-    complex_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          exprintf_0_1_6,
-          earmark_0_2_1
-        }:
-          buildMix ({
-            name = "complex";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "complex";
-              version = "0.2.0";
-              sha256 =
-                "6db6a2850ed907c4d9e062591110dc70c35c3818ccf609f1268052a3f4bf10b0";
-            };
-            beamDeps  = [ exprintf_0_1_6 earmark_0_2_1 ];
-
-            meta = {
-              description = ''Complex is a library for types and mathematical
-                            functions for complex numbers.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/twist-vector/elixir-complex.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    complex = complex_0_2_0;
-
-    comredis_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "comredis";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "comredis";
-              version = "1.0.1";
-              sha256 =
-                "03aa3a9235f39c666854027b88915b9f256c357ce6e0a493da54d6dec7b3a207";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              description = ''Comredis is your comrade for Redis command
-                            generation in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/iurifq/comredis";
-            };
-          } // packageOverrides)
-      ) {};
-
-    comredis = comredis_1_0_1;
-
-    con_cache_0_11_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exactor_2_2_0 }:
-          buildMix ({
-            name = "con_cache";
-            version = "0.11.0";
-            src = fetchHex {
-              pkg = "con_cache";
-              version = "0.11.0";
-              sha256 =
-                "cd6d3dd4f6900520e3975592e1bbb57ac217e15f1f350f5bcba0c63578cb0a49";
-            };
-            beamDeps  = [ exactor_2_2_0 ];
-
-            meta = {
-              longDescription = ''ETS based key-value storage with support for
-                                row-level isolated writes, TTL auto-purge, and
-                                modification callbacks.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sasa1977/con_cache";
-            };
-          } // packageOverrides)
-      ) {};
-
-    con_cache = con_cache_0_11_0;
-
-    con_cache_0_9_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exactor_2_2_0 }:
-          buildMix ({
-            name = "con_cache";
-            version = "0.9.0";
-            src = fetchHex {
-              pkg = "con_cache";
-              version = "0.9.0";
-              sha256 =
-                "600b122653d7e5f6414bb0728fa6133c656e2d24fad7f0a31bb89c1c70ec68bb";
-            };
-            beamDeps  = [ exactor_2_2_0 ];
-
-            meta = {
-              longDescription = ''ETS based key-value storage with support for
-                                row-level isolated writes, TTL auto-purge, and
-                                modification callbacks.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sasa1977/con_cache";
-            };
-          } // packageOverrides)
-      ) {};
-
-    concerto_0_1_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "concerto";
-            version = "0.1.4";
-            src = fetchHex {
-              pkg = "concerto";
-              version = "0.1.4";
-              sha256 =
-                "3c8337ecc810f8812ab9dec8a63b4aa8feaed6142b24acbb89ad7938481ae912";
-            };
-
-            meta = {
-              description = ''file-based routing library for elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/exstruct/concerto";
-            };
-          } // packageOverrides)
-      ) {};
-
-    concerto = concerto_0_1_4;
-
-    config_values_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "config_values";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "config_values";
-              version = "1.0.0";
-              sha256 =
-                "cdbd33fd68cf7fa4fe88dfc1f73e5d26f69d86132650dfba9a636dc75f6cb26c";
-            };
-
-            meta = {
-              description = ''Interpolated configuration values'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hassox/config_values";
-            };
-          } // packageOverrides)
-      ) {};
-
-    config_values = config_values_1_0_0;
-
-    configparser_ex_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "configparser_ex";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "configparser_ex";
-              version = "0.2.1";
-              sha256 =
-                "3319861498f5e711058b1b3b54f88275af85e1bf9493bd0b904393d5971f117e";
-            };
-
-            meta = {
-              description = ''A module that parses INI-like files. Not unlike
-                            Python configparser package.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/easco/configparser_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    configparser_ex = configparser_ex_0_2_1;
-
-    connection_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "connection";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "connection";
-              version = "1.0.2";
-              sha256 =
-                "b4ffd56c0ad3caac8dc6125a007e416ba2dab54a1d4b380766bb9e87c56120fb";
-            };
-
-            meta = {
-              description = ''Connection behaviour for connection processes'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/fishcakez/connection";
-            };
-          } // packageOverrides)
-      ) {};
-
-    connection = connection_1_0_2;
-
-    conqueuer_0_5_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          inflex_1_5_0
-        }:
-          buildMix ({
-            name = "conqueuer";
-            version = "0.5.1";
-            src = fetchHex {
-              pkg = "conqueuer";
-              version = "0.5.1";
-              sha256 =
-                "7370e2a0201f73ced6b202877b4dcb6872e1b6bbb0c024b1edee3a058dd653ab";
-            };
-            beamDeps  = [ poolboy_1_5_1 inflex_1_5_0 ];
-
-            meta = {
-              description = ''An Elixir in memory work queue.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/midas/conqueuer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    conqueuer = conqueuer_0_5_1;
-
-    console_tree_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "console_tree";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "console_tree";
-              version = "0.0.1";
-              sha256 =
-                "c7dea20c14fd8bc6697a68f2917def38d20c772eb4b5715b18197672e7ddc0eb";
-            };
-
-            meta = {
-              longDescription = ''A simple library to print a text
-                                representation of a tree structure, intended for
-                                use in a terminal environment.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ciaran/console_tree";
-            };
-          } // packageOverrides)
-      ) {};
-
-    console_tree = console_tree_0_0_1;
-
-    consolex_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          exjsx_3_2_0,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "consolex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "consolex";
-              version = "0.1.0";
-              sha256 =
-                "d258becb7d14295e4df337ca1f5466de55c54d0be2761b9a93003814427c0ec1";
-            };
-            beamDeps  = [ exjsx_3_2_0 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''An IEx web console'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sivsushruth/consolex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    consolex = consolex_0_1_0;
-
-    control_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "control";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "control";
-              version = "0.0.4";
-              sha256 =
-                "c806da1d82614a27f876aea5d222edb1cdb52d883553ada03f1ff79c09c024d9";
-            };
-
-            meta = {
-              description = ''An exploratory look into functors, applicatives,
-                            and monads for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/slogsdon/elixir-control";
-            };
-          } // packageOverrides)
-      ) {};
-
-    control = control_0_0_4;
-
-    convertat_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "convertat";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "convertat";
-              version = "1.1.0";
-              sha256 =
-                "603229c43df6769f2166c78c5c3f31316390bf6e19fa8e15f02026170ab51a79";
-            };
-
-            meta = {
-              description = ''Provides functions for converting from and to
-                            arbitrary bases. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/whatyouhide/convertat";
-            };
-          } // packageOverrides)
-      ) {};
-
-    convertat = convertat_1_1_0;
-
-    core_data_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, floki_0_1_1 }:
-          buildMix ({
-            name = "core_data";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "core_data";
-              version = "0.1.0";
-              sha256 =
-                "09b308a42f0697053c68f253e7f687c0f6b5f96bb1b114a7b1852c5b6804122e";
-            };
-            beamDeps  = [ floki_0_1_1 ];
-
-            meta = {
-              description = ''iOS Core Data parser'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/evolet-project/core_data";
-            };
-          } // packageOverrides)
-      ) {};
-
-    core_data = core_data_0_1_0;
-
-    cors_plug_1_1_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "cors_plug";
-            version = "1.1.2";
-            src = fetchHex {
-              pkg = "cors_plug";
-              version = "1.1.2";
-              sha256 =
-                "2604f8352d3c072a8fd94dd1b6ed076b74f0952710c4a58269ffea56bfb6b2a7";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              longDescription = ''An elixir plug that adds CORS headers to
-                                requests and responds to preflight requests
-                                (OPTIONS)'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/mschae/cors_plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cors_plug = cors_plug_1_1_2;
-
-    corsica_0_4_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "corsica";
-            version = "0.4.2";
-            src = fetchHex {
-              pkg = "corsica";
-              version = "0.4.2";
-              sha256 =
-                "6a06d3ffb4395cec11f253618d6411db4b14edb6e76e700abc757722deaf0f8d";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Plug-based swiss-army knife for CORS requests.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/whatyouhide/corsica";
-            };
-          } // packageOverrides)
-      ) {};
-
-    corsica = corsica_0_4_2;
-
-    couch_factory_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "couch_factory";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "couch_factory";
-              version = "0.1.1";
-              sha256 =
-                "79b2e2c48bf6b036f959ff70c14b0d4da767e4bca7efae8f6c758eefab1a28d5";
-            };
-
-            meta = {
-              description = ''Factory Girl implementation with CouchDb
-                            persistence.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/javierg/couch_factory";
-            };
-          } // packageOverrides)
-      ) {};
-
-    couch_factory = couch_factory_0_1_1;
-
-    couchbeam_1_3_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          jsx_2_8_0,
-          hackney_1_5_7
-        }:
-          buildMix ({
-            name = "couchbeam";
-            version = "1.3.0";
-            src = fetchHex {
-              pkg = "couchbeam";
-              version = "1.3.0";
-              sha256 =
-                "5d94bfc80532999e4f8e7f5da3abff74fbf3b59d5e02e0a99eb0dc3697c97a50";
-            };
-            beamDeps  = [ jsx_2_8_0 hackney_1_5_7 ];
-
-            meta = {
-              description = ''Erlang CouchDB client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/benoitc/couchbeam";
-            };
-          } // packageOverrides)
-      ) {};
-
-    couchbeam = couchbeam_1_3_0;
-
-    couchex_0_6_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "couchex";
-            version = "0.6.0";
-            src = fetchHex {
-              pkg = "couchex";
-              version = "0.6.0";
-              sha256 =
-                "44e02558dc29d739cf27dad76bfc8e8632c4779ce2c701a418409912641b7c3b";
-            };
-
-            meta = {
-              description = ''CouchDB client, wrapping couchbeam erlang
-                            client.'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/ringling/couchex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    couchex = couchex_0_6_0;
-
-    count_buffer_0_1_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, pool_ring_0_1_5 }:
-          buildMix ({
-            name = "count_buffer";
-            version = "0.1.5";
-            src = fetchHex {
-              pkg = "count_buffer";
-              version = "0.1.5";
-              sha256 =
-                "6e78dc0458dac8dae9d41d7857c7185b3164cecd9992a1407265ebfa3455544e";
-            };
-            beamDeps  = [ pool_ring_0_1_5 ];
-
-            meta = {
-              description = ''buffer a large set of counters and flush
-                            periodically'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/count_buffer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    count_buffer = count_buffer_0_1_5;
-
-    courier_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          mail_0_0_4,
-          gen_smtp_0_9_0
-        }:
-          buildMix ({
-            name = "courier";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "courier";
-              version = "0.0.3";
-              sha256 =
-                "8c8c560da7011c8846ed5ee60af867124ff043a7d37773156b6d8a08390b73fc";
-            };
-            beamDeps  = [ mail_0_0_4 gen_smtp_0_9_0 ];
-
-            meta = {
-              description = ''Adapter based email delivery'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/DockYard/courier";
-            };
-          } // packageOverrides)
-      ) {};
-
-    courier = courier_0_0_3;
-
-    cowbell_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "cowbell";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "cowbell";
-              version = "0.1.0";
-              sha256 =
-                "8a75f73afd29421150cc4dbe2993b5a2a7e3fe5fa5628a06ddb22adc2c36c998";
-            };
-
-            meta = {
-              description = ''A node connection manager.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ostinelli/cowbell";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cowbell = cowbell_0_1_0;
-
-    cowboy_1_0_4 = callPackage
-      (
-        {
-          buildErlangMk,
-          packageOverrides ? {},
-          fetchHex,
-          cowlib_1_0_2,
-          ranch_1_2_1
-        }:
-          buildErlangMk ({
-            name = "cowboy";
-            version = "1.0.4";
-            src = fetchHex {
-              pkg = "cowboy";
-              version = "1.0.4";
-              sha256 =
-                "6a0edee96885fae3a8dd0ac1f333538a42e807db638a9453064ccfdaa6b9fdac";
-            };
-            beamDeps  = [ cowlib_1_0_2 ranch_1_2_1 ];
-
-            meta = {
-              description = ''Small, fast, modular HTTP server written in
-                            Erlang.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/ninenines/cowboy";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cowboy = cowboy_1_0_4;
-
-    cowgirl_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cowgirl";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "cowgirl";
-              version = "0.0.1";
-              sha256 =
-                "3b06ca6bb82fa3674ddad182cc479d9ab1538b83a4cf616c666e0d6f873c44e5";
-            };
-
-            meta = {
-              description = ''Small, fast, modular HTTP server written in
-                            Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/larrylv/cowgirl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cowgirl = cowgirl_0_0_1;
-
-    cowlib_1_0_0 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "cowlib";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "cowlib";
-              version = "1.0.0";
-              sha256 =
-                "4dacd60356177ec8cf93dbff399de17435b613f3318202614d3d5acbccee1474";
-            };
-
-            meta = {
-              description = ''Support library for manipulating Web
-                            protocols.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/ninenines/cowlib";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cowlib_1_0_2 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "cowlib";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "cowlib";
-              version = "1.0.2";
-              sha256 =
-                "db622da03aa039e6366ab953e31186cc8190d32905e33788a1acb22744e6abd2";
-            };
-
-            meta = {
-              description = ''Support library for manipulating Web
-                            protocols.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/ninenines/cowlib";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cowlib_1_3_0 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "cowlib";
-            version = "1.3.0";
-            src = fetchHex {
-              pkg = "cowlib";
-              version = "1.3.0";
-              sha256 =
-                "2b1ac020ec92e7a59cb7322779870c2d3adc7c904ecb3b9fa406f04dc9816b73";
-            };
-
-            meta = {
-              description = ''Support library for manipulating Web
-                            protocols.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/ninenines/cowlib";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cowlib = cowlib_1_3_0;
-
-    cowsay_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cowsay";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "cowsay";
-              version = "0.0.1";
-              sha256 =
-                "9f8a6634710974787751279b22ef5d7cb3c6a74db42636540ae5db37c4632e2a";
-            };
-
-            meta = {
-              description = ''A cow-friend who will speak your mind'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bbrock25/cowsay";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cowsay = cowsay_0_0_1;
-
-    cqex_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cqex";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "cqex";
-              version = "0.2.0";
-              sha256 =
-                "2180cb8083d38765bd3912f128b603826686300aef6f61adf9dc89fde3bb5429";
-            };
-
-            meta = {
-              description = ''Idiomatic Elixir client for Cassandra.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/matehat/cqex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cqex = cqex_0_2_0;
-
-    cqrs_commands_0_0_6 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          vex_0_5_5,
-          uuid_1_1_4,
-          poison_2_0_1,
-          plug_1_1_5,
-          exconstructor_1_0_2
-        }:
-          buildMix ({
-            name = "cqrs_commands";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "cqrs_commands";
-              version = "0.0.6";
-              sha256 =
-                "3bc8419a057daf10db5a0a8895d7b917948e6e901f3e8286163f829b2f5652f3";
-            };
-            beamDeps  = [
-                          vex_0_5_5
-                          uuid_1_1_4
-                          poison_2_0_1
-                          plug_1_1_5
-                          exconstructor_1_0_2
-                        ];
-
-            meta = {
-              description = ''This is not production ready yet but I want your
-                            feedback.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/amberbit/cqrs_commands";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cqrs_commands = cqrs_commands_0_0_6;
-
-    crazy_pants_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "crazy_pants";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "crazy_pants";
-              version = "0.0.1";
-              sha256 =
-                "46e50adccb0d858e5a540c834d4e358ffa43ed9cdcac20ae36569fc7eaffa532";
-            };
-
-            meta = {
-              description = ''These pretzels are making me thirsty'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/whodat/crazy_pants";
-            };
-          } // packageOverrides)
-      ) {};
-
-    crazy_pants = crazy_pants_0_0_1;
-
-    crc_0_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "crc";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "crc";
-              version = "0.4.0";
-              sha256 =
-                "4f0d872d46faea966aeb687158b7e02bfc61c49c4f2fb33f5e52e3d167f4faeb";
-            };
-
-            meta = {
-              description = ''A library used to calculate CRC checksums for
-                            binary data'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/TattdCodeMonkey/crc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    crc = crc_0_4_0;
-
-    credit_card_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "credit_card";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "credit_card";
-              version = "1.0.0";
-              sha256 =
-                "c7dee15035f4ff925f08bc806c4bd1817209c64d8ba089d0731808ee35e97ba0";
-            };
-
-            meta = {
-              description = ''A library for validating credit card numbers'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/abakhi/credit_card";
-            };
-          } // packageOverrides)
-      ) {};
-
-    credit_card = credit_card_1_0_0;
-
-    credo_0_4_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, bunt_0_1_6 }:
-          buildMix ({
-            name = "credo";
-            version = "0.4.3";
-            src = fetchHex {
-              pkg = "credo";
-              version = "0.4.3";
-              sha256 =
-                "2ab51e2446ebad5abc327fb18a4410f41bbab311cd760379e75d696dea8ed6ee";
-            };
-            beamDeps  = [ bunt_0_1_6 ];
-
-            meta = {
-              longDescription = ''A static code analysis tool for the Elixir
-                                language with a focus on code consistency and
-                                teaching.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rrrene/credo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    credo = credo_0_4_3;
-
-    croma_0_4_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "croma";
-            version = "0.4.4";
-            src = fetchHex {
-              pkg = "croma";
-              version = "0.4.4";
-              sha256 =
-                "8dbcf50e925aa765f521d948250cafd5409fd4dbd5f23b2db6d6032e9397e312";
-            };
-
-            meta = {
-              description = ''Elixir macro utilities'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    croma = croma_0_4_4;
-
-    cronitor_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cronitor";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "cronitor";
-              version = "1.0.0";
-              sha256 =
-                "d1353c83d1949b60e824ed934be02e7a4cc536fb5b7c912618b0052e0e01d490";
-            };
-
-            meta = {
-              description = ''An extremely simple wrapper for the cronitor.io
-                            ping endpoints.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/jordan0day/cronitor";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cronitor = cronitor_1_0_0;
-
-    crutches_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "crutches";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "crutches";
-              version = "1.0.0";
-              sha256 =
-                "cfd97962a22fe30820e6ca6d0671c763232a7edf149aa11bd62ee77dff0ffff0";
-            };
-
-            meta = {
-              description = ''An Elixir toolbelt freely inspired from Ruby`s
-                            ActiveSupport'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mykewould/crutches";
-            };
-          } // packageOverrides)
-      ) {};
-
-    crutches = crutches_1_0_0;
-
-    cryptex_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cryptex";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "cryptex";
-              version = "0.0.1";
-              sha256 =
-                "19d709c6ffbda3c74ec811190d168170db0435720cbe788c0233bea4afee1d16";
-            };
-
-            meta = {
-              description = ''An Elixir library for encrypting/decrypting,
-                            signing/verifying data. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/scrogson/cryptex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cryptex = cryptex_0_0_1;
-
-    crypto_rsassa_pss_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "crypto_rsassa_pss";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "crypto_rsassa_pss";
-              version = "1.0.0";
-              sha256 =
-                "d8f48874dbef940a8954126249499714e702d8ae0a8f23230a6c2f4a92833313";
-            };
-
-            meta = {
-              description = ''RSASSA-PSS Public Key Cryptographic Signature
-                            Algorithm for Erlang'';
-              license = stdenv.lib.licenses.mpl20;
-              homepage =
-                "https://github.com/potatosalad/erlang-crypto_rsassa_pss";
-            };
-          } // packageOverrides)
-      ) {};
-
-    crypto_rsassa_pss = crypto_rsassa_pss_1_0_0;
-
-    cspex_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cspex";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "cspex";
-              version = "1.1.0";
-              sha256 =
-                "1eb6d83e0f4c43c68fe14ede5bb711654a6a653e94aa39d75ad67cf53ba79df1";
-            };
-
-            meta = {
-              description = ''A library that brings all the CSP joy to the
-                            Elixir land.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/vidalraphael/cspex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cspex = cspex_1_1_0;
-
-    csv_1_4_1 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, parallel_stream_1_0_3
-        }:
-          buildMix ({
-            name = "csv";
-            version = "1.4.1";
-            src = fetchHex {
-              pkg = "csv";
-              version = "1.4.1";
-              sha256 =
-                "167e5d3dd2e7716e5865f5a8d064d7a9f7004516c796684083f1cd180c2d4296";
-            };
-            beamDeps  = [ parallel_stream_1_0_3 ];
-
-            meta = {
-              description = ''CSV Decoding and Encoding for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/beatrichartz/csv";
-            };
-          } // packageOverrides)
-      ) {};
-
-    csv = csv_1_4_1;
-
-    csvlixir_2_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "csvlixir";
-            version = "2.0.3";
-            src = fetchHex {
-              pkg = "csvlixir";
-              version = "2.0.3";
-              sha256 =
-                "8539326c9a484f94f9443878f5df21b3ed12d5a00be069b8b8346dff8cf35436";
-            };
-
-            meta = {
-              longDescription = ''CSVLixir is a CSV reader/writer for Elixir.
-                                It operates on files and strings. The reader can
-                                read CSV files or CSV strings. Reading from
-                                files returns a stream of lists. Reading from
-                                strings returns a list of lists. The writer
-                                transforms a (possibly lazy) list of lists into
-                                a stream of CSV strings. It can also take a
-                                single list and return a single CSV string.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/jimm/csvlixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    csvlixir = csvlixir_2_0_3;
-
-    cth_readable_1_2_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, cf_0_2_1 }:
-          buildRebar3 ({
-            name = "cth_readable";
-            version = "1.2.2";
-            src = fetchHex {
-              pkg = "cth_readable";
-              version = "1.2.2";
-              sha256 =
-                "77585432b98b45b9ee086399cefa97b2191b6d780c4e795bf43c529412d9694d";
-            };
-
-            beamDeps  = [ cf_0_2_1 ];
-
-            meta = {
-              description = ''Common Test hooks for more readable logs'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/ferd/cth_readable";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cth_readable = cth_readable_1_2_2;
-
-    cuckoo_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, murmur_1_0_0 }:
-          buildMix ({
-            name = "cuckoo";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "cuckoo";
-              version = "1.0.0";
-              sha256 =
-                "18f31763c50c20bb89e1fbc4b9eb5b97f6ffc23e3a90ba4cf5e97ccd96da8df2";
-            };
-            beamDeps  = [ murmur_1_0_0 ];
-
-            meta = {
-              description = ''Cuckoo is a pure Elixir implementation of Cuckoo
-                            Filters.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gmcabrita/cuckoo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cuckoo = cuckoo_1_0_0;
-
-    cucumberl_0_0_10 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cucumberl";
-            version = "0.0.10";
-            src = fetchHex {
-              pkg = "cucumberl";
-              version = "0.0.10";
-              sha256 =
-                "53bd73d016602c8c46883dbcc5a57ee814fe4708b14e4406d566b5ca9d119110";
-            };
-
-            meta = {
-              longDescription = ''A pure-erlang, open-source, implementation of
-                                Cucumber (http://cukes.info). This provides a
-                                subset of the Cucumber feature definition
-                                language.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ericbmerritt/cucumberl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cucumberl = cucumberl_0_0_10;
-
-    cuid_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cuid";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "cuid";
-              version = "0.1.0";
-              sha256 =
-                "80cd46bd323e05b706c60008368e631b559307b554c0acc54292ab2c73a3340b";
-            };
-
-            meta = {
-              description = ''Generate collision-resistant ids, in Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/duailibe/cuid";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cuid = cuid_0_1_0;
-
-    curl2httpoison_0_2_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "curl2httpoison";
-            version = "0.2.6";
-            src = fetchHex {
-              pkg = "curl2httpoison";
-              version = "0.2.6";
-              sha256 =
-                "d22fda1a85db812e9f6e0c8770f004cb7942f463bc59b07ad272c01330a7bfca";
-            };
-
-            meta = {
-              description = ''Curl2HTTPoison transform your curl request to
-                            HTTPPoison request code'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/edgurgel/httpoison";
-            };
-          } // packageOverrides)
-      ) {};
-
-    curl2httpoison = curl2httpoison_0_2_6;
-
-    currency_formatter_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "currency_formatter";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "currency_formatter";
-              version = "0.0.1";
-              sha256 =
-                "dab55279ae6377f00a9d01a0a7ab015d380d550d71f303900ae554f8d0065606";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              description = ''A function to format a number to a currency using
-                            iso standards'';
-              license = stdenv.lib.licenses.wtfpl;
-              homepage = "https://github.com/smeevil/currency_formatter";
-            };
-          } // packageOverrides)
-      ) {};
-
-    currency_formatter = currency_formatter_0_0_1;
-
-    current_streak_ex_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          floki_0_8_1
-        }:
-          buildMix ({
-            name = "current_streak_ex";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "current_streak_ex";
-              version = "0.1.1";
-              sha256 =
-                "1c62bcd7bdd69818dc05f0602e03a5aca6b21554206cb6634bedb807ee27d5a7";
-            };
-            beamDeps  = [ httpoison_0_8_3 floki_0_8_1 ];
-
-            meta = {
-              description = ''Get github current streak which support only
-                            public repositories.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KazuCocoa/current_streak_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    current_streak_ex = current_streak_ex_0_1_1;
-
-    current_user_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "current_user";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "current_user";
-              version = "0.0.1";
-              sha256 =
-                "8a400d8cbd02da89bccf67a357733b682e0d6d4c421b7230405ac16b1988809c";
-            };
-
-            meta = {
-              description = ''Configurable user authentication for Phoenix'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/halogenandtoast/current_user";
-            };
-          } // packageOverrides)
-      ) {};
-
-    current_user = current_user_0_0_1;
-
-    curry_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "curry";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "curry";
-              version = "0.0.1";
-              sha256 =
-                "e8f56fee1cb82ae2616c36021d4dd8c2b4169490e224dea84f63feb47475d6f0";
-            };
-
-            meta = {
-              description = ''A simple currying macro allowing to define
-                            curried functions in Elixir modules.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/niahoo/elixir-curry";
-            };
-          } // packageOverrides)
-      ) {};
-
-    curry = curry_0_0_1;
-
-    curtail_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "curtail";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "curtail";
-              version = "0.1.0";
-              sha256 =
-                "0d43f4bcecf91c935a89cd52af62efa62e264b4c82a07e29e9945988735fdc1f";
-            };
-
-            meta = {
-              description = ''HTML-safe string truncation.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/seankay/curtail";
-            };
-          } // packageOverrides)
-      ) {};
-
-    curtail = curtail_0_1_0;
-
-    curtains_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_0_3 }:
-          buildMix ({
-            name = "curtains";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "curtains";
-              version = "0.0.1";
-              sha256 =
-                "d547bd024049630fd072994a759befaab908fa69f5e200b2b584e12f12e9842f";
-            };
-            beamDeps  = [ plug_1_0_3 ];
-
-            meta = {
-              longDescription = ''Curtains is a Elixir package that \"takes
-                                over\" your Elixir website by returning content
-                                of a specified file (if it exists). This makes
-                                it perfect for \"Under construction\" and
-                                \"Maintenance\" pages. At it`s heart, it`s just
-                                a Plug.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/fteem/curtains";
-            };
-          } // packageOverrides)
-      ) {};
-
-    curtains = curtains_0_0_1;
-
-    curve25519_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "curve25519";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "curve25519";
-              version = "0.1.0";
-              sha256 =
-                "786f9ede0aa9503f65015c19d9cd1b9263c5e7523cd215ee23d6d94ba16473d1";
-            };
-
-            meta = {
-              description = ''Curve25519 Diffie-Hellman functions'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/curve25519_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    curve25519 = curve25519_0_1_0;
-
-    cushion_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpotion_2_2_2 }:
-          buildMix ({
-            name = "cushion";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "cushion";
-              version = "0.0.3";
-              sha256 =
-                "1371ab210bd3b7ef7381dbe3f53fedb8afbbb0c562f45d614e4849373919482b";
-            };
-            beamDeps  = [ httpotion_2_2_2 ];
-
-            meta = {
-              longDescription = ''A really simple Buffer API client for sending
-                                updates. Right now it only supports sending text
-                                updates, but hopefully will support more in the
-                                future.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ryanbillingsley/cushion";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cushion = cushion_0_0_3;
-
-    custom_base_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "custom_base";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "custom_base";
-              version = "0.2.0";
-              sha256 =
-                "d7c26409eb22b00d69f591fd89cc4e84550656862c655c7ae3edf63f7381899b";
-            };
-
-            meta = {
-              description = ''Allow you to make custom base conversion in
-                            Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/igas/custom_base";
-            };
-          } // packageOverrides)
-      ) {};
-
-    custom_base = custom_base_0_2_0;
-
-    cuttlefish_2_0_7 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          lager_3_0_2,
-          getopt_0_8_2
-        }:
-          buildRebar3 ({
-            name = "cuttlefish";
-            version = "2.0.7";
-            src = fetchHex {
-              pkg = "cuttlefish";
-              version = "2.0.7";
-              sha256 =
-                "57589747ba40a75c53872002cd251a2933102457cdcc99b8ed72823ba1288869";
-            };
-
-            beamDeps  = [ lager_3_0_2 getopt_0_8_2 ];
-
-            meta = {
-              description = ''cuttlefish configuration abstraction'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/tsloughter/cuttlefish";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cuttlefish = cuttlefish_2_0_7;
-
-    cypher_query_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "cypher_query";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "cypher_query";
-              version = "0.0.1";
-              sha256 =
-                "068bee4f13275d3448a4676bf113d5b2e414b47a9f84bb6e1614a009104c3f30";
-            };
-
-            meta = {
-              description = ''A dumb string-based query builder for neo4j
-                            Cypher queries'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/collin/cypher_query";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cypher_query = cypher_query_0_0_1;
-
-    damm_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "damm";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "damm";
-              version = "0.1.0";
-              sha256 =
-                "2d2d0adbf0ffe5888d0aaee784a25b3bb9b99acf33b6de350aee9f58c588cbd5";
-            };
-
-            meta = {
-              description = ''Damm algorithm implementation'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mururu/damm";
-            };
-          } // packageOverrides)
-      ) {};
-
-    damm = damm_0_1_0;
-
-    data_leaf_walker_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "data_leaf_walker";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "data_leaf_walker";
-              version = "0.1.0";
-              sha256 =
-                "9d3a8688c3751765453f04e8f60f3826757396dce66baf7e2cf7335c9c373bbd";
-            };
-
-            meta = {
-              longDescription = ''Traverse and map values of deeply nested data
-                                structures: Provides a `map_deeply/2` function
-                                for Maps and Lists and Keyword Lists'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gutschilla/elixir-map-deeply";
-            };
-          } // packageOverrides)
-      ) {};
-
-    data_leaf_walker = data_leaf_walker_0_1_0;
-
-    data_pool_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, e_queue_1_0_1 }:
-          buildMix ({
-            name = "data_pool";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "data_pool";
-              version = "1.0.1";
-              sha256 =
-                "ad5a2bdf81215d71e47f87624142f58d32a808ea98f4837fc1d28dc971124613";
-            };
-            beamDeps  = [ e_queue_1_0_1 ];
-
-            meta = {
-              longDescription = ''Utility to buffer items into a queue that
-                                follow a simple block pattern on calls to push
-                                and pop when the queue at a max size or
-                                empty.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/benfalk/data_pool";
-            };
-          } // packageOverrides)
-      ) {};
-
-    data_pool = data_pool_1_0_1;
-
-    database_url_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "database_url";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "database_url";
-              version = "0.1.0";
-              sha256 =
-                "273c8c926761d5716fee17c8a8494583d729a4419e30479a292eb6cea3d9a756";
-            };
-
-            meta = {
-              description = ''Parse database URL and renturn keyword list for
-                            use with Ecto.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/s-m-i-t-a/database_url";
-            };
-          } // packageOverrides)
-      ) {};
-
-    database_url = database_url_0_1_0;
-
-    datastructures_0_2_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "datastructures";
-            version = "0.2.5";
-            src = fetchHex {
-              pkg = "datastructures";
-              version = "0.2.5";
-              sha256 =
-                "ef4387043ecaa635995832f32473e8b6708044a6bc73983168eee4ab71b01f92";
-            };
-
-            meta = {
-              description = ''Elixir protocols and implementations for various
-                            data structures.'';
-              license = stdenv.lib.licenses.wtfpl;
-              homepage = "https://github.com/meh/elixir-datastructures";
-            };
-          } // packageOverrides)
-      ) {};
-
-    datastructures = datastructures_0_2_5;
-
-    dbg_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dbg";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "dbg";
-              version = "1.0.1";
-              sha256 =
-                "866159f496a1ad9b959501f16db3d1338bb6cef029a75a67ca5615d25b38345f";
-            };
-
-            meta = {
-              description = ''Distributed tracing'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/fishcakez/dbg";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dbg = dbg_1_0_1;
-
-    dbux_1_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, connection_1_0_2 }:
-          buildMix ({
-            name = "dbux";
-            version = "1.0.3";
-            src = fetchHex {
-              pkg = "dbux";
-              version = "1.0.3";
-              sha256 =
-                "79d01f620dd32ec4ed11423e0724bf7d8a46353e56f8d28cbdbf499a352caa1e";
-            };
-            beamDeps  = [ connection_1_0_2 ];
-
-            meta = {
-              description = ''Bindings for the D-Bus IPC protocol.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mspanc/dbux";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dbux = dbux_1_0_3;
-
-    dealer_0_8_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "dealer";
-            version = "0.8.0";
-            src = fetchHex {
-              pkg = "dealer";
-              version = "0.8.0";
-              sha256 =
-                "c8c72d38e1cff6a181a6b6f627fb6fd5998279827519e598eb28bcef2be721ee";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An API Client for Stockfighter.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/larrylv/dealer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dealer = dealer_0_8_0;
-
-    decimal_1_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "decimal";
-            version = "1.1.2";
-            src = fetchHex {
-              pkg = "decimal";
-              version = "1.1.2";
-              sha256 =
-                "7a6dfa1f4d389497acd7b807bf38c55022487c68b73d339d5114e3a691e006c5";
-            };
-
-            meta = {
-              description = ''Arbitrary precision decimal arithmetic for
-                            Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/ericmj/decimal";
-            };
-          } // packageOverrides)
-      ) {};
-
-    decimal = decimal_1_1_2;
-
-    decimal_arithmetic_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, decimal_1_1_2 }:
-          buildMix ({
-            name = "decimal_arithmetic";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "decimal_arithmetic";
-              version = "0.1.1";
-              sha256 =
-                "b9c5dc722cc770aa5b905418d56e23eaa16e64659da0ccb552341a75068e0cfe";
-            };
-            beamDeps  = [ decimal_1_1_2 ];
-
-            meta = {
-              description = ''Extended arithmetic for Decimal library.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jacek-adamek/decimal_arithmetic";
-            };
-          } // packageOverrides)
-      ) {};
-
-    decimal_arithmetic = decimal_arithmetic_0_1_1;
-
-    decks_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "decks";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "decks";
-              version = "0.0.1";
-              sha256 =
-                "de75b96c66f23c365935949ec53efab1f2f5d187803c26d733dd3b2df535af7d";
-            };
-
-            meta = {
-              description = ''Implements standard card decks for Elixir-based
-                            card games.'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    decks = decks_0_0_1;
-
-    decoction_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "decoction";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "decoction";
-              version = "0.0.1";
-              sha256 =
-                "cdf7ad35cdf87962e153bb56d9c68f8dd061469d58cae8923cbdcd2980d7adc0";
-            };
-
-            meta = {
-              description = ''Decoction is a static site generator written in
-                            Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/aarvay/decoction";
-            };
-          } // packageOverrides)
-      ) {};
-
-    decoction = decoction_0_0_1;
-
-    defmemo_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "defmemo";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "defmemo";
-              version = "0.1.1";
-              sha256 =
-                "8fefc49ff64b06fdb1ee15292419c16919a7a3c6b8e5cac6afd7a13919715e0f";
-            };
-
-            meta = {
-              description = '' A memoization macro (defmemo) for elixir using a
-                            genserver backing store. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/os6sense/DefMemo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    defmemo = defmemo_0_1_1;
-
-    delayed_otp_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "delayed_otp";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "delayed_otp";
-              version = "0.0.2";
-              sha256 =
-                "22fe457d78fe1f216dcfca8c84431ac1f31e93267fdd563a5ca86c8289e2620f";
-            };
-
-            meta = {
-              longDescription = ''Delay death of supervisor children or
-                                gen_server : for instance Erlang supervisor with
-                                exponential backoff restart strategy.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/awetzel/delayed_otp";
-            };
-          } // packageOverrides)
-      ) {};
-
-    delayed_otp = delayed_otp_0_0_2;
-
-    delegate_behaviour_0_1_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "delegate_behaviour";
-            version = "0.1.5";
-            src = fetchHex {
-              pkg = "delegate_behaviour";
-              version = "0.1.5";
-              sha256 =
-                "d46e9c39d5be4e6b1ee62a9419d1a44d138aca5af0161f42f78b4eb24659ca58";
-            };
-
-            meta = {
-              description = ''Macros to define modules that delegate to
-                            concrete implementations of behaviours'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    delegate_behaviour = delegate_behaviour_0_1_5;
-
-    deltek_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          sweet_xml_0_6_1,
-          html_entities_0_3_0
-        }:
-          buildMix ({
-            name = "deltek";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "deltek";
-              version = "0.0.4";
-              sha256 =
-                "274eecc6aba76e19e30e5850746ee81241ac8cc334d9729588b2ba770ac53988";
-            };
-            beamDeps  = [ sweet_xml_0_6_1 html_entities_0_3_0 ];
-
-            meta = {
-              description = ''An Elixir wrapper for the SOAP Deltek API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lucidstack/elixir-deltek";
-            };
-          } // packageOverrides)
-      ) {};
-
-    deltek = deltek_0_0_4;
-
-    demacro_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "demacro";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "demacro";
-              version = "0.0.1";
-              sha256 =
-                "e2a83d48f6b3e03764baf2e149dd5420e632d0d4daa77c5226697a3755a89d16";
-            };
-             meta = {    };
-          } // packageOverrides)
-      ) {};
-
-    demacro = demacro_0_0_1;
-
-    depcache_1_2_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "depcache";
-            version = "1.2.2";
-            src = fetchHex {
-              pkg = "depcache";
-              version = "1.2.2";
-              sha256 =
-                "0e70807140d485f1bf5ac50cd9a87b71ba5c5496a8ad02029847e569af80ed91";
-            };
-
-            meta = {
-              description = ''In-memory cache with cache key dependencies'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/zotonic/depcache";
-            };
-          } // packageOverrides)
-      ) {};
-
-    depcache = depcache_1_2_2;
-
-    deppie_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "deppie";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "deppie";
-              version = "1.0.0";
-              sha256 =
-                "6712dbae54f274d7f4f92979d82cec2d4636a0598e2474e47b190fc3c0ed378a";
-            };
-
-            meta = {
-              description = ''Elixir`s coolest deprecation logger'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zackehh/deppie";
-            };
-          } // packageOverrides)
-      ) {};
-
-    deppie = deppie_1_0_0;
-
-    detergent_0_3_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "detergent";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "detergent";
-              version = "0.3.0";
-              sha256 =
-                "510cfb5d35b4b344762f074b73c8696b4bdde654ea046b3365cf92760ae33362";
-            };
-
-            meta = {
-              description = ''An emulsifying Erlang SOAP library'';
-              license = with stdenv.lib.licenses; [ unlicense bsd3 ];
-              homepage = "https://github.com/devinus/detergent";
-            };
-          } // packageOverrides)
-      ) {};
-
-    detergent = detergent_0_3_0;
-
-    detergentex_0_0_7 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, detergent_0_3_0 }:
-          buildMix ({
-            name = "detergentex";
-            version = "0.0.7";
-            src = fetchHex {
-              pkg = "detergentex";
-              version = "0.0.7";
-              sha256 =
-                "6bb1bc2fe9228f97e512ef012c473ed822263dc38c3dbaa727fcd111ce1c4771";
-            };
-            beamDeps  = [ detergent_0_3_0 ];
-
-            meta = {
-              description = ''Elixir binding to Detergent erlang library used
-                            to call WSDL SOAP Services'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/r-icarus/detergentex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    detergentex = detergentex_0_0_7;
-
-    deviant_elixir_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          feeder_ex_0_0_2
-        }:
-          buildMix ({
-            name = "deviant_elixir";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "deviant_elixir";
-              version = "0.0.4";
-              sha256 =
-                "42473969889a47edab66384988e70ab6b4da158043e9231deab822743e3d9943";
-            };
-            beamDeps  = [ httpoison_0_8_3 feeder_ex_0_0_2 ];
-
-            meta = {
-              longDescription = ''WIP. Unstable alpha. Elixir API wrapper for
-                                Deviant Art. At this moment provides only RSS
-                                feeds intergac.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/vdaniuk/deviant-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    deviant_elixir = deviant_elixir_0_0_4;
-
-    dflow_0_1_5 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "dflow";
-            version = "0.1.5";
-            src = fetchHex {
-              pkg = "dflow";
-              version = "0.1.5";
-              sha256 =
-                "f08e73f22d4c620ef5f358a0b40f8fe3b91219ca3922fbdbe7e42f1cb58f737e";
-            };
-
-            meta = {
-              description = ''Pipelined flow processing engine'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/dalmatinerdb/dflow";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dflow = dflow_0_1_5;
-
-    di_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "di";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "di";
-              version = "0.1.0";
-              sha256 =
-                "d7a89568c986c98399667faeb618d5cc42a89965717e758323aa5370d1547260";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir wrapper for DI.FM'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/JoshuaThompson/di";
-            };
-          } // packageOverrides)
-      ) {};
-
-    di = di_0_1_0;
-
-    dialyxir_0_3_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dialyxir";
-            version = "0.3.3";
-            src = fetchHex {
-              pkg = "dialyxir";
-              version = "0.3.3";
-              sha256 =
-                "8851d7c582ce9db43b0564f026b2f6a461df62e139a7891fde50f9b6a7fc496c";
-            };
-
-            meta = {
-              description = ''Mix tasks to simplify use of Dialyzer in Elixir
-                            projects.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/jeremyjh/dialyxir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dialyxir = dialyxir_0_3_3;
-
-    dialyze_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dialyze";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "dialyze";
-              version = "0.2.1";
-              sha256 =
-                "f485181fa53229356621261a384963cb47511cccf1454e82ca4fde53274fcd48";
-            };
-
-            meta = {
-              description = ''Dialyzer Mix task'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/fishcakez/dialyze";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dialyze = dialyze_0_2_1;
-
-    dice_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dice";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "dice";
-              version = "0.0.1";
-              sha256 =
-                "975795636d6374bf120669cdbd6008a64bdd193a2ff202ffbdeefaa03d11bb9c";
-            };
-
-            meta = {
-              description = ''Library and CLI app for rolling dice '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/stocks29/dice";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dice = dice_0_0_1;
-
-    dice_roller_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dice_roller";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "dice_roller";
-              version = "1.1.0";
-              sha256 =
-                "90e3485951605338f23686dcc001599354cb6eff7df851b1a1f6514b1c7fbd5c";
-            };
-
-            meta = {
-              description = ''An Elixir library for simulating dice rolls'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KevinGreene/DiceRoller";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dice_roller = dice_roller_1_1_0;
-
-    dicon_0_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dicon";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "dicon";
-              version = "0.4.0";
-              sha256 =
-                "d6a5c56e376b13dcfd721bc2571fbabcb41409ac5f2b8fa243a0f14393e6b145";
-            };
-
-            meta = {
-              description = ''Simple release deliverer for Elixir'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/lexmag/dicon";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dicon = dicon_0_4_0;
-
-    diff_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "diff";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "diff";
-              version = "1.0.0";
-              sha256 =
-                "0dbd7abbf558031ccb8d703c751a20349326191026b07b53f4a3c603817728fb";
-            };
-
-            meta = {
-              description = ''A simple diff library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bryanjos/diff";
-            };
-          } // packageOverrides)
-      ) {};
-
-    diff = diff_1_0_0;
-
-    digoc_0_3_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_3_1,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "digoc";
-            version = "0.3.3";
-            src = fetchHex {
-              pkg = "digoc";
-              version = "0.3.3";
-              sha256 =
-                "23d5c2f1b977b1f3e12567879a20bc211898efdfcac9a0b6802324bc42ea0605";
-            };
-            beamDeps  = [ poison_1_3_1 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Elixir client for the Digital Ocean API v2.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kevinmontuori/digoc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    digoc = digoc_0_3_3;
-
-    dir_walker_0_0_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dir_walker";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "dir_walker";
-              version = "0.0.6";
-              sha256 =
-                "5bf891b970cca8df7d6e7d94857c508d2f5b48c615903427edbcbc483358fc92";
-            };
-
-            meta = {
-              longDescription = ''DirWalker lazily traverses one or more
-                                directory trees, depth first, returning
-                                successive file names. Initialize the walker
-                                using {:ok, walker} = DirWalker.start_link(path)
-                                # or [path, path...] Then return the next `n`
-                                path names using paths = DirWalker.next(walker
-                                <, n \\ 1>) Successive calls to `next` will
-                                return successive file names, until all file
-                                names have been returned. These methods have
-                                also been wrapped into a Stream resource. paths
-                                = DirWalker.stream(path) # or [path,path...] '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/pragdave/dir_walker";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dir_walker = dir_walker_0_0_6;
-
-    disc_union_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "disc_union";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "disc_union";
-              version = "0.1.0";
-              sha256 =
-                "017f5532d1b444f3e0950771a80ed34b82aa405ca650174529706b8587ea23da";
-            };
-
-            meta = {
-              description = ''Discriminated unions for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/X4lldux/disc_union";
-            };
-          } // packageOverrides)
-      ) {};
-
-    disc_union = disc_union_0_1_0;
-
-    discourse_as_sso_erlang_0_7_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, cowlib_1_3_0 }:
-          buildRebar3 ({
-            name = "discourse_as_sso_erlang";
-            version = "0.7.0";
-            src = fetchHex {
-              pkg = "discourse_as_sso_erlang";
-              version = "0.7.0";
-              sha256 =
-                "be569178e6b0cb49d3fc48457b5233f9e82dc447bd452e5708a071412c24bc2d";
-            };
-
-            beamDeps  = [ cowlib_1_3_0 ];
-
-            meta = {
-              longDescription = ''Low-level erlang library to encode/decode
-                                payloads for using the forum software Discourse
-                                as an SSO endpoint.'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage =
-                "https://github.com/reverendpaco/discourse-as-sso-erlang";
-            };
-          } // packageOverrides)
-      ) {};
-
-    discourse_as_sso_erlang = discourse_as_sso_erlang_0_7_0;
-
-    dismake_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dismake";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "dismake";
-              version = "1.0.0";
-              sha256 =
-                "7eeff4a362ed4b4250e4090caa6861ee7b27a524919f574b9f836067b63ac058";
-            };
-
-            meta = {
-              description = ''Dismake is a \"compiler\" (as in Mix.compilers)
-                            that just runs make. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jarednorman/dismake";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dismake = dismake_1_0_0;
-
-    distance_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "distance";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "distance";
-              version = "0.2.1";
-              sha256 =
-                "847cf16e80c6905adc7f359b845358bbfbeb3383459f2bc1e9b310cfa1e917ec";
-            };
-
-            meta = {
-              description = ''Various distance functions for geometric or
-                            geographic calculations'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pkinney/distance";
-            };
-          } // packageOverrides)
-      ) {};
-
-    distance = distance_0_2_1;
-
-    distancex_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_5_2 }:
-          buildMix ({
-            name = "distancex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "distancex";
-              version = "0.1.0";
-              sha256 =
-                "62d78de83026d809dc93c1ea92452cffc6e905f157e9dfa25cbc51b44e54d6f4";
-            };
-            beamDeps  = [ poison_1_5_2 ];
-
-            meta = {
-              longDescription = ''Elixir-wrapper for Google Directions API. Can
-                                return the drive time and driving distance
-                                between two places.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/vysakh0/distancex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    distancex = distancex_0_1_0;
-
-    diver_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "diver";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "diver";
-              version = "0.1.1";
-              sha256 =
-                "6860e05da87741be919e0b4264178e0ca1b50a108bcaeb1a2a51c9e1726d3079";
-            };
-
-            meta = {
-              longDescription = ''A HBase driver for Erlang/Elixir using
-                                jinterface and the Asynchbase Java client to
-                                query the database. '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/novabyte/diver";
-            };
-          } // packageOverrides)
-      ) {};
-
-    diver = diver_0_1_1;
-
-    dlist_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dlist";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "dlist";
-              version = "0.0.1";
-              sha256 =
-                "51c9d4a9e02c9a8892450876939d1e18b7f9ae78b237a683f0efad47d46e5f9a";
-            };
-
-            meta = {
-              description = ''Deque implementations '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/stocks29/dlist.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dlist = dlist_0_0_1;
-
-    dnsimple_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "dnsimple";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "dnsimple";
-              version = "0.1.0";
-              sha256 =
-                "f10326124aeabcfdcb388100d480413314609cbabfa5de31d0c486150ab28ebc";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An (experimental) Elixir client for the DNSimple
-                            API v2.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/aetrion/dnsimple-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dnsimple = dnsimple_0_1_0;
-
-    doc_first_formatter_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "doc_first_formatter";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "doc_first_formatter";
-              version = "0.0.2";
-              sha256 =
-                "88500d55349571173f88d0f691e1ac7908b9663bfc06f9f0862e60ea8378313c";
-            };
-
-            meta = {
-              longDescription = ''An ExUnit formatter that puts a list of tests
-                                first, distinguishes pending from failed tests,
-                                and saves detailed error information for once
-                                the test suite is finished.'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/bkerley/doc_first_formatter";
-            };
-          } // packageOverrides)
-      ) {};
-
-    doc_first_formatter = doc_first_formatter_0_0_2;
-
-    doc_plug_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "doc_plug";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "doc_plug";
-              version = "1.0.2";
-              sha256 =
-                "2813f85dcd4f7228d54c277898d3d7483d03ef27ed4f9abc9eae6f57b00e79b8";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''Plug to automatically generate and serve project
-                            documentation.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hild/doc_plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    doc_plug = doc_plug_1_0_2;
-
-    dogma_0_1_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "dogma";
-            version = "0.1.6";
-            src = fetchHex {
-              pkg = "dogma";
-              version = "0.1.6";
-              sha256 =
-                "cd50b91d8b9ef53ee688d1e437bf4b186ec6bc6e922de7dbf7a7df7aea6dde45";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              description = ''A code style linter for Elixir, powered by
-                            shame.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lpil/dogma";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dogma = dogma_0_1_6;
-
-    dogstatsd_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dogstatsd";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "dogstatsd";
-              version = "0.0.3";
-              sha256 =
-                "4632886c61e928f57359790ad345d3cc58c37b0f82fb7d35d485a8e2385cf887";
-            };
-
-            meta = {
-              description = ''A client for DogStatsd, an extension of the
-                            StatsD metric server for Datadog.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/adamkittelson/dogstatsd-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dogstatsd = dogstatsd_0_0_3;
-
-    dogstatsde_0_6_0 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          worker_pool_1_0_4,
-          stillir_1_0_0
-        }:
-          buildRebar3 ({
-            name = "dogstatsde";
-            version = "0.6.0";
-            src = fetchHex {
-              pkg = "dogstatsde";
-              version = "0.6.0";
-              sha256 =
-                "7d24f8a5573fcbdc3f072ff93685e5277900236df4a7d49d73d8579cf566eb45";
-            };
-
-            beamDeps  = [ worker_pool_1_0_4 stillir_1_0_0 ];
-
-            meta = {
-              description = ''Send StatsD metrics to Datadog'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/WhoopInc/dogstatsde";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dogstatsde = dogstatsde_0_6_0;
-
-    domainr_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "domainr";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "domainr";
-              version = "0.0.1";
-              sha256 =
-                "f66ccfe9fdc6b388ce7633974313826f9acffe96b4b369bb904d519e4aa26039";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''Domainr is an [Domainr wrapper
-                                for](https://domainr.build) in Elixir that makes
-                                it easy to search and find available domains and
-                                TLDs.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/e-fu/domainr";
-            };
-          } // packageOverrides)
-      ) {};
-
-    domainr = domainr_0_0_1;
-
-    doorman_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          comeonin_2_4_0
-        }:
-          buildMix ({
-            name = "doorman";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "doorman";
-              version = "0.0.3";
-              sha256 =
-                "07c9e7569ec6a8bf26702b6d6a201840b4e11213c5dc42aaecd23d2e169b8c85";
-            };
-            beamDeps  = [ plug_1_1_5 comeonin_2_4_0 ];
-
-            meta = {
-              description = ''Tools to make Elixir authentication simple and
-                            flexible'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/BlakeWilliams/doorman";
-            };
-          } // packageOverrides)
-      ) {};
-
-    doorman = doorman_0_0_3;
-
-    dot_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dot";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "dot";
-              version = "0.0.3";
-              sha256 =
-                "3411bf1f70bb8ea0caa64515054a4a161b711667a5cdb0e7c14e766ce04b06ae";
-            };
-             meta = {    };
-          } // packageOverrides)
-      ) {};
-
-    dot = dot_0_0_3;
-
-    dot_notes_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dot_notes";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "dot_notes";
-              version = "1.0.0";
-              sha256 =
-                "0689a006ca36716eadac9f8f83699aff6d56520a15403610d08e2f397fd60996";
-            };
-
-            meta = {
-              description = ''Simple dot/bracket notation parsing/conversion
-                            for Maps/Lists'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zackehh/dot-notes-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dot_notes = dot_notes_1_0_0;
-
-    dotenv_2_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dotenv";
-            version = "2.1.0";
-            src = fetchHex {
-              pkg = "dotenv";
-              version = "2.1.0";
-              sha256 =
-                "caddac72cac4955ae346306b210608dd6cf380a439b4e18bcdc3d6021f3e4d6b";
-            };
-
-            meta = {
-              description = ''A port of dotenv to Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/avdi/dotenv_elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dotenv = dotenv_2_1_0;
-
-    dovetail_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dovetail";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "dovetail";
-              version = "0.0.3";
-              sha256 =
-                "01b6c3085ebb9cb7d43115c7a2d9780a840017e521daeb7d0a2233f61f8b0306";
-            };
-
-            meta = {
-              description = ''Dovetail provides a harness for running test
-                            dovecot servers.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/thusfresh/dovetail";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dovetail = dovetail_0_0_3;
-
-    dp_decoder_0_2_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "dp_decoder";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "dp_decoder";
-              version = "0.2.1";
-              sha256 =
-                "66449f7691e4f4c8041d82d910c2c86b8ec1bdc6dd2b008d9b9169fda86b22e0";
-            };
-
-            meta = {
-              description = ''Collection of decoders for different metric
-                            protocols'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/dalmatinerdb/dp_decoder";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dp_decoder = dp_decoder_0_2_1;
-
-    dqe_idx_0_1_18 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "dqe_idx";
-            version = "0.1.18";
-            src = fetchHex {
-              pkg = "dqe_idx";
-              version = "0.1.18";
-              sha256 =
-                "6af4897e3e5fdff5055179dd765778450cdf8a43c61b5e2a2aeec483c4309c6c";
-            };
-
-            meta = {
-              description = ''Dalmatiner QE indexing'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    dqe_idx = dqe_idx_0_1_18;
-
-    druuid_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "druuid";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "druuid";
-              version = "0.3.0";
-              sha256 =
-                "238dfa36cbb4f1277e44cd9ed5900ff3045c4c19724412bb94173ed2659d0ec8";
-            };
-
-            meta = {
-              longDescription = ''Date-relative (and relatively universally
-                                unique) UUID generation. Based on
-                                https://github.com/recurly/druuid'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bhelx/druuid";
-            };
-          } // packageOverrides)
-      ) {};
-
-    druuid = druuid_0_3_0;
-
-    dublin_bus_api_0_1_8 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          floki_0_8_1
-        }:
-          buildMix ({
-            name = "dublin_bus_api";
-            version = "0.1.8";
-            src = fetchHex {
-              pkg = "dublin_bus_api";
-              version = "0.1.8";
-              sha256 =
-                "b373da947594dfc4b3a2ef11e77f7e3a1ce7875d6aab90fc39a4f285b1e77e63";
-            };
-            beamDeps  = [ httpoison_0_8_3 floki_0_8_1 ];
-
-            meta = {
-              description = ''Access to the Real Time Passenger Information
-                            (RTPI) for Dublin Bus services.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/carlo-colombo/dublin-bus-api";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dublin_bus_api = dublin_bus_api_0_1_8;
-
-    duckduckgo_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "duckduckgo";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "duckduckgo";
-              version = "0.1.0";
-              sha256 =
-                "349fd4b837634507a8e11280c244b064d1eb4e0d3333994f79e5341eec522c2f";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Elixir client for the DuckDuckGo Instant
-                            Answer API.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/pjhampton/DuckDuckElixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    duckduckgo = duckduckgo_0_1_0;
-
-    durga_transport_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "durga_transport";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "durga_transport";
-              version = "1.0.1";
-              sha256 =
-                "42db857eba0e78c4eb15823b5137e8ccad13711cc2c873b6f1b469c4c0771009";
-            };
-             meta = {    };
-          } // packageOverrides)
-      ) {};
-
-    durga_transport = durga_transport_1_0_1;
-
-    dye_0_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "dye";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "dye";
-              version = "0.4.0";
-              sha256 =
-                "95c11e5baafc79531f37bee1256066a8fef63739707723ac1e349739a3217003";
-            };
-
-            meta = {
-              description = ''Dyeing your terminal!'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Kabie/dye";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dye = dye_0_4_0;
-
-    dynamic_compile_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "dynamic_compile";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "dynamic_compile";
-              version = "1.0.0";
-              sha256 =
-                "eb73d8e9a6334914f79c15ee8214acad9659c42222d49beda3e8b6f6789a980a";
-            };
-
-            meta = {
-              description = ''compile and load erlang modules from string
-                            input'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/okeuday/dynamic_compile";
-            };
-          } // packageOverrides)
-      ) {};
-
-    dynamic_compile = dynamic_compile_1_0_0;
-
-    e2qc_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "e2qc";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "e2qc";
-              version = "0.1.0";
-              sha256 =
-                "3a97f9b3c60ec723002a816c041ac224dc5aba3360bd922c5e38cfd40f59c65b";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''2q cache'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/project-fifo/e2qc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    e2qc = e2qc_0_1_0;
-
-    e_queue_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "e_queue";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "e_queue";
-              version = "1.0.1";
-              sha256 =
-                "aff37843191c1229ec49d0d067b18d5e0871a28fe049a4a82c7884e66320b7e8";
-            };
-
-            meta = {
-              longDescription = ''An Elixir wrapper around the Erlang optimized
-                                `queue` that supports the FIFO, first-in
-                                first-out, pattern. This is useful is when you
-                                can`t predict when an item needs to be taken or
-                                added to the queue. Use this instead of using
-                                `++` or double reversing lists to add items to
-                                the \"back\" of a queue.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/benfalk/e_queue";
-            };
-          } // packageOverrides)
-      ) {};
-
-    e_queue = e_queue_1_0_1;
-
-    e_quip_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "e_quip";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "e_quip";
-              version = "0.0.1";
-              sha256 =
-                "e6fe9eeb96dbc863b527a792e730ea41aea43caef2a5db68ea2c4c9fc21f552a";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Simple Quip API Client'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/mmartinson/e_quip";
-            };
-          } // packageOverrides)
-      ) {};
-
-    e_quip = e_quip_0_0_1;
-
-    earmark_0_1_19 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "earmark";
-            version = "0.1.19";
-            src = fetchHex {
-              pkg = "earmark";
-              version = "0.1.19";
-              sha256 =
-                "db85f989ba3030d40d3a901d7eebbf926ee07355bf6113d730b8aaf9404a6bd7";
-            };
-
-            meta = {
-              longDescription = ''Earmark is a pure-Elixir Markdown converter.
-                                It is intended to be used as a library (just
-                                call Earmark.to_html), but can also be used as a
-                                command-line tool (just run mix escript.build
-                                first). Output generation is pluggable.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/pragdave/earmark";
-            };
-          } // packageOverrides)
-      ) {};
-
-    earmark_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "earmark";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "earmark";
-              version = "0.2.1";
-              sha256 =
-                "c86afb8d22a5aa8315afd4257c7512011c0c9a48b0fea43af7612836b958098b";
-            };
-
-            meta = {
-              longDescription = ''Earmark is a pure-Elixir Markdown converter.
-                                It is intended to be used as a library (just
-                                call Earmark.to_html), but can also be used as a
-                                command-line tool (just run mix escript.build
-                                first). Output generation is pluggable.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/pragdave/earmark";
-            };
-          } // packageOverrides)
-      ) {};
-
-    earmark = earmark_0_2_1;
-
-    eastar_0_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "eastar";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "eastar";
-              version = "0.4.0";
-              sha256 =
-                "21a74b1ac6da2a24eb5e6e14e5537389dd671fa2fc94a4594e0e7ddcf4b4c87a";
-            };
-
-            meta = {
-              longDescription = ''Eastar is a pure-Elixir implementation of A*
-                                graph pathfinding algorithm. All graph
-                                environment, like nodes connectivity, distance &
-                                H-metric are abstracted away - you provide them
-                                as functions.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/herenowcoder/eastar";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eastar = eastar_0_4_0;
-
-    easy_server_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "easy_server";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "easy_server";
-              version = "0.0.1";
-              sha256 =
-                "af9faac0c7c440cf04bbb5d1f8aea1fc00b0c60da384c8103fafdaf0df00a0bb";
-            };
-
-            meta = {
-              description = ''Easier GenServer for Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/termoose/EasyServer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    easy_server = easy_server_0_0_1;
-
-    easypost_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_5_2 }:
-          buildMix ({
-            name = "easypost";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "easypost";
-              version = "0.0.1";
-              sha256 =
-                "8339fcfb60a1d4833b99aa611d194bf1ae94f22509dc81cf90d07ee2db0e074e";
-            };
-            beamDeps  = [ poison_1_5_2 ];
-
-            meta = {
-              description = ''Elixir Easypost Client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Dania02525/easypost";
-            };
-          } // packageOverrides)
-      ) {};
-
-    easypost = easypost_0_0_1;
-
-    ec2_0_9_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, jsx_2_8_0 }:
-          buildMix ({
-            name = "ec2";
-            version = "0.9.1";
-            src = fetchHex {
-              pkg = "ec2";
-              version = "0.9.1";
-              sha256 =
-                "ae857fe633bca078fd1ee54232dd3bc74566ff46b93aa53e38d74c546c3d9b6f";
-            };
-            beamDeps  = [ jsx_2_8_0 ];
-
-            meta = {
-              description = ''helper library for working with aws ec2
-                            metadata'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/talentdeficit/ec2";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ec2 = ec2_0_9_1;
-
-    echo_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "echo";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "echo";
-              version = "0.2.0";
-              sha256 =
-                "e03b37ada0457fbf3e91b2e721c9367b1590a17a5fb9be35672a46206309f1a4";
-            };
-
-            meta = {
-              longDescription = ''A simple & highly extendable,
-                                meta-notification system; Echo checks
-                                notification preferences & dispatch
-                                notifications to different adapters (ex. email,
-                                logger, analytics, sms, etc.)'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/zmoshansky/echo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    echo = echo_0_2_0;
-
-    echo_bot_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          telegram_0_0_3,
-          poison_2_1_0,
-          gproc_0_5_0
-        }:
-          buildMix ({
-            name = "echo_bot";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "echo_bot";
-              version = "0.0.2";
-              sha256 =
-                "f353984ab5ea36b423b2a18d788d5eeeb6ae45aca254129b99c5bbab9865b38c";
-            };
-            beamDeps  = [ telegram_0_0_3 poison_2_1_0 gproc_0_5_0 ];
-
-            meta = {
-              description = ''A demo telegram bot'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/col/echo_bot";
-            };
-          } // packageOverrides)
-      ) {};
-
-    echo_bot = echo_bot_0_0_2;
-
-    echonest_ex_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "echonest_ex";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "echonest_ex";
-              version = "0.0.2";
-              sha256 =
-                "d8b3d7f2b04eb48b689877aaf9db30f33acea3ea02daca5aad8d105ac785bd98";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Echonest api wrapper for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/desmondhume/echonest_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    echonest_ex = echonest_ex_0_0_2;
-
-    econfig_0_7_3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "econfig";
-            version = "0.7.3";
-            src = fetchHex {
-              pkg = "econfig";
-              version = "0.7.3";
-              sha256 =
-                "bddff19a757209d3e98b6952897fbf8790f6cf33d9e5caf2501263ea4ad46e3c";
-            };
-
-            meta = {
-              description = ''simple Erlang config handler using INI files'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/benoitc/econfig";
-            };
-          } // packageOverrides)
-      ) {};
-
-    econfig = econfig_0_7_3;
-
-    ecs_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ecs";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "ecs";
-              version = "0.3.0";
-              sha256 =
-                "266fe69adcb3772352bc47b1312e00e8ec0a15a03c412be1b63b147a916f6156";
-            };
-
-            meta = {
-              description = ''An experimental Entity-Component System (ECS)
-                            game engine.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/joshforisha/ecs";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ecs = ecs_0_3_0;
-
-    ecto_audit_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ecto_audit";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "ecto_audit";
-              version = "0.0.1";
-              sha256 =
-                "04829a9670d4258b96c6218043093b68a1d3b03c37ee316a1c19366a59dbbd59";
-            };
-
-            meta = {
-              description = ''Ecto extension to support auditing data changes
-                            in your Schema.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mattweldon/ecto_audit";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ecto_audit = ecto_audit_0_0_1;
-
-    ed25519_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ed25519";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "ed25519";
-              version = "0.2.0";
-              sha256 =
-                "ddd159c41eea85a2fc198a0a8ed06d69ef42b4657f7122610d5e0a5653d2ef03";
-            };
-
-            meta = {
-              description = ''Ed25519 signature functions'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/ed25519_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ed25519 = ed25519_0_2_0;
-
-    edib_0_7_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "edib";
-            version = "0.7.0";
-            src = fetchHex {
-              pkg = "edib";
-              version = "0.7.0";
-              sha256 =
-                "4ff16e9397a14d13a0a4bcef30634393999c24ed17e6f90817f5f115e09db5a2";
-            };
-
-            meta = {
-              longDescription = ''Mix task to create a docker image of your
-                                application release. More detailed information
-                                about release image building at:
-                                https://github.com/edib-tool/elixir-docker-image-builder'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/edib-tool/mix-edib";
-            };
-          } // packageOverrides)
-      ) {};
-
-    edib = edib_0_7_0;
-
-    edip_0_4_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "edip";
-            version = "0.4.3";
-            src = fetchHex {
-              pkg = "edip";
-              version = "0.4.3";
-              sha256 =
-                "b0b9f34b2048b3f03c1f25b6dc60a1567b6f3ec8c6ad945de30dc313d7608800";
-            };
-
-            meta = {
-              longDescription = ''Mix task to create a docker image of your
-                                application release. More detailed information
-                                about release image packaging at:
-                                https://github.com/asaaki/elixir-docker-image-packager'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/asaaki/mix-edip";
-            };
-          } // packageOverrides)
-      ) {};
-
-    edip = edip_0_4_3;
-
-    edown_0_7_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "edown";
-            version = "0.7.0";
-            src = fetchHex {
-              pkg = "edown";
-              version = "0.7.0";
-              sha256 =
-                "6d7365a7854cd724e8d1fd005f5faa4444eae6a87eb6df9b789b6e7f6f09110a";
-            };
-
-            meta = {
-              description = ''Markdown generated from Edoc.'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/uwiger/edown";
-            };
-          } // packageOverrides)
-      ) {};
-
-    edown = edown_0_7_0;
-
-    eeb_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          tzdata_0_1_201603,
-          timex_1_0_2,
-          plug_0_14_0,
-          earmark_0_1_19,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "eeb";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "eeb";
-              version = "0.2.0";
-              sha256 =
-                "0615ccea012507ae35f6f1f4f8a46eac6d9eceba0cdface2df5c0d70b7caddbc";
-            };
-            beamDeps  = [
-                          tzdata_0_1_201603
-                          timex_1_0_2
-                          plug_0_14_0
-                          earmark_0_1_19
-                          cowboy_1_0_4
-                        ];
-
-            meta = {
-              description = ''Elixir extendable blog.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/aborn/eeb";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eeb = eeb_0_2_0;
-
-    efirebirdsql_0_1_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "efirebirdsql";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "efirebirdsql";
-              version = "0.1.1";
-              sha256 =
-                "dff29bcd6f5f99baa18dd339c01f441b498030e88ac4a1d7c4524da79b0a4cb7";
-            };
-
-            meta = {
-              description = ''Firebird Client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nakagami/efirebirdsql";
-            };
-          } // packageOverrides)
-      ) {};
-
-    efirebirdsql = efirebirdsql_0_1_1;
-
-    egaugex_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          floki_0_8_1
-        }:
-          buildMix ({
-            name = "egaugex";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "egaugex";
-              version = "0.0.2";
-              sha256 =
-                "307c0a21c196db45431e5472ad090548f956ccb0e02f97491fba07a2a52d0c51";
-            };
-            beamDeps  = [ httpoison_0_8_3 floki_0_8_1 ];
-
-            meta = {
-              description = ''A simple egauge parser to retrieve and parse data
-                            from egauge devices'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Brightergy/egaugex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    egaugex = egaugex_0_0_2;
-
-    eh_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "eh";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "eh";
-              version = "0.2.0";
-              sha256 =
-                "91013c78138c8854c5699ef42324e66286fed0048c4d4212c4dc3012d764c628";
-            };
-
-            meta = {
-              description = ''Lookup Elixir documentation from the command line
-                            '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/Frost/eh.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eh = eh_0_2_0;
-
-    eight_ball_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "eight_ball";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "eight_ball";
-              version = "0.0.1";
-              sha256 =
-                "1ba1b2b5f3dfaba751b51f101c3c526a09f0c989768f265e82a6a065447a6aa4";
-            };
-
-            meta = {
-              description = ''Library that acts like a real life Magic 8
-                            Ball.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/fteem/eight_ball";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eight_ball = eight_ball_0_0_1;
-
-    eight_ball_dj_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "eight_ball_dj";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "eight_ball_dj";
-              version = "0.0.2";
-              sha256 =
-                "5b0d4f92a76f3d48d5541936ae8540154ed2a14ccda1a45e250d6a577bb541f5";
-            };
-
-            meta = {
-              description = ''Ask a question to the Magic Eight Ball'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/djkianoosh/eight_ball";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eight_ball_dj = eight_ball_dj_0_0_2;
-
-    eikon_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "eikon";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "eikon";
-              version = "0.0.2";
-              sha256 =
-                "fc624850b69504dd3f05e65ce40b4480aef70b605045f3d79d218c39c443a205";
-            };
-
-            meta = {
-              description = ''Eikōn is an Elixir library providing a read-only
-                            interface for image files.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tchoutri/eikon";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eikon = eikon_0_0_2;
-
-    eio_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "eio";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "eio";
-              version = "0.1.0";
-              sha256 =
-                "f39f017c73713b36ee27d8a0635634ac2e96b4d540f28db9dd358d8744dccd88";
-            };
-            beamDeps  = [ poison_1_5_2 plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Engine.io server for Elixir.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/falood/eio";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eio = eio_0_1_0;
-
-    ejabberd_dev_15_9_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ejabberd_dev";
-            version = "15.9.0";
-            src = fetchHex {
-              pkg = "ejabberd_dev";
-              version = "15.9.0";
-              sha256 =
-                "4c4ca5b3ee1900bd7e5babed76cae361b6350ed5793ce013cbfccc06208c291e";
-            };
-
-            meta = {
-              longDescription = ''A package to help with building ejabberd
-                                modules. This package includes source and header
-                                files from the ejabberd project that are
-                                necessary in order to build a gen_mod module.'';
-              license = stdenv.lib.licenses.gpl3;
-              homepage = "https://github.com/scrogson/ejabberd_dev";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ejabberd_dev = ejabberd_dev_15_9_0;
-
-    ejwt_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, jsx_2_8_0 }:
-          buildRebar3 ({
-            name = "ejwt";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ejwt";
-              version = "0.1.0";
-              sha256 =
-                "c316a4b7fd21b07b401a3a01db9039b7006f5a1c7e96a981b6cbcb36da1a4a84";
-            };
-
-            beamDeps  = [ jsx_2_8_0 ];
-
-            meta = {
-              description = ''Encode/decode JSON Web Token'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/artefactop/ejwt";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ejwt = ejwt_0_1_0;
-
-    elastex_0_1_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "elastex";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "elastex";
-              version = "0.1.2";
-              sha256 =
-                "eaab5305db3d5d326e471dc1799606b7055971dfb7d9a27571850d2ce7e97f9b";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Data driven elixir client for Elasticsearch.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/michaeldoaty/elastex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elastex = elastex_0_1_2;
-
-    elaxtic_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "elaxtic";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "elaxtic";
-              version = "0.0.1";
-              sha256 =
-                "a912a0327bfe1c6443cec47a03d11450fed2e649bfdcd4e77bdb9176baa8cd45";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              description = ''ElasticSearch client for Elixir and Ecto
-                            driver.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/vic/elaxtic";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elaxtic = elaxtic_0_0_1;
-
-    elixir_ami_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "elixir_ami";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "elixir_ami";
-              version = "0.0.3";
-              sha256 =
-                "781171af1bcc20466117fb119646b55ad473c93ce57549ffec4c65f7ba8a1ede";
-            };
-
-            meta = {
-              longDescription = ''Elixir client for the Asterisk AMI protocol.
-                                Find the user guide in the github repo at:
-                                https://github.com/marcelog/elixir_ami.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/marcelog/elixir_ami";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_ami = elixir_ami_0_0_3;
-
-    elixir_authorizenet_0_2_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          xml_builder_0_0_8,
-          exmerl_0_1_1
-        }:
-          buildMix ({
-            name = "elixir_authorizenet";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "elixir_authorizenet";
-              version = "0.2.2";
-              sha256 =
-                "10111f4fe073d69a5ae817838377ba52bf6b04199c8386f48ca13804db6e2f70";
-            };
-            beamDeps  = [ xml_builder_0_0_8 exmerl_0_1_1 ];
-
-            meta = {
-              longDescription = ''Elixir client for the Authorize.Net merchant
-                                API. This should help you integrate using the
-                                AIM. A nice number of features are implemented
-                                (probably most of the ones used on a daily basis
-                                are already there), but since the API offers a
-                                big number of features and combinations, I still
-                                consider this as WIP, and pull requests,
-                                suggestions, or other kind of feedback are very
-                                welcome! Find the user guide in the github repo
-                                at:
-                                https://github.com/marcelog/elixir_authorizenet.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/marcelog/elixir_authorizenet";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_authorizenet = elixir_authorizenet_0_2_2;
-
-    elixir_bencode_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "elixir_bencode";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "elixir_bencode";
-              version = "1.0.0";
-              sha256 =
-                "2c4c86843b2377182da7cff125784a227c7bc63ef9e92ce7257f14b132667ebe";
-            };
-
-            meta = {
-              description = ''Bencode encoder / decoder in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/AntonFagerberg/elixir_bencode";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_bencode = elixir_bencode_1_0_0;
-
-    elixir_exif_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "elixir_exif";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "elixir_exif";
-              version = "0.1.1";
-              sha256 =
-                "a491a3e134c00f2a1f59c8e3a1bd62b9b94c1ce4179a20d737903f3edcc9bd78";
-            };
-
-            meta = {
-              description = ''Parse exif and thumbnail data from jpeg/tiff
-                            images.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sschneider1207/ElixirExif";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_exif = elixir_exif_0_1_1;
-
-    elixir_feed_parser_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_2_1_6 }:
-          buildMix ({
-            name = "elixir_feed_parser";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "elixir_feed_parser";
-              version = "1.1.0";
-              sha256 =
-                "d623eaf020971979601ff135b56776d1b4a73da7eb75d7ae757a8ea18fd41ca0";
-            };
-            beamDeps  = [ timex_2_1_6 ];
-
-            meta = {
-              description = ''An Elixir Atom/RSS2 feed parser.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/fdietz/elixir-feed-parser";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_feed_parser = elixir_feed_parser_1_1_0;
-
-    elixir_freshbooks_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          xml_builder_0_0_8,
-          exmerl_0_1_1
-        }:
-          buildMix ({
-            name = "elixir_freshbooks";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "elixir_freshbooks";
-              version = "0.0.4";
-              sha256 =
-                "404ba66129bb1a756f6c06460d483d72d59990bc460616a1e61bd87af4108628";
-            };
-            beamDeps  = [ xml_builder_0_0_8 exmerl_0_1_1 ];
-
-            meta = {
-              description = ''Elixir client for FreshBooks.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/marcelog/elixir_freshbooks";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_freshbooks = elixir_freshbooks_0_0_4;
-
-    elixir_gravatar_url_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "elixir_gravatar_url";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "elixir_gravatar_url";
-              version = "1.0.0";
-              sha256 =
-                "e298fbfc6c4ebf401cf4e62739d79696eff3ce454f037055523c08f2cf815db1";
-            };
-
-            meta = {
-              description = ''An Elixir module for generating Gravatar urls'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_gravatar_url = elixir_gravatar_url_1_0_0;
-
-    elixir_make_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "elixir_make";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "elixir_make";
-              version = "0.1.0";
-              sha256 =
-                "940d1a8e6f6ed8f8bc5c349371b200416bcb657e3a7d0fc64e7292263bf02de6";
-            };
-
-            meta = {
-              description = ''A Make compiler for Mix'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/elixir-lang/elixir_make";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_make = elixir_make_0_1_0;
-
-    elixir_mbcs_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "elixir_mbcs";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "elixir_mbcs";
-              version = "0.1.2";
-              sha256 =
-                "45d2572ed4c2bae10e961ddf95846ffd64f83ed7427898b8fdf3221607f610b5";
-            };
-
-            meta = {
-              description = ''Convert the character encoding'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/woxtu/elixir-mbcs";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_mbcs = elixir_mbcs_0_1_2;
-
-    elixir_mod_event_0_0_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, uuid_1_1_4 }:
-          buildMix ({
-            name = "elixir_mod_event";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "elixir_mod_event";
-              version = "0.0.5";
-              sha256 =
-                "d38fe29a32107e889c52f849ceec6267709591b7db98db14bd3890683ca78b0f";
-            };
-            beamDeps  = [ uuid_1_1_4 ];
-
-            meta = {
-              longDescription = ''Elixir client for FreeSWITCH
-                                mod_event_socket. Find the user guide in the
-                                github repo at:
-                                https://github.com/marcelog/elixir_mod_event.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/marcelog/elixir_mod_event";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_mod_event = elixir_mod_event_0_0_5;
-
-    elixir_prelude_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "elixir_prelude";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "elixir_prelude";
-              version = "0.2.1";
-              sha256 =
-                "178d8de9762447e8f8271bd6af356a171af9fb7c20fcd4fa510a05e19b24240d";
-            };
-
-            meta = {
-              description = ''Small set of useful utility functions'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ruby2elixir/elixir_prelude";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_prelude = elixir_prelude_0_2_1;
-
-    elixir_radius_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "elixir_radius";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "elixir_radius";
-              version = "0.1.0";
-              sha256 =
-                "40f4c2a792c5967e21d4e7914a91a62fbed3712bf9c6ec5f0a549e659e4ddc94";
-            };
-
-            meta = {
-              description = ''Decode & encode RADIUS packets '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bearice/elixir-radius";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_radius = elixir_radius_0_1_0;
-
-    elixir_script_0_20_0 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, fs_0_9_2, estree_2_3_0
-        }:
-          buildMix ({
-            name = "elixir_script";
-            version = "0.20.0";
-            src = fetchHex {
-              pkg = "elixir_script";
-              version = "0.20.0";
-              sha256 =
-                "259c8ff57f171eda4a9ac15fe6307063b76630168fd582f27e3dfb1c621e0533";
-            };
-            beamDeps  = [ fs_0_9_2 estree_2_3_0 ];
-
-            meta = {
-              description = ''ElixirScript: compiles Elixir code to
-                            JavaScript'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bryanjos/elixirscript";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_script = elixir_script_0_20_0;
-
-    elixir_talk_1_1_1 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, yaml_elixir_1_0_0
-        }:
-          buildMix ({
-            name = "elixir_talk";
-            version = "1.1.1";
-            src = fetchHex {
-              pkg = "elixir_talk";
-              version = "1.1.1";
-              sha256 =
-                "29735f954662da43179de5af018e22b54eb44b5680dd526a5a158b3201324b47";
-            };
-            beamDeps  = [ yaml_elixir_1_0_0 ];
-
-            meta = {
-              description = ''ElixirTalk is an Elixir client for beanstalkd.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jsvisa/elixir_talk";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_talk = elixir_talk_1_1_1;
-
-    elixir_tea_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "elixir_tea";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "elixir_tea";
-              version = "1.0.0";
-              sha256 =
-                "c1e46d2d7b07a926ba8730452f517db45cf4f8f35d119b84aa0f0f676048cdcc";
-            };
-
-            meta = {
-              description = ''A TEA (Tiny Encryption Algorithm) implemented in
-                            pure Elixir. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/keichan34/elixir_tea";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_tea = elixir_tea_1_0_0;
-
-    elixir_v8_0_2_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "elixir_v8";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "elixir_v8";
-              version = "0.2.2";
-              sha256 =
-                "71034e37c2b8113156b19b1ca5b9b772fb454fe11c1cba33567fb61d3c8cedbe";
-            };
-            beamDeps  = [ poolboy_1_5_1 exjsx_3_2_0 ];
-
-            meta = {
-              description = ''V8 engine for Elixir with pools.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/le0pard/elixir_v8";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_v8 = elixir_v8_0_2_2;
-
-    elixir_wit_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          uuid_1_1_4,
-          poison_2_1_0,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "elixir_wit";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "elixir_wit";
-              version = "0.1.0";
-              sha256 =
-                "75b9046cd41146c4e3b486541cf37a5e27eea42d179af7fda127bdb391855224";
-            };
-            beamDeps  = [ uuid_1_1_4 poison_2_1_0 httpotion_2_2_2 ];
-
-            meta = {
-              longDescription = ''Elixir client for the Wit API. Wit is the
-                                natural language engine for creating Bots.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zabirauf/elixir_wit";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_wit = elixir_wit_0_1_0;
-
-    elixlsx_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "elixlsx";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "elixlsx";
-              version = "0.0.3";
-              sha256 =
-                "baa903f52efd18705bc4f11f25674249e38ba22d111f49321b8f750c063fb932";
-            };
-
-            meta = {
-              description = ''a writer for XLSX spreadsheet files'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/xou/elixlsx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixlsx = elixlsx_0_0_3;
-
-    elli_1_0_5 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "elli";
-            version = "1.0.5";
-            src = fetchHex {
-              pkg = "elli";
-              version = "1.0.5";
-              sha256 =
-                "fb55bab884f1d921f2e86c00738909a9e56aca14604e617b138e163093609c97";
-            };
-
-            meta = {
-              description = ''Fast and robust web server for building
-                            high-throughput, low-latency apps'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/knutin/elli";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elli = elli_1_0_5;
-
-    elmer_0_0_11 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "elmer";
-            version = "0.0.11";
-            src = fetchHex {
-              pkg = "elmer";
-              version = "0.0.11";
-              sha256 =
-                "cefb6a31a8e4ab5de698cd24f9a02c1fef690f0111f49ffa3e3d57c027c5160c";
-            };
-
-            meta = {
-              description = ''Helper mix tasks for generating elm files like
-                            Main, Ports, Models, Msgs, etc.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nathanjohnson320/elmer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elmer = elmer_0_0_11;
-
-    elmxir_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "elmxir";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "elmxir";
-              version = "0.0.1";
-              sha256 =
-                "65ad59b4922b75fb7b6c888f3e5c7dea1d01a4a085a376261bcaa3cfd6ce0845";
-            };
-
-            meta = {
-              description = ''Helper functions for working with Elm + Elixir'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/NoRedInk/elmxir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elmxir = elmxir_0_0_1;
-
-    eministat_0_10_1 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "eministat";
-            version = "0.10.1";
-            src = fetchHex {
-              pkg = "eministat";
-              version = "0.10.1";
-              sha256 =
-                "1e581fe282e8851c036fb6e4908add91956eba62ce0cce97fceee66067157d5f";
-            };
-
-            meta = {
-              description = ''Basic statistics for comparing datasets from
-                            benchmarks'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    eministat = eministat_0_10_1;
-
-    eml_0_7_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "eml";
-            version = "0.7.1";
-            src = fetchHex {
-              pkg = "eml";
-              version = "0.7.1";
-              sha256 =
-                "f03a35e2684455ee9e8b641f9550d41893f5b013c1277751685414f56cee9c0a";
-            };
-
-            meta = {
-              longDescription = ''Eml makes markup a first class citizen in
-                                Elixir. It provides a flexible and modular
-                                toolkit for generating, parsing and manipulating
-                                markup. It`s main focus is html, but other
-                                markup languages could be implemented as well.
-                                '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/zambal/eml";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eml = eml_0_7_1;
-
-    env_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "env";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "env";
-              version = "0.1.0";
-              sha256 =
-                "befbc0d4a4fc368c05a693a5d29860932c812f8dff2cd14dd62a590ba49b8875";
-            };
-
-            meta = {
-              description = ''Env is an improved application configuration
-                            reader for Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/michalmuskala/env";
-            };
-          } // packageOverrides)
-      ) {};
-
-    env = env_0_1_0;
-
-    env_helper_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "env_helper";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "env_helper";
-              version = "0.0.2";
-              sha256 =
-                "36bb88f51ea9a967a9c86d0c9de790f1d88f8b25863c03e4a733d75b9bfb9f54";
-            };
-
-            meta = {
-              description = ''A simple add on to make working with environment
-                            variables slightly easier.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/manheim/env_helper";
-            };
-          } // packageOverrides)
-      ) {};
-
-    env_helper = env_helper_0_0_2;
-
-    envy_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "envy";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "envy";
-              version = "0.0.2";
-              sha256 =
-                "01e20425b7b5acfa1f43d7431601015e059d9363bf9d50b00f2aeb6b0e3fa03f";
-            };
-
-            meta = {
-              description = ''A package for managing env files'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/BlakeWilliams/envy";
-            };
-          } // packageOverrides)
-      ) {};
-
-    envy = envy_0_0_2;
-
-    eon_3_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "eon";
-            version = "3.0.0";
-            src = fetchHex {
-              pkg = "eon";
-              version = "3.0.0";
-              sha256 =
-                "a19006b99ffbe846fe064adfb128cbb6b49c85d08becb60d1e204e1d1f0db94e";
-            };
-
-            meta = {
-              description = ''Use Elixir maps as a document storage format.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/supernintendo/eon";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eon = eon_3_0_0;
-
-    eper_0_94_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "eper";
-            version = "0.94.0";
-            src = fetchHex {
-              pkg = "eper";
-              version = "0.94.0";
-              sha256 =
-                "8d853792fa61a7fd068fe9c113a8a44bc839e11ad70cb8d5d2884566e3bede39";
-            };
-
-            meta = {
-              longDescription = ''Erlang Performance and Debugging Tools sherk
-                                - a profiler, similar to Linux oprofile or MacOs
-                                shark gperf - a graphical performance monitor;
-                                shows CPU, memory and network usage dtop -
-                                similar to unix top redbug- similar to the OTP
-                                dbg application, but safer, better etc.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/massemanet/eper";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eper = eper_0_94_0;
-
-    epgpool_1_0_1 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_4_2,
-          lager_3_0_2,
-          epgsql_3_2_0
-        }:
-          buildRebar3 ({
-            name = "epgpool";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "epgpool";
-              version = "1.0.1";
-              sha256 =
-                "23435ebb6b6c8615b1e6ccd6277eb1e6b69b57d0a2079b536b0aaa60ddb094bd";
-            };
-
-            beamDeps  = [ poolboy_1_4_2 lager_3_0_2 epgsql_3_2_0 ];
-
-            meta = {
-              description = ''Erlang postgresql pool application'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/egobrain/epgpool";
-            };
-          } // packageOverrides)
-      ) {};
-
-    epgpool = epgpool_1_0_1;
-
-    epgsql_3_1_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "epgsql";
-            version = "3.1.1";
-            src = fetchHex {
-              pkg = "epgsql";
-              version = "3.1.1";
-              sha256 =
-                "4b3f478ad090aed7200b2a8c9f2d5ef45c3aaa167be896b5237bba4b40f461d8";
-            };
-
-            meta = {
-              description = ''PostgreSQL Client'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/epgsql/epgsql";
-            };
-          } // packageOverrides)
-      ) {};
-
-    epgsql_3_2_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "epgsql";
-            version = "3.2.0";
-            src = fetchHex {
-              pkg = "epgsql";
-              version = "3.2.0";
-              sha256 =
-                "ff88a419df7b3084e8358538ade8b1844f5d6d18e9fa8c2124acea889720665a";
-            };
-
-            meta = {
-              description = ''PostgreSQL Client'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/epgsql/epgsql";
-            };
-          } // packageOverrides)
-      ) {};
-
-    epgsql = epgsql_3_2_0;
-
-    epiphany_0_1_0_dev = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, connection_1_0_2 }:
-          buildMix ({
-            name = "epiphany";
-            version = "0.1.0-dev";
-            src = fetchHex {
-              pkg = "epiphany";
-              version = "0.1.0-dev";
-              sha256 =
-                "38b15e762a4bb8c57a3ef238531dd465113b1019fb5aa63d7c8b38ed579f15f9";
-            };
-            beamDeps  = [ connection_1_0_2 ];
-
-            meta = {
-              description = ''Cassandra driver for Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/vptheron/epiphany";
-            };
-          } // packageOverrides)
-      ) {};
-
-    epiphany = epiphany_0_1_0_dev;
-
-    episcina_1_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, gproc_0_3_1 }:
-          buildRebar3 ({
-            name = "episcina";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "episcina";
-              version = "1.1.0";
-              sha256 =
-                "16238717bfbc8cb226342f6b098bb1fafb48c7547265a10ad3e6e83899abc46f";
-            };
-
-            beamDeps  = [ gproc_0_3_1 ];
-
-            meta = {
-              description = ''Erlang Connection Pool'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    episcina = episcina_1_1_0;
-
-    eqc_ex_1_2_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "eqc_ex";
-            version = "1.2.4";
-            src = fetchHex {
-              pkg = "eqc_ex";
-              version = "1.2.4";
-              sha256 =
-                "2d2895bedf784ffaf11144d25e6ca11a4cfff5b73c35ec6bedd3c5ec5cabc5e9";
-            };
-
-            meta = {
-              description = ''Wrappers to facilitate using Quviq QuickCheck
-                            with Elixir.'';
-              license = stdenv.lib.licenses.bsd3;
-            };
-          } // packageOverrides)
-      ) {};
-
-    eqc_ex = eqc_ex_1_2_4;
-
-    equery_0_6_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "equery";
-            version = "0.6.1";
-            src = fetchHex {
-              pkg = "equery";
-              version = "0.6.1";
-              sha256 =
-                "4a492b7cb64c0014c6be8fc763df665ec129bd56c7350e00cbd3d6fd556a8c60";
-            };
-
-            meta = {
-              description = ''Sql generator library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/egobrain/equery";
-            };
-          } // packageOverrides)
-      ) {};
-
-    equery = equery_0_6_1;
-
-    equivalex_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "equivalex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "equivalex";
-              version = "0.1.0";
-              sha256 =
-                "8c5cd7fb186085ce088839098a98366f798674a4018cb328978a5e0b2f55ad7d";
-            };
-
-            meta = {
-              description = ''constant time polymorphic comparisons'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/equivalex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    equivalex = equivalex_0_1_0;
-
-    eredis_1_0_8 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "eredis";
-            version = "1.0.8";
-            src = fetchHex {
-              pkg = "eredis";
-              version = "1.0.8";
-              sha256 =
-                "f303533e72129b264a2d8217c4ddc977c7527ff4b8a6a55f92f62b7fcc099334";
-            };
-
-            meta = {
-              description = ''Erlang Redis client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/wooga/eredis";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eredis = eredis_1_0_8;
-
-    erl2ex_0_0_9 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "erl2ex";
-            version = "0.0.9";
-            src = fetchHex {
-              pkg = "erl2ex";
-              version = "0.0.9";
-              sha256 =
-                "4e49c461ecffc33986bb72a43ae87211fb33fed39077fb522c381b884d189514";
-            };
-
-            meta = {
-              longDescription = ''Erl2ex is an Erlang to Elixir transpiler,
-                                converting well-formed Erlang source to Elixir
-                                source with equivalent functionality.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/dazuma/erl2ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erl2ex = erl2ex_0_0_9;
-
-    erlang_localtime_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlang_localtime";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "erlang_localtime";
-              version = "1.0.0";
-              sha256 =
-                "46e3f7b18477b377ec71f9dcd91c4d30fe82a128ffa9f89be1595d4d08414844";
-            };
-
-            meta = {
-              description = ''Erlang library for conversion from one local time
-                            to another'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/choptastic/erlang_localtime";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlang_localtime = erlang_localtime_1_0_0;
-
-    erlang_term_1_4_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlang_term";
-            version = "1.4.0";
-            src = fetchHex {
-              pkg = "erlang_term";
-              version = "1.4.0";
-              sha256 =
-                "1a4d491dbd13b7a714815af10fc658948a5a440de23755a32b741ca07d8ba592";
-            };
-
-            meta = {
-              description = ''Provide the in-memory size of Erlang terms'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/okeuday/erlang_term";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlang_term_1_5_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlang_term";
-            version = "1.5.1";
-            src = fetchHex {
-              pkg = "erlang_term";
-              version = "1.5.1";
-              sha256 =
-                "88bae81a80306e82fd3fc43e2d8228049e666f3cfe4627687832cd7edb878e06";
-            };
-
-            meta = {
-              description = ''Provide the in-memory size of Erlang terms'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/okeuday/erlang_term";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlang_term = erlang_term_1_5_1;
-
-    erlang_version_0_2_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlang_version";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "erlang_version";
-              version = "0.2.0";
-              sha256 =
-                "74daddba65a247ec57913e5de8f243af42bbbc3d6a0c411a1252da81c09ae661";
-            };
-
-            meta = {
-              description = ''Retrieve Erlang/OTP version like `18.1`'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sapporo-beam/erlang_version";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlang_version = erlang_version_0_2_0;
-
-    erlaudio_0_2_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "erlaudio";
-            version = "0.2.3";
-            src = fetchHex {
-              pkg = "erlaudio";
-              version = "0.2.3";
-              sha256 =
-                "cb9efb0ce80faae003ab39f8cc2d3fccbb4bd1c8f5f525aea392f28662517032";
-            };
-
-            meta = {
-              description = ''Erlang audio bindings to portaudio'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/asonge/erlaudio";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlaudio = erlaudio_0_2_3;
-
-    erlcloud_0_11_0 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          meck_0_8_3,
-          lhttpc_1_3_0,
-          jsx_2_6_2
-        }:
-          buildRebar3 ({
-            name = "erlcloud";
-            version = "0.11.0";
-            src = fetchHex {
-              pkg = "erlcloud";
-              version = "0.11.0";
-              sha256 =
-                "ca9876dab57ed8fb5fb75ab6ce11e59a346387d357d7a038a2e18d1d31a30716";
-            };
-
-            beamDeps  = [ meck_0_8_3 lhttpc_1_3_0 jsx_2_6_2 ];
-
-            meta = {
-              description = ''Erlang cloud computing library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/erlcloud/erlcloud";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlcloud_0_13_2 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          lhttpc_1_4_0,
-          jsx_2_8_0
-        }:
-          buildRebar3 ({
-            name = "erlcloud";
-            version = "0.13.2";
-            src = fetchHex {
-              pkg = "erlcloud";
-              version = "0.13.2";
-              sha256 =
-                "568d464760802322b7dc81e95f9c7bfb2fa8121423e67b2db6ed1c80697e1277";
-            };
-
-            beamDeps  = [ lhttpc_1_4_0 jsx_2_8_0 ];
-
-            meta = {
-              description = ''Erlang cloud computing library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/erlcloud/erlcloud";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlexec_1_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlexec";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "erlexec";
-              version = "1.1.0";
-              sha256 =
-                "772162f0f0349f89ea11b9f27401cb437ccaabf480320284a13f2259bb63cb87";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''OS Process Manager'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/saleyn/erlexec";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlexec_1_1_3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlexec";
-            version = "1.1.3";
-            src = fetchHex {
-              pkg = "erlexec";
-              version = "1.1.3";
-              sha256 =
-                "a4e62b46796a1b1b5e77798346e553e1460b4f97670c868f29d1e2853c02ae33";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''OS Process Manager'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/saleyn/erlexec";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlexec_1_2_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlexec";
-            version = "1.2.1";
-            src = fetchHex {
-              pkg = "erlexec";
-              version = "1.2.1";
-              sha256 =
-                "47846ec5bcff158468bcbe4a0608c9c89e3822d1ba10ea4d2f04b0395dc03880";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''OS Process Manager'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/saleyn/erlexec";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlexec = erlexec_1_2_1;
-
-    erlsh_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlsh";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "erlsh";
-              version = "0.1.0";
-              sha256 =
-                "94ef1492dd59fef211f01ffd40c47b6e51c0f59e2a3d0739366e4890961332d9";
-            };
-            compilePorts = true;
-
-            meta = {
-              longDescription = ''Family of functions and ports involving
-                                interacting with the system shell, paths and
-                                external programs.'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlsh = erlsh_0_1_0;
-
-    erlsom_1_4_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlsom";
-            version = "1.4.1";
-            src = fetchHex {
-              pkg = "erlsom";
-              version = "1.4.1";
-              sha256 =
-                "57b777fe2522e342badfa35873b2266c6961e3a9f4d2ac195d761985c40c3247";
-            };
-
-            meta = {
-              longDescription = ''XML parser. Supports SAX style parsing as
-                                well as XML Schema based data mapping: create
-                                records from XML (and vice versa)'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/willemdj/erlsom";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlsom = erlsom_1_4_1;
-
-    erlware_commons_0_13_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlware_commons";
-            version = "0.13.0";
-            src = fetchHex {
-              pkg = "erlware_commons";
-              version = "0.13.0";
-              sha256 =
-                "d083bbb622a5df09857464f45e1b20a34c66c1376870ece6f9b093a236bbea27";
-            };
-
-            meta = {
-              description = ''Additional standard library for Erlang'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/erlware/erlware_commons";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlware_commons_0_15_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlware_commons";
-            version = "0.15.0";
-            src = fetchHex {
-              pkg = "erlware_commons";
-              version = "0.15.0";
-              sha256 =
-                "5f38cb1df90148a7b21d48b221f399244ce86256584e6ea7986f2de732dee3c6";
-            };
-
-            meta = {
-              description = ''Additional standard library for Erlang'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/erlware/erlware_commons";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlware_commons_0_18_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, cf_0_2_1 }:
-          buildRebar3 ({
-            name = "erlware_commons";
-            version = "0.18.0";
-            src = fetchHex {
-              pkg = "erlware_commons";
-              version = "0.18.0";
-              sha256 =
-                "e71dda7cd5dcf34c9d07255d49c67e1d229dd230c101fdb996820bcdb5b03c49";
-            };
-
-            beamDeps  = [ cf_0_2_1 ];
-
-            meta = {
-              description = ''Additional standard library for Erlang'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/erlware/erlware_commons";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlware_commons_0_19_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, cf_0_2_1 }:
-          buildRebar3 ({
-            name = "erlware_commons";
-            version = "0.19.0";
-            src = fetchHex {
-              pkg = "erlware_commons";
-              version = "0.19.0";
-              sha256 =
-                "5bbff9402cd9e973af81745a8a40177d245b55b4c239f80a236949b856f2dabd";
-            };
-
-            beamDeps  = [ cf_0_2_1 ];
-
-            meta = {
-              description = ''Additional standard library for Erlang'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/erlware/erlware_commons";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlware_commons_0_20_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, cf_0_2_1 }:
-          buildRebar3 ({
-            name = "erlware_commons";
-            version = "0.20.0";
-            src = fetchHex {
-              pkg = "erlware_commons";
-              version = "0.20.0";
-              sha256 =
-                "bff981dbd0acb12ac9d10b41ca96ba76a26e2a1f2714d1e0cb0112f4a67d956a";
-            };
-
-            beamDeps  = [ cf_0_2_1 ];
-
-            meta = {
-              description = ''Additional standard library for Erlang'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/erlware/erlware_commons";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlware_commons_0_21_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, cf_0_2_1 }:
-          buildRebar3 ({
-            name = "erlware_commons";
-            version = "0.21.0";
-            src = fetchHex {
-              pkg = "erlware_commons";
-              version = "0.21.0";
-              sha256 =
-                "e70a95762458a489dc37fe869f41517bd43c130e156ef08462f90c534300ab3f";
-            };
-
-            beamDeps  = [ cf_0_2_1 ];
-
-            meta = {
-              description = ''Additional standard library for Erlang'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/erlware/erlware_commons";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlware_commons = erlware_commons_0_21_0;
-
-    erlydtl_0_11_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlydtl";
-            version = "0.11.1";
-            src = fetchHex {
-              pkg = "erlydtl";
-              version = "0.11.1";
-              sha256 =
-                "b1958c0ec95de69458c6af8b5bffbdde0070d5042710a63b1616cacdf39ae188";
-            };
-
-            meta = {
-              description = ''Django Template Language for Erlang'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/project-fifo/fifo_spec";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlydtl = erlydtl_0_11_1;
-
-    erlydtl2_0_11_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlydtl2";
-            version = "0.11.1";
-            src = fetchHex {
-              pkg = "erlydtl2";
-              version = "0.11.1";
-              sha256 =
-                "ae0d9f293ce8a2eeaabedf2b5f950d21e14570e67e5a38c11fe1e4ca598e6d5b";
-            };
-
-            meta = {
-              description = ''Django Template Language for Erlang'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/erlydtl/erlydtl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlydtl2 = erlydtl2_0_11_1;
-
-    erlzk_0_6_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "erlzk";
-            version = "0.6.2";
-            src = fetchHex {
-              pkg = "erlzk";
-              version = "0.6.2";
-              sha256 =
-                "b9b8e85e34f33550078e58e13fcb29c6bfe75e0585ee94f809d434fce546c246";
-            };
-
-            meta = {
-              description = ''A Pure Erlang ZooKeeper Client (no C
-                            dependency)'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/huaban/erlzk";
-            };
-          } // packageOverrides)
-      ) {};
-
-    erlzk = erlzk_0_6_2;
-
-    esel_0_1_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "esel";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "esel";
-              version = "0.1.2";
-              sha256 =
-                "874d1775c86d27d9e88486a37351ffc09f826ef062c8ea211e65d08e103f946c";
-            };
-
-            meta = {
-              description = ''An wrapper around openssl'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    esel = esel_0_1_2;
-
-    espec_0_8_21 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, meck_0_8_4 }:
-          buildMix ({
-            name = "espec";
-            version = "0.8.21";
-            src = fetchHex {
-              pkg = "espec";
-              version = "0.8.21";
-              sha256 =
-                "147d91a367d6bca9772b064195fd64f373a03e2d0bf57be5664ae780fd3508f5";
-            };
-            beamDeps  = [ meck_0_8_4 ];
-
-            meta = {
-              description = ''BDD testing framework for Elixir inspired by
-                            RSpec.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/antonmi/espec";
-            };
-          } // packageOverrides)
-      ) {};
-
-    espec = espec_0_8_21;
-
-    esqlcipher_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "esqlcipher";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "esqlcipher";
-              version = "1.0.0";
-              sha256 =
-                "f3a47df8cf7277b9352054e96a9745c77aa475a51ea36a18692a437b2af79b0b";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''sqlcipher nif interface'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    esqlcipher = esqlcipher_1_0_0;
-
-    esqlite_0_2_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "esqlite";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "esqlite";
-              version = "0.2.2";
-              sha256 =
-                "5f15f8014baa9d31ee83817afe9164b3ecd76f77b2de7515f2cca2ca75b642e0";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''A Sqlite3 NIF'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/mmzeeman/esqlite";
-            };
-          } // packageOverrides)
-      ) {};
-
-    esqlite = esqlite_0_2_2;
-
-    estree_2_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "estree";
-            version = "2.3.0";
-            src = fetchHex {
-              pkg = "estree";
-              version = "2.3.0";
-              sha256 =
-                "f73bf510523aac5518845d4d844a9690ba30450fc666ac138e8965a6c88b26ae";
-            };
-
-            meta = {
-              longDescription = ''Represents the JavaScript AST from the ESTree
-                                spec. Includes tools for building an AST and
-                                generating code from it.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bryanjos/elixir-estree";
-            };
-          } // packageOverrides)
-      ) {};
-
-    estree = estree_2_3_0;
-
-    esync_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "esync";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "esync";
-              version = "0.0.1";
-              sha256 =
-                "28a59a0cbe885ec39dec4992aac8495147d1ec9b623883b01e8aa775cb334f03";
-            };
-
-            meta = {
-              description = ''Concurrently sync two or more directories so that
-                            their contents are identical'';
-
-              homepage = "https://github.com/GrahamGoudeau21/ElixirSync";
-            };
-          } // packageOverrides)
-      ) {};
-
-    esync = esync_0_0_1;
-
-    ether_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ether";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "ether";
-              version = "0.0.1";
-              sha256 =
-                "867752143aa09e07d0a50ae9526b7c8f620e189f509326a635c304b453496f16";
-            };
-
-            meta = {
-              description = ''Elixir Debugger '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/maarek/ether";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ether = ether_0_0_1;
-
-    etherchain_org_0_0_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          vex_0_5_5,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "etherchain_org";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "etherchain_org";
-              version = "0.0.5";
-              sha256 =
-                "2ff545b4d78b507a664a5c246bb351be110cc647d960e39e65f2d9ce08669752";
-            };
-            beamDeps  = [ vex_0_5_5 poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''WIP Elixir API wrapper for etherchain.org.
-                                Provides access to ethereum blockchain data.'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/cyberpunk-ventures/etherchain_org_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    etherchain_org = etherchain_org_0_0_5;
-
-    ets_map_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ets_map";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "ets_map";
-              version = "0.0.1";
-              sha256 =
-                "c33d714212c56d99b2472d522e24db808cd8a407101051d407be310412d61eae";
-            };
-
-            meta = {
-              description = ''A Map-like Elixir data structure that is backed
-                            by an ETS table.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/antipax/ets_map";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ets_map = ets_map_0_0_1;
-
-    ets_owner_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ets_owner";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "ets_owner";
-              version = "1.0.0";
-              sha256 =
-                "54c0228a9134f4afe5c2a5418712a8b010bbc3f3e4864f3c854110f6cb65bca9";
-            };
-
-            meta = {
-              description = ''A simple GenServer that owns your ETS tables and
-                            won`t die, even if you do.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/meyercm/ets_owner";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ets_owner = ets_owner_1_0_0;
-
-    etude_1_0_0_beta_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          nile_0_1_3
-        }:
-          buildMix ({
-            name = "etude";
-            version = "1.0.0-beta.0";
-            src = fetchHex {
-              pkg = "etude";
-              version = "1.0.0-beta.0";
-              sha256 =
-                "f5a2896982cd062fe188dcb0216ef5c960959aa2ba77f4d31b00d0dda56890dd";
-            };
-            beamDeps  = [ poison_2_1_0 nile_0_1_3 ];
-
-            meta = {
-              description = ''parallel computation coordination utilities for
-                            erlang/elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/etude";
-            };
-          } // packageOverrides)
-      ) {};
-
-    etude_1_0_0_beta_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          nile_0_1_3
-        }:
-          buildMix ({
-            name = "etude";
-            version = "1.0.0-beta.2";
-            src = fetchHex {
-              pkg = "etude";
-              version = "1.0.0-beta.2";
-              sha256 =
-                "f05d1c5b191a19a3828a89be221b4a8f7bf9fb2227ebc05b7116dc1965872cef";
-            };
-            beamDeps  = [ poison_2_1_0 nile_0_1_3 ];
-
-            meta = {
-              description = ''parallel computation coordination utilities for
-                            erlang/elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/etude";
-            };
-          } // packageOverrides)
-      ) {};
-
-    etude = etude_1_0_0_beta_2;
-
-    eunit_formatters_0_3_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "eunit_formatters";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "eunit_formatters";
-              version = "0.3.1";
-              sha256 =
-                "64a40741429b7aff149c605d5a6135a48046af394a7282074e6003b3b56ae931";
-            };
-
-            meta = {
-              description = ''Better output for eunit suites'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/seancribbs/eunit_formatters";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eunit_formatters = eunit_formatters_0_3_1;
-
-    eunit_sugar_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "eunit_sugar";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "eunit_sugar";
-              version = "0.1.0";
-              sha256 =
-                "f30c41d711650270d8654f9067a3b5d16d73242e0eed19082b70676e9f05bb6e";
-            };
-
-            meta = {
-              description = ''Helpers and sugars for eunit tests'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/xenolinguist/eunit_sugar";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eunit_sugar = eunit_sugar_0_1_0;
-
-    evel_0_1_1 = callPackage
-      (
-        {
-          buildRebar3, packageOverrides ? {}, fetchHex, hash_ring_0_4_0
-        }:
-          buildRebar3 ({
-            name = "evel";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "evel";
-              version = "0.1.1";
-              sha256 =
-                "b849699912f797e2b0082b43d0f58b18de838379b499c47dc24194d9fec03e6e";
-            };
-
-            beamDeps  = [ hash_ring_0_4_0 ];
-
-            meta = {
-              description = ''An Eventual Leader Election Library for Erlang'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sile/evel";
-            };
-          } // packageOverrides)
-      ) {};
-
-    evel = evel_0_1_1;
-
-    event_nanny_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "event_nanny";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "event_nanny";
-              version = "0.1.1";
-              sha256 =
-                "4d46b285e5187fc8e63f7911087dcff54fb46ca347b457013e9bd9901f9cc9d1";
-            };
-
-            meta = {
-              description = ''Nanny for GenEvent restart handler when it exit
-                            abnormally'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/ammbot/event-nanny.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    event_nanny = event_nanny_0_1_1;
-
-    eventstore_client_0_1_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          uuid_1_1_4,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "eventstore_client";
-            version = "0.1.4";
-            src = fetchHex {
-              pkg = "eventstore_client";
-              version = "0.1.4";
-              sha256 =
-                "fa77e1a7906b3ed27c0dfa0bd41f27b3129285857948aa23a3f888b0dd531109";
-            };
-            beamDeps  = [ uuid_1_1_4 poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''HTTP Client for EventStore (geteventstore.com)'';
-
-              homepage =
-                "https://github.com/tbug/elixir-eventstore-http-client";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eventstore_client = eventstore_client_0_1_4;
-
-    ewebmachine_2_0_12 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "ewebmachine";
-            version = "2.0.12";
-            src = fetchHex {
-              pkg = "ewebmachine";
-              version = "2.0.12";
-              sha256 =
-                "66a4ca701594da9396d6bab03f074f1ab56080a62e6545e6e455a24296c96a1a";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              longDescription = ''Ewebmachine contains macros and plugs to
-                                allow you to compose HTTP decision handlers and
-                                run the HTTP decision tree to get your HTTP
-                                response. This project is a rewrite for Elixir
-                                and Plug of basho webmachine.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/awetzel/ewebmachine";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ewebmachine = ewebmachine_2_0_12;
-
-    ex2ms_1_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex2ms";
-            version = "1.4.0";
-            src = fetchHex {
-              pkg = "ex2ms";
-              version = "1.4.0";
-              sha256 =
-                "8a743796d9f067f047e50d9726dfd8eb2791e6ce00c79edbd5ced6a06fe5e388";
-            };
-
-            meta = {
-              description = ''Translates Elixir functions to match
-                            specifications for use with `ets`.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/ericmj/ex2ms";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex2ms = ex2ms_1_4_0;
-
-    ex_abnf_0_2_7 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_abnf";
-            version = "0.2.7";
-            src = fetchHex {
-              pkg = "ex_abnf";
-              version = "0.2.7";
-              sha256 =
-                "2ca070a97b392a142619f0a126e48c7e27d39353be9a76fb358c401821495e1a";
-            };
-
-            meta = {
-              longDescription = ''A parser and interpreter for ABNF grammars.
-                                This is not a parser generator, but an
-                                interpreter. It will load up an ABNF grammar,
-                                and generate an AST for it. Then one can apply
-                                any of the rules to an input and the interpreter
-                                will parse the input according to the rule.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/marcelog/ex_abnf";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_abnf = ex_abnf_0_2_7;
-
-    ex_bcrypt_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, bcrypt_0_5_0_p3a }:
-          buildMix ({
-            name = "ex_bcrypt";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "ex_bcrypt";
-              version = "0.0.1";
-              sha256 =
-                "c6c91e333f3e84733bb8fca08af9fda01b20f3b2a8801e456b31103118418e81";
-            };
-            beamDeps  = [ bcrypt_0_5_0_p3a ];
-
-            meta = {
-              description = ''Elixir wrapper for the OpenBSD bcrypt password
-                            hashing algorithm'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/manelli/ex_bcrypt";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_bcrypt = ex_bcrypt_0_0_1;
-
-    ex_blocktrail_0_2_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          yuri_1_0_0,
-          vex_0_5_5,
-          exconstructor_1_0_2,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "ex_blocktrail";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "ex_blocktrail";
-              version = "0.2.1";
-              sha256 =
-                "96a4090676a01f6644b95e8f65b1bd19f4142435d2f1b3cb2dbd79d883579f42";
-            };
-            beamDeps  = [
-                          yuri_1_0_0
-                          vex_0_5_5
-                          exconstructor_1_0_2
-                          poison_2_1_0
-                          httpoison_0_8_3
-                        ];
-
-            meta = {
-              longDescription = ''WIP. Alpha. Elixir wrapper for blocktrail.com
-                                Bitcoin api and some utility functions.'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_blocktrail = ex_blocktrail_0_2_1;
-
-    ex_brace_expansion_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_brace_expansion";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "ex_brace_expansion";
-              version = "0.0.2";
-              sha256 =
-                "d7470a00cffe4425f89e83d7288c24b641c3f6cbde136a08089e7420467cd237";
-            };
-
-            meta = {
-              longDescription = ''Brace expansion, as known from sh/bash, in
-                                Elixir. Quick example:
-                                ExBraceExpansion.expand(\"file-{a,b,c}.jpg\") =>
-                                [\"file-a.jpg\", \"file-b.jpg\", \"file-c.jpg\"]
-                                '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gniquil/ex_brace_expansion";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_brace_expansion = ex_brace_expansion_0_0_2;
-
-    ex_clacks_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "ex_clacks";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "ex_clacks";
-              version = "0.1.2";
-              sha256 =
-                "8299396f26982bbaed7f12988277174d3d3e92e0a5efe685c8d0133e08e013cc";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''A Plug that pays homage to Terry Pratchett'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/polymetis/ex_clacks";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_clacks = ex_clacks_0_1_2;
-
-    ex_cli_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_cli";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ex_cli";
-              version = "0.1.0";
-              sha256 =
-                "81e42a05730752f891b8fc1cbced2e5733d48df144ab91aeb41a8093cb42264e";
-            };
-
-            meta = {
-              description = ''Library to build CLI applications'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tuvistavie/ex_cli";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_cli = ex_cli_0_1_0;
-
-    ex_closeio_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "ex_closeio";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "ex_closeio";
-              version = "0.1.1";
-              sha256 =
-                "0bf03085e9ac1d548a73f5e8fa91d78c201c8fa46b3e65b89aca82f887af9cce";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Close.io client library for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/taylorbrooks/ex_closeio";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_closeio = ex_closeio_0_1_1;
-
-    ex_cron_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_cron";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "ex_cron";
-              version = "0.0.2";
-              sha256 =
-                "2d0be58e834bdadd69336f0dd9d61d5e678d99b4de9a766ed45ea85fc87a97cb";
-            };
-
-            meta = {
-              description = ''Cron schedule generator for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/codestuffers/ex-cron";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_cron = ex_cron_0_0_2;
-
-    ex_crypto_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          pipe_0_0_2
-        }:
-          buildMix ({
-            name = "ex_crypto";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "ex_crypto";
-              version = "0.1.1";
-              sha256 =
-                "6686151799d3fb5be28e43a05ef3689e1d1144a0d97e4ff3b41fb039265146cb";
-            };
-            beamDeps  = [ poison_2_1_0 pipe_0_0_2 ];
-
-            meta = {
-              longDescription = ''A wrapper around the Erlang Crypto module
-                                with sensible defaults for common tasks.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ntrepid8/ex_crypto";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_crypto = ex_crypto_0_1_1;
-
-    ex_csv_0_1_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_csv";
-            version = "0.1.4";
-            src = fetchHex {
-              pkg = "ex_csv";
-              version = "0.1.4";
-              sha256 =
-                "56ee6b70564aa1762f5bfc2b205e55caa83aef046d974614a22b8ec0f839005e";
-            };
-
-            meta = {
-              description = ''CSV for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/CargoSense/ex_csv";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_csv = ex_csv_0_1_4;
-
-    ex_enum_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, gettext_0_11_0 }:
-          buildMix ({
-            name = "ex_enum";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ex_enum";
-              version = "0.1.0";
-              sha256 =
-                "f6685959ef337018e42c4baccdce98cc9618974759d1fdb969fcf9a266e590ea";
-            };
-            beamDeps  = [ gettext_0_11_0 ];
-
-            meta = {
-              description = ''Enum library for Elixir inspired by
-                            ActiveHash::Enum.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kenta-aktsk/ex_enum";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_enum = ex_enum_0_1_0;
-
-    ex_fabricators_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_fabricators";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ex_fabricators";
-              version = "0.1.0";
-              sha256 =
-                "edde1017f8a8fc3dbb3915c8791a6d0801f06fbe72f69ec50222dc47930c57d9";
-            };
-
-            meta = {
-              description = ''Easy way to cook your structs for tests'';
-
-              homepage = "https://github.com/alterego-labs/ex_fabricators";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_fabricators = ex_fabricators_0_1_0;
-
-    ex_guard_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, fs_0_9_2 }:
-          buildMix ({
-            name = "ex_guard";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "ex_guard";
-              version = "1.1.0";
-              sha256 =
-                "5f990eb24b673c782b4e742351bab14ce466146f3ea1e5324b6b7c34122bd4f9";
-            };
-            beamDeps  = [ fs_0_9_2 ];
-
-            meta = {
-              longDescription = ''ExGuard automates various tasks by running
-                                custom rules whenever file or directories are
-                                modified.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/slashmili/ex_guard";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_guard = ex_guard_1_1_0;
-
-    ex_hl7_0_2_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_hl7";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "ex_hl7";
-              version = "0.2.2";
-              sha256 =
-                "b6653fd28949f5dc37f18af4320f13dcdea796553e0c429a8260d5c4bf481b0f";
-            };
-
-            meta = {
-              description = ''HL7 Parser for Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/jcomellas/ex_hl7";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_hl7 = ex_hl7_0_2_2;
-
-    ex_ical_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_1_0_2 }:
-          buildMix ({
-            name = "ex_ical";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "ex_ical";
-              version = "0.0.3";
-              sha256 =
-                "435bade398c8b72e2515f91eef89f6309951800e8bd30a0a616c1039502c8c95";
-            };
-            beamDeps  = [ timex_1_0_2 ];
-
-            meta = {
-              description = ''ICalendar parser.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/fazibear/ex_ical";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_ical = ex_ical_0_0_3;
-
-    ex_iss_1_0_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "ex_iss";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "ex_iss";
-              version = "1.0.0";
-              sha256 =
-                "8b2b2eebbd75593e814e712555c7f69138864317cf2f0093a82ca305138baa83";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''This package is for interfacing with the Open
-                                Notify API to information such as the ISS`s
-                                current location, crew, and when it will pass
-                                over a location.'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/cryptobird/ex_iss";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_iss = ex_iss_1_0_0;
-
-    ex_json_schema_0_4_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_json_schema";
-            version = "0.4.1";
-            src = fetchHex {
-              pkg = "ex_json_schema";
-              version = "0.4.1";
-              sha256 =
-                "4acefaa5da4de55d984d1e86be40f6af2173e744cc4f77e70a701a0ea1604328";
-            };
-
-            meta = {
-              longDescription = ''A JSON Schema validator with full support for
-                                the draft 4 specification and zero
-                                dependencies.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jonasschmidt/ex_json_schema";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_json_schema = ex_json_schema_0_4_1;
-
-    ex_link_header_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_link_header";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "ex_link_header";
-              version = "0.0.4";
-              sha256 =
-                "4ced0014c98703184c1afaf390298593a88503f7fc26b138b20c0a53cc614558";
-            };
-
-            meta = {
-              description = ''Parse HTTP link headers in Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/simonrand/ex_link_header";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_link_header = ex_link_header_0_0_4;
-
-    ex_machina_0_6_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_machina";
-            version = "0.6.1";
-            src = fetchHex {
-              pkg = "ex_machina";
-              version = "0.6.1";
-              sha256 =
-                "f55476400ca109d24f216ee961a6d04be4a932429ecd3ae6a948d5d04f4fa2ea";
-            };
-
-            meta = {
-              description = ''A factory library by the creators of
-                            FactoryGirl'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/thoughtbot/ex_machina";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_machina = ex_machina_0_6_1;
-
-    ex_mark2pdf_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, earmark_0_1_19 }:
-          buildMix ({
-            name = "ex_mark2pdf";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ex_mark2pdf";
-              version = "0.1.0";
-              sha256 =
-                "d1458c9b01bc53b9c365d4d12ac8187b09e06f02667639d4a63c4543427dfb1d";
-            };
-            beamDeps  = [ earmark_0_1_19 ];
-
-            meta = {
-              description = ''Generate a PDF from Markdown file.'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/darui00kara/ex_mark2pdf";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_mark2pdf = ex_mark2pdf_0_1_0;
-
-    ex_marshal_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, decimal_1_1_2 }:
-          buildMix ({
-            name = "ex_marshal";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "ex_marshal";
-              version = "0.0.3";
-              sha256 =
-                "28eaf18799bca83519d0ac517a4fd0a9a2211bea7f96c74b27952a20be2938a8";
-            };
-            beamDeps  = [ decimal_1_1_2 ];
-
-            meta = {
-              description = ''Ruby Marshal format implemented in Elixir.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/gaynetdinov/ex_marshal";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_marshal = ex_marshal_0_0_3;
-
-    ex_microsoftbot_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "ex_microsoftbot";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ex_microsoftbot";
-              version = "0.1.0";
-              sha256 =
-                "638a30cab3f9bc85b76beb0dacd3e5d71724ad10de73170f00df12a29eed8d0a";
-            };
-            beamDeps  = [ poison_2_1_0 httpotion_2_2_2 ];
-
-            meta = {
-              description = ''This library provides Elixir API wrapper for the
-                            Microsoft Bot Framework.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zabirauf/ex_microsoftbot";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_microsoftbot = ex_microsoftbot_0_1_0;
-
-    ex_minimatch_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          ex_brace_expansion_0_0_2
-        }:
-          buildMix ({
-            name = "ex_minimatch";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "ex_minimatch";
-              version = "0.0.1";
-              sha256 =
-                "3255bb8496635d3ef5d86ec6829958a3573ff730ca01534b0fead9c2e3af7de4";
-            };
-            beamDeps  = [ ex_brace_expansion_0_0_2 ];
-
-            meta = {
-              longDescription = ''Globbing paths without walking the tree!
-                                Elixir and Erlang provide `wildcard` functions
-                                in the stdlib. But these will walk the directory
-                                tree. If you simply want to test whether a file
-                                path matches a glob, ExMinimatch is for you. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gniquil/ex_minimatch";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_minimatch = ex_minimatch_0_0_1;
-
-    ex_modbus_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_modbus";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "ex_modbus";
-              version = "0.0.3";
-              sha256 =
-                "bdfd52c43e690a9af041f34b7cd1f6c2843e39fe51b9afcc2a83fbf4d254fd50";
-            };
-
-            meta = {
-              description = ''An Elixir ModbusTCP client implementation.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hirschenberger/ex_modbus";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_modbus = ex_modbus_0_0_3;
-
-    ex_parametarized_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_parametarized";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "ex_parametarized";
-              version = "1.0.0";
-              sha256 =
-                "daa04087cc41608f1604f2cc52dfe3e3c3ee4612c3b6091d7b6025d10d79f31a";
-            };
-
-            meta = {
-              description = ''Simple macro for parametarized testing'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KazuCocoa/ex_parametarized";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_parametarized = ex_parametarized_1_0_0;
-
-    ex_parameterized_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_parameterized";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "ex_parameterized";
-              version = "1.0.2";
-              sha256 =
-                "c3a9b2471060a7f2cfc4cac4617125d4272991315d6223156d67c10abd055b10";
-            };
-
-            meta = {
-              description = ''Simple macro for parameterized testing'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KazuCocoa/ex_parameterized";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_parameterized = ex_parameterized_1_0_2;
-
-    ex_pool_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_pool";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "ex_pool";
-              version = "0.1.1";
-              sha256 =
-                "0e2a945acefa067f902dbfa6cb683884838099d6be496dc43cb7dccf31df978d";
-            };
-
-            meta = {
-              description = ''A generic pooling library for Elixir'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/jcabotc/ex_pool";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_pool = ex_pool_0_1_1;
-
-    ex_prima_toolbox_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, ex_cli_0_1_0 }:
-          buildMix ({
-            name = "ex_prima_toolbox";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "ex_prima_toolbox";
-              version = "0.0.2";
-              sha256 =
-                "7fc93cf69afba247bbd97118fc56b6d3d79dc6767126581a262b97bff2ffd045";
-            };
-            beamDeps  = [ ex_cli_0_1_0 ];
-
-            meta = {
-              description = ''elixir toolbox for prima.it'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/primait/ex_toolbox";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_prima_toolbox = ex_prima_toolbox_0_0_2;
-
-    ex_prometheus_io_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_5_2 }:
-          buildMix ({
-            name = "ex_prometheus_io";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "ex_prometheus_io";
-              version = "0.0.3";
-              sha256 =
-                "7c2baaf0eef43d3e68d822532e0ca22daea41f6cce85de6b0ba538819fdb3832";
-            };
-            beamDeps  = [ poison_1_5_2 ];
-
-            meta = {
-              description = ''Prometheus.io Elixir client API library'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/kennyballou/ex_prometheus_io";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_prometheus_io = ex_prometheus_io_0_0_3;
-
-    ex_rated_1_2_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, ex2ms_1_4_0 }:
-          buildMix ({
-            name = "ex_rated";
-            version = "1.2.2";
-            src = fetchHex {
-              pkg = "ex_rated";
-              version = "1.2.2";
-              sha256 =
-                "65f7e9aaba3ba5bf8995b34a29c9572652b051cfdd7988e5f9b7ea329bb71ca1";
-            };
-            beamDeps  = [ ex2ms_1_4_0 ];
-
-            meta = {
-              longDescription = ''ExRated, the OTP GenServer with the naughty
-                                name that allows you to rate-limit calls to any
-                                service that requires it. For example,
-                                rate-limit calls to your favorite API which
-                                requires no more than `limit` API calls within a
-                                `scale` milliseconds time window. You can
-                                enforce limits for windows as narrow as
-                                milliseconds, or as broad as you like.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/grempe/ex_rated";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_rated = ex_rated_1_2_2;
-
-    ex_rfc3966_0_2_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, ex_abnf_0_2_7 }:
-          buildMix ({
-            name = "ex_rfc3966";
-            version = "0.2.3";
-            src = fetchHex {
-              pkg = "ex_rfc3966";
-              version = "0.2.3";
-              sha256 =
-                "730e14d9670ab0d2b2b24c2d3bfabe861bf21d4163c01db747a91c54090cc0d5";
-            };
-            beamDeps  = [ ex_abnf_0_2_7 ];
-
-            meta = {
-              longDescription = ''A \"tel\" URI parser trying to be strictly
-                                compatible with RFC3966. Uses official ABNF
-                                grammar and ex_abnf as interpreter.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/marcelog/ex_rfc3966";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_rfc3966 = ex_rfc3966_0_2_3;
-
-    ex_rfc3986_0_2_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, ex_abnf_0_2_7 }:
-          buildMix ({
-            name = "ex_rfc3986";
-            version = "0.2.6";
-            src = fetchHex {
-              pkg = "ex_rfc3986";
-              version = "0.2.6";
-              sha256 =
-                "bfc8ce510f910dbbd1f4a8433de85090375d1701e0b9a488ba7afd8efae98bfa";
-            };
-            beamDeps  = [ ex_abnf_0_2_7 ];
-
-            meta = {
-              longDescription = ''An URI parser trying to be strictly
-                                compatible with RFC3986. Uses official ABNF
-                                grammar and ex_abnf as interpreter.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/marcelog/ex_rfc3986";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_rfc3986 = ex_rfc3986_0_2_6;
-
-    ex_sider_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_sider";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ex_sider";
-              version = "0.1.0";
-              sha256 =
-                "00e1fba7bf19e4e072a98941c7ef11cc171e3ed44fdfd0c9bd0c110babf80e34";
-            };
-
-            meta = {
-              description = ''Elixir Map/List/Set interfaces for Redis
-                            datastructures.'';
-              license = stdenv.lib.licenses.wtfpl;
-              homepage = "https://github.com/ephe-meral/ex_sider";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_sider = ex_sider_0_1_0;
-
-    ex_sonar_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          floki_0_8_1,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "ex_sonar";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "ex_sonar";
-              version = "0.0.4";
-              sha256 =
-                "a0e83e87ae58522ed6f37bb8742a0873be0870e6a60673efa615551b68d5bd4b";
-            };
-            beamDeps  = [ floki_0_8_1 poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A Send Sonar API interface for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/enilsen16/ex_sonar";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_sonar = ex_sonar_0_0_4;
-
-    ex_spec_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_spec";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "ex_spec";
-              version = "1.0.0";
-              sha256 =
-                "e5f4b6ee0a918015d1d190ead7807f31ec62a8d8920fc93602bf722c171e7ae8";
-            };
-
-            meta = {
-              description = ''BDD-like syntax for ExUnit'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/drewolson/ex_spec";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_spec = ex_spec_1_0_0;
-
-    ex_sshd_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_sshd";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "ex_sshd";
-              version = "0.0.2";
-              sha256 =
-                "9c7f73aab2d7697ef81eea582dfbde8033e8266dd6de2d34c36bd7e4905b7de4";
-            };
-
-            meta = {
-              longDescription = ''Simple Elixir SSH worker that provides an
-                                Elixir shell over SSH into your application.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tverlaan/ex_sshd";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_sshd = ex_sshd_0_0_2;
-
-    ex_statsd_0_5_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_statsd";
-            version = "0.5.3";
-            src = fetchHex {
-              pkg = "ex_statsd";
-              version = "0.5.3";
-              sha256 =
-                "357c616a327a40133e49a54db1d46b0d7c9ab2de186f7bfecdc0efca6394adf6";
-            };
-
-            meta = {
-              description = ''A StatsD client for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/CargoSense/ex_statsd";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_statsd = ex_statsd_0_5_3;
-
-    ex_sync_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          connection_1_0_2
-        }:
-          buildMix ({
-            name = "ex_sync";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "ex_sync";
-              version = "0.0.3";
-              sha256 =
-                "bccd72623f75430ca10d5660c7316a6439921161beb7aa65b686713503ea147a";
-            };
-            beamDeps  = [ poolboy_1_5_1 connection_1_0_2 ];
-
-            meta = {
-              longDescription = ''A library to handle [Differential
-                                Synchroniazation](https://neil.fraser.name/writing/sync/)
-                                in an Elixir app.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/invrs/exsync";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_sync = ex_sync_0_0_3;
-
-    ex_test_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_test";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "ex_test";
-              version = "0.0.2";
-              sha256 =
-                "fdc33e0fa2fdab921fa54f0484645681ed0695f69439a6f40430e31fbc589756";
-            };
-
-            meta = {
-              description = ''Wrapper around ExUnit to support BBD (rspec) like
-                            syntax'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mcb/ex_test";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_test = ex_test_0_0_2;
-
-    ex_tumblr_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          oauther_1_0_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "ex_tumblr";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "ex_tumblr";
-              version = "0.0.1";
-              sha256 =
-                "9517b1ca411c91ad7e9776f7e2783908b400fee1779e497fdb1b3c515f61a253";
-            };
-            beamDeps  = [ poison_2_1_0 oauther_1_0_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A client for the Tumblr API v2.'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_tumblr = ex_tumblr_0_0_1;
-
-    ex_twilio_0_1_8 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          inflex_1_5_0,
-          poison_2_1_0,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "ex_twilio";
-            version = "0.1.8";
-            src = fetchHex {
-              pkg = "ex_twilio";
-              version = "0.1.8";
-              sha256 =
-                "0c7aed748ff4bfb9d8e1f43422d36d41433caa6cf19dc2fa208031d9f8240077";
-            };
-            beamDeps  = [ inflex_1_5_0 poison_2_1_0 httpotion_2_2_2 ];
-
-            meta = {
-              description = ''Twilio API library for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/danielberkompas/ex_twilio";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_twilio = ex_twilio_0_1_8;
-
-    ex_twiml_2_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_twiml";
-            version = "2.1.0";
-            src = fetchHex {
-              pkg = "ex_twiml";
-              version = "2.1.0";
-              sha256 =
-                "7515c90ea4342e178b2894ca4cf8f03225a20c35e94c1f19e47bb839cc5f627d";
-            };
-
-            meta = {
-              description = ''Generate TwiML with Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/danielberkompas/ex_twiml";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_twiml = ex_twiml_2_1_0;
-
-    ex_unit_fixtures_0_3_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_unit_fixtures";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "ex_unit_fixtures";
-              version = "0.3.1";
-              sha256 =
-                "b4b988211bf4cd08a26eb76756e4563c94c6648c195e45af26ea62e4d37a65f6";
-            };
-
-            meta = {
-              description = ''A modular fixture system for ExUnit, inspired by
-                            py.test fixtures.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/obmarg/ex_unit_fixtures";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_unit_fixtures = ex_unit_fixtures_0_3_1;
-
-    ex_unit_notifier_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_unit_notifier";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "ex_unit_notifier";
-              version = "0.1.1";
-              sha256 =
-                "78afb11d6a470b379de113bde1ff9e0537f5243bc957614961d8e8dadc062268";
-            };
-
-            meta = {
-              description = ''Show status notifications for ExUnit test runs'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/navinpeiris/ex_unit_notifier";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_unit_notifier = ex_unit_notifier_0_1_1;
-
-    ex_victor_ops_0_3_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "ex_victor_ops";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "ex_victor_ops";
-              version = "0.3.1";
-              sha256 =
-                "7a8065e44c105952a843f532ab6b1cb59209e886f0770e20bf917fb742f0b9af";
-            };
-            beamDeps  = [ poison_2_1_0 httpotion_2_2_2 ];
-
-            meta = {
-              description = ''VictorOps API library for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/cagedata/ex_victor_ops";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_victor_ops = ex_victor_ops_0_3_1;
-
-    ex_vmstats_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ex_vmstats";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "ex_vmstats";
-              version = "0.0.1";
-              sha256 =
-                "587d088696b51b0e053b2626c6de51ca7be67b5e3a49c7320da5b4e7cd96d347";
-            };
-
-            meta = {
-              description = ''An Elixir package for pushing Erlang VM stats
-                            into StatsD.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/fanduel/ex_vmstats";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ex_vmstats = ex_vmstats_0_0_1;
-
-    exactor_2_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exactor";
-            version = "2.2.0";
-            src = fetchHex {
-              pkg = "exactor";
-              version = "2.2.0";
-              sha256 =
-                "c60cd68899db3ec0bdbd41c7ccf3ae3b52391a18704040461763f052e97b5e15";
-            };
-
-            meta = {
-              description = ''Simplified creation of GenServer based processes
-                            in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sasa1977/exactor";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exactor = exactor_2_2_0;
-
-    exalgebra_0_0_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exalgebra";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "exalgebra";
-              version = "0.0.5";
-              sha256 =
-                "b84a96ffb7a2dd0c497f176c2e9d0ef07c719f09702d71fb8a801a3f2db1ab50";
-            };
-
-            meta = {
-              longDescription = ''The ExAlgebra library is a collection of
-                                functions that are commonly used in linear
-                                algebra.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/leighshepperson/exalgebra";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exalgebra = exalgebra_0_0_5;
-
-    exalice_0_0_6_alpha = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          tirexs_0_8_0_beta6,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "exalice";
-            version = "0.0.6-alpha";
-            src = fetchHex {
-              pkg = "exalice";
-              version = "0.0.6-alpha";
-              sha256 =
-                "b5f95ddebb9def3efb926fc7e4c639bbad008e5e19073b56e13d684417520922";
-            };
-            beamDeps  = [ tirexs_0_8_0_beta6 poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''ExAlice, a geocoder with swappable storage'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/kpanic/exalice";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exalice = exalice_0_0_6_alpha;
-
-    example_files_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "example_files";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "example_files";
-              version = "0.2.0";
-              sha256 =
-                "5454a42e421f5b35669fa80aeac067ca010dfb4fd7f834a530070e2a95d71689";
-            };
-
-            meta = {
-              longDescription = ''Mix tasks for managing example files in your
-                                project. Your project may contain files that are
-                                intended to serve as explanatory samples of
-                                files provided by a project contributor or user,
-                                such as configuration and the like. The Mix
-                                tasks provided here enable you to easily find,
-                                copy, and check the freshness of example files
-                                and your copies of them.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/njonsson/example_files";
-            };
-          } // packageOverrides)
-      ) {};
-
-    example_files = example_files_0_2_0;
-
-    exbackoff_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exbackoff";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "exbackoff";
-              version = "0.0.3";
-              sha256 =
-                "dc3df168c73800c0978d732c121cd934ce2e5564d6addb953f8601e3010ae225";
-            };
-
-            meta = {
-              description = ''Simple exponential backoffs in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mingchuno/exbackoff";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exbackoff = exbackoff_0_0_3;
-
-    exbouncer_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exbouncer";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "exbouncer";
-              version = "0.0.1";
-              sha256 =
-                "1152124b31dd00eddfb59fff015d92632744fa5cd4630a7eb8976a82aa012e41";
-            };
-
-            meta = {
-              longDescription = ''An authorization library in Elixir for Plug
-                                applications that restricts what resources the
-                                current user/admin or any role is allowed to
-                                access,'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/vysakh0/exbouncer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exbouncer = exbouncer_0_0_1;
-
-    excaliper_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "excaliper";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "excaliper";
-              version = "0.0.1";
-              sha256 =
-                "d43430518ffcf8de60a1d44355f6a200f348ec1ca8bc4287ca17c97543e86732";
-            };
-
-            meta = {
-              description = ''Fast image dimension detector inspired by the
-                            Node.JS module Calipers.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mgartner/excaliper";
-            };
-          } // packageOverrides)
-      ) {};
-
-    excaliper = excaliper_0_0_1;
-
-    excellent_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "excellent";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "excellent";
-              version = "0.0.1";
-              sha256 =
-                "a0628dce02de6a33cf441883723c480b0f07fdacade46f6d608465bb717491bd";
-            };
-
-            meta = {
-              description = ''A OpenXL (Excel files ending with .xlsx) parser
-                            for Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/leifg/excellent";
-            };
-          } // packageOverrides)
-      ) {};
-
-    excellent = excellent_0_0_1;
-
-    excetera_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "excetera";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "excetera";
-              version = "0.0.3";
-              sha256 =
-                "e127e4f553c3925ce301b782cd8e8f123c72cf2463f7f032042f59892e5f37c3";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir bindings for etcd`s HTTP API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mingchuno/excetera";
-            };
-          } // packageOverrides)
-      ) {};
-
-    excetera = excetera_0_0_3;
-
-    excoap_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "excoap";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "excoap";
-              version = "0.0.1";
-              sha256 =
-                "06caae698590da85aded80db7996300127d48a4e9cf7bdca8d35113c094e5094";
-            };
-
-            meta = {
-              description = ''CoAP implementation for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mbialon/excoap";
-            };
-          } // packageOverrides)
-      ) {};
-
-    excoap = excoap_0_0_1;
-
-    excollections_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "excollections";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "excollections";
-              version = "0.0.2";
-              sha256 =
-                "1924fd5bd3c1c7418a9150ca8fcb2d2700a82671f3a76972edc9bc51d32a2093";
-            };
-
-            meta = {
-              longDescription = ''A collection of data-structures and related
-                                algorithms for Elixir, implemented in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/metabrain/elixir-playground/tree/master/excollections";
-            };
-          } // packageOverrides)
-      ) {};
-
-    excollections = excollections_0_0_2;
-
-    exconstructor_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exconstructor";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "exconstructor";
-              version = "1.0.2";
-              sha256 =
-                "e8cd1c88d5ea044a340fed75deb1fda2edc71afaac157dce561288a6bf733035";
-            };
-
-            meta = {
-              longDescription = ''ExConstructor generates constructor functions
-                                for your structs, handling map-vs-keyword-list,
-                                string-vs-atom-keys, and
-                                camelCase-vs-under_score issues
-                                automatically.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/appcues/exconstructor";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exconstructor = exconstructor_1_0_2;
-
-    exdash_0_3_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exdash";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "exdash";
-              version = "0.3.1";
-              sha256 =
-                "6a2a3e3c8ea80e5a9e6641db4a109a0a1e0a09c6b7bf190a8b98fa9a650325c5";
-            };
-
-            meta = {
-              description = ''Lodash implementation for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/TFarla/exdash";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exdash = exdash_0_3_1;
-
-    exdatauri_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exdatauri";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "exdatauri";
-              version = "0.1.0";
-              sha256 =
-                "46d064019d4d785428226baafbc3f11fc8621838b0d633768f18182d2cf4a719";
-            };
-
-            meta = {
-              description = ''A RFC 2397 URI parser for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/flupke/exdatauri";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exdatauri = exdatauri_0_1_0;
-
-    exddb_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, erlcloud_0_11_0 }:
-          buildMix ({
-            name = "exddb";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "exddb";
-              version = "0.1.3";
-              sha256 =
-                "e57bd285110585476a457a843fdcff3cce6923c9472b6bec95ac9bf986dd27e4";
-            };
-            beamDeps  = [ erlcloud_0_11_0 ];
-
-            meta = {
-              description = ''Simple library for working with data in
-                            DynamoDB.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/muhmi/exddb";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exddb = exddb_0_1_3;
-
-    exdesk_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "exdesk";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "exdesk";
-              version = "0.2.0";
-              sha256 =
-                "0c1e02bb4aef9075ff4affb3354c0e318dc3be1817faae8b450ef590c7d67688";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Desk.com client library for elixir.'';
-
-              homepage = "https://github.com/deadkarma/exdesk";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exdesk = exdesk_0_2_0;
-
-    exdisque_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, eredis_1_0_8 }:
-          buildMix ({
-            name = "exdisque";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "exdisque";
-              version = "0.0.1";
-              sha256 =
-                "c3b7ec89217df46ae6cf1adadb81118877c66272266f0ee5e2c7ff45d048fb31";
-            };
-            beamDeps  = [ eredis_1_0_8 ];
-
-            meta = {
-              description = ''Elixir client library for Disque:
-                            https://github.com/antirez/disque'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mosic/exdisque";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exdisque = exdisque_0_0_1;
-
-    exec_1_0_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "exec";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "exec";
-              version = "1.0.1";
-              sha256 =
-                "87c7ef2dea2bb503bb0eec8cb34776172999aecc6e12d90f7629796a7a3ccb1f";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''OS Process Manager'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/saleyn/erlexec";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exec = exec_1_0_1;
-
-    execjs_1_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_5_2 }:
-          buildMix ({
-            name = "execjs";
-            version = "1.1.3";
-            src = fetchHex {
-              pkg = "execjs";
-              version = "1.1.3";
-              sha256 =
-                "a0992d14ccc3458563be305d70fd6f6f6e9db6e8b62dd4e15bf69aeb382eb074";
-            };
-            beamDeps  = [ poison_1_5_2 ];
-
-            meta = {
-              description = ''Run JavaScript code from Elixir'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/devinus/execjs";
-            };
-          } // packageOverrides)
-      ) {};
-
-    execjs = execjs_1_1_3;
-
-    exelli_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exelli";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "exelli";
-              version = "0.1.0";
-              sha256 =
-                "9777493429d5b4e3f3a9391ede7706deba65b253aa0d810efa9e26859b6f269c";
-            };
-
-            meta = {
-              longDescription = ''Elli wrapper in elixir, with some sugar
-                                syntax. (even 2 times faster than Plug on
-                                Cowboy) '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/pigmej/exelli";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exelli = exelli_0_1_0;
-
-    exexec_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, erlexec_1_1_3 }:
-          buildMix ({
-            name = "exexec";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "exexec";
-              version = "0.0.1";
-              sha256 =
-                "890122cae91cc739f84dad66b7358c9e7961dadbebeb650e71ccdeab8963ff91";
-            };
-            beamDeps  = [ erlexec_1_1_3 ];
-
-            meta = {
-              description = ''An idiomatic Elixir wrapper for erlexec.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/antipax/exexec";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exexec = exexec_0_0_1;
-
-    exexif_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exexif";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "exexif";
-              version = "0.0.1";
-              sha256 =
-                "48db21d8a77a9f922046ad6018266c0df32efb82331113ccb787e08fb7464a74";
-            };
-
-            meta = {
-              longDescription = ''Read TIFF and EXIF information from a
-                                JPEG-format image. 1. Retrieve data from a file:
-                                iex> {:ok, info} =
-                                Exexif.exif_from_jpeg_file(path) Retrieve data
-                                from a binary containing the JPEG (you don`t
-                                need the whole thing—the exif is near the
-                                beginning of a JPEG, so 100k or so should do
-                                fine). iex> {:ok, info} =
-                                Exexif.exif_from_jpeg_buffer(buffer) 2. Access
-                                the high level TIFF data: iex> info.x_resolution
-                                72 iex> info.model \"DSC-RX100M2\" 3. The exif
-                                data is in there, too. iex>
-                                info.exif.color_space \"sRGB\" iex> info.exif |>
-                                Dict.keys [:brightness_value, :color_space,
-                                :component_configuration,
-                                :compressed_bits_per_pixel, :contrast,
-                                :custom_rendered, :datetime_original,
-                                :datetime_tigitized, :digital_zoom_ratio,
-                                :exif_image_height, :exif_image_width,
-                                :exif_version, :exposure_bias_value,
-                                :exposure_mode, :exposure_program,
-                                :exposure_time, :f_number, :file_source, :flash,
-                                :flash_pix_persion, :focal_length,
-                                :focal_length_in_35mm_film, :iso_speed_ratings,
-                                :lens_info, :light_source, :max_aperture_value,
-                                :metering_mode, :recommended_exposure,
-                                :saturation, :scene_capture_type, :scene_type,
-                                :sensitivity_type, :sharpness, :white_balance]
-                                '';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/pragdave/exexif";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exexif = exexif_0_0_1;
-
-    exfavicon_0_3_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          floki_0_8_1
-        }:
-          buildMix ({
-            name = "exfavicon";
-            version = "0.3.3";
-            src = fetchHex {
-              pkg = "exfavicon";
-              version = "0.3.3";
-              sha256 =
-                "f1c5aa3506c90ba28e6f3ddcf3e9feda8518af1b4b12a6d2f518f86a10d1719b";
-            };
-            beamDeps  = [ httpoison_0_8_3 floki_0_8_1 ];
-
-            meta = {
-              description = ''A exfavicon to detect a site`s favicon.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ikeikeikeike/exfavicon";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exfavicon = exfavicon_0_3_3;
-
-    exfirebase_0_4_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpotion_2_2_2,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "exfirebase";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "exfirebase";
-              version = "0.4.0";
-              sha256 =
-                "acd2f1fe87e83437a5d52b811b3e86bc75933bc29b0daa2da836a97ddd60b478";
-            };
-            beamDeps  = [ httpotion_2_2_2 exjsx_3_2_0 ];
-
-            meta = {
-              description = ''An elixir library for accessing the Firebase REST
-                            API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/parroty/exfirebase";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exfirebase = exfirebase_0_4_0;
-
-    exfoaas_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "exfoaas";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "exfoaas";
-              version = "0.0.2";
-              sha256 =
-                "521f355f8c38c056f66cd8ac236f561c2a3502e451c07a88761e05c22c8848aa";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''brings the utility of FOAAS to elixir.'';
-              license = stdenv.lib.licenses.wtfpl;
-              homepage = "https://github.com/cryptobird/ExFOAAS.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exfoaas = exfoaas_0_0_2;
-
-    exfsm_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exfsm";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "exfsm";
-              version = "0.1.3";
-              sha256 =
-                "6535a0565d6013ca728c10e11c9ac85216d995652892469f7380147da8c3d727";
-            };
-
-            meta = {
-              longDescription = ''Simple elixir library to define composable
-                                FSM as function (not related at all with
-                                `:gen_fsm`, no state/process management)'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/awetzel/exfsm";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exfsm = exfsm_0_1_3;
-
-    exfswatch_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, fs_0_9_2 }:
-          buildMix ({
-            name = "exfswatch";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "exfswatch";
-              version = "0.1.1";
-              sha256 =
-                "b97d5e120dc9efbf31e182625e1382f09202cf66863161570221bb4e1bfa82a1";
-            };
-            beamDeps  = [ fs_0_9_2 ];
-
-            meta = {
-              description = ''A file change watcher wrapper based on
-                            [fs](https://github.com/synrc/fs)'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/falood/exfswatch";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exfswatch = exfswatch_0_1_1;
-
-    exfuck_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exfuck";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "exfuck";
-              version = "0.1.0";
-              sha256 =
-                "c71358ae7a31682d84f89f7f5fdc1c6b545ea93f70391a9ec15987458d70dbe8";
-            };
-
-            meta = {
-              description = ''Brainfuck interpreter written in elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/shiroyasha/exfuck";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exfuck = exfuck_0_1_0;
-
-    exgenius_0_0_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "exgenius";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "exgenius";
-              version = "0.0.5";
-              sha256 =
-                "f0f4463ac9ad79a102a1bf0ded91d77ed87ce262da6045990be51450ef240fd5";
-            };
-            beamDeps  = [ httpoison_0_8_3 exjsx_3_2_0 ];
-
-            meta = {
-              longDescription = '' Elixir library for the (undocumented) Rap
-                                Genius (and also Rock, Tech, Pop, Country, etc)
-                                API '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jeffweiss/exgenius";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exgenius = exgenius_0_0_5;
-
-    exgingerapi_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_0_1,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "exgingerapi";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "exgingerapi";
-              version = "0.0.3";
-              sha256 =
-                "7375b282a1b290e851bbbb7de499c099ff0310443e8a51d8741554b92d4a08f1";
-            };
-            beamDeps  = [ poison_2_0_1 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir wrapper for ginger proofreading API
-                            (english)'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/nathanjohnson320/exgingerapi";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exgingerapi = exgingerapi_0_0_3;
-
-    exgravatar_2_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exgravatar";
-            version = "2.0.0";
-            src = fetchHex {
-              pkg = "exgravatar";
-              version = "2.0.0";
-              sha256 =
-                "ddfcfc899f24fd98c811a6824964c85b5c87a60f41fe034380081680d5c8e765";
-            };
-
-            meta = {
-              description = ''An Elixir module for generating Gravatar urls.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/scrogson/exgravatar";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exgravatar = exgravatar_2_0_0;
-
-    exhcl_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exhcl";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "exhcl";
-              version = "0.2.1";
-              sha256 =
-                "9c7ab6216cd978b2dd3f6573dd3ccf0a9d5055b36008a0ada01d9431198c17f7";
-            };
-
-            meta = {
-              description = ''Configuration language inspired by HCL'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/asakura/exhcl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exhcl = exhcl_0_2_1;
-
-    exiban_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exiban";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "exiban";
-              version = "0.0.4";
-              sha256 =
-                "c1d1da991db264ca99b9e9245bb09d69f6297050b18329be1e4c01d5106778b5";
-            };
-
-            meta = {
-              description = ''Library for manipulating and validating IBAN
-                            account numbers.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kkempin/exiban";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exiban = exiban_0_0_4;
-
-    exirc_0_10_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exirc";
-            version = "0.10.0";
-            src = fetchHex {
-              pkg = "exirc";
-              version = "0.10.0";
-              sha256 =
-                "f2382ad3d97e791cc38ce54558296bb0afe7d222dc5f248ec72c6a0ca9c494a8";
-            };
-
-            meta = {
-              description = ''An IRC client library for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bitwalker/exirc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exirc_0_11_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exirc";
-            version = "0.11.0";
-            src = fetchHex {
-              pkg = "exirc";
-              version = "0.11.0";
-              sha256 =
-                "797a91fd92ca93d639bf323ea4b31a42ed4ac2d67d3096100df7b1b615a88ace";
-            };
-
-            meta = {
-              description = ''An IRC client library for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bitwalker/exirc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exirc = exirc_0_11_0;
-
-    exjson_0_5_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exjson";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "exjson";
-              version = "0.5.0";
-              sha256 =
-                "749422adf4381c8089a910d0ca545282ff0bd506cd4e17a6a08f4f9e7799fa94";
-            };
-
-            meta = {
-              description = ''A simple Elixir implementation of JSON with an
-                            Erlang parser.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/guedes/exjson";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exjson = exjson_0_5_0;
-
-    exjsx_3_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, jsx_2_5_3 }:
-          buildMix ({
-            name = "exjsx";
-            version = "3.0.2";
-            src = fetchHex {
-              pkg = "exjsx";
-              version = "3.0.2";
-              sha256 =
-                "2cd67240a54e9cd2616bc83c0c352d47f87bccd2ec599eceedc00bcbe9063f07";
-            };
-            beamDeps  = [ jsx_2_5_3 ];
-
-            meta = {
-              description = ''json for elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/talentdeficit/exjsx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exjsx_3_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, jsx_2_5_3 }:
-          buildMix ({
-            name = "exjsx";
-            version = "3.1.0";
-            src = fetchHex {
-              pkg = "exjsx";
-              version = "3.1.0";
-              sha256 =
-                "588a0b67ed0c45b21f018515fc478efac83c088661bd588831e41c9073a818fb";
-            };
-            beamDeps  = [ jsx_2_5_3 ];
-
-            meta = {
-              description = ''json for elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/talentdeficit/exjsx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exjsx_3_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, jsx_2_6_2 }:
-          buildMix ({
-            name = "exjsx";
-            version = "3.2.0";
-            src = fetchHex {
-              pkg = "exjsx";
-              version = "3.2.0";
-              sha256 =
-                "9c8600822e894e3c31bed800c78a5a04812b71a6e5a5656426c6ce01ebe2cf1c";
-            };
-            beamDeps  = [ jsx_2_6_2 ];
-
-            meta = {
-              description = ''json for elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/talentdeficit/exjsx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exjsx = exjsx_3_2_0;
-
-    exkanji_0_2_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exromaji_0_3_0 }:
-          buildMix ({
-            name = "exkanji";
-            version = "0.2.6";
-            src = fetchHex {
-              pkg = "exkanji";
-              version = "0.2.6";
-              sha256 =
-                "2de4907764e9f1f2c67d9bc6b49a44d50fd0cbc86b5848cbada14438616636d1";
-            };
-            beamDeps  = [ exromaji_0_3_0 ];
-
-            meta = {
-              longDescription = ''A Elixir library for translating between
-                                hiragana, katakana, romaji and kanji. It uses
-                                Mecab.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ikeikeikeike/exkanji";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exkanji = exkanji_0_2_6;
-
-    exkismet_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "exkismet";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "exkismet";
-              version = "0.0.2";
-              sha256 =
-                "3648f010eb80891b0195f9ced0e02a5a08860a9d96e8f7bbe328c68f27b85b64";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A client (completely unofficial) for the
-                            Akismet.com comment-spam detection API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/cameronp/exkismet";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exkismet = exkismet_0_0_2;
-
-    exldap_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exldap";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "exldap";
-              version = "0.2.0";
-              sha256 =
-                "7e2d1e96dacaddd6b515cc2033b5c9e21d23d1897e3a9f8ca2b6f31d091d72a6";
-            };
-
-            meta = {
-              description = ''A module for working with LDAP from Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jmerriweather/exldap";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exldap = exldap_0_2_0;
-
-    exleveldb_0_7_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exleveldb";
-            version = "0.7.0";
-            src = fetchHex {
-              pkg = "exleveldb";
-              version = "0.7.0";
-              sha256 =
-                "90ff2b76b58c889e60203951c1cf5072cf24fd1fad9faad3dce6c96bf34330fc";
-            };
-
-            meta = {
-              longDescription = ''Exleveldb is a thin wrapper around Basho`s
-                                eleveldb (github.com/basho/eleveldb). At the
-                                moment, Exleveldb exposes functions for the
-                                following features of LevelDB: - Opening a new
-                                datastore. - Closing an open datastore. -
-                                Getting values by key. - Storing individual
-                                key-value pairs. - Deleting stored key-value
-                                pairs. - Checking if a datastore is empty. -
-                                Folding over key-value pairs in the datastore. -
-                                Folding over keys in the datastore. - Batch
-                                writes to the datastore (put or delete). -
-                                Destroying a datastore. Additionally, the option
-                                of streaming key-value pairs or keys from the
-                                datastore has been added in v0.5.0. Note:
-                                Because eleveldb is not a hex package, you will
-                                need to include it as a separate dependency in
-                                your project (See `README.md`).'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/skovsgaard/exleveldb.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exleveldb = exleveldb_0_7_0;
-
-    exlibris_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exlibris";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "exlibris";
-              version = "0.0.1";
-              sha256 =
-                "c6f957233b464eeddf590bad43368427ee9c715470e89d2f348d7d01935ad7be";
-            };
-
-            meta = {
-              longDescription = ''A collection of random library functions I
-                                use across multiple projects: pipe_while_ok:
-                                Create pipelines that terminate early if any
-                                step fails to return a tuple that starts {:ok,
-                                ...} before_returning: Like Ruby`s returning, it
-                                evaluates its first argument, then evalates the
-                                do block. It always returns the value of its
-                                first argument. '';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/pragdave/exlibris";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exlibris = exlibris_0_0_1;
-
-    exlingr_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exlingr";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "exlingr";
-              version = "0.0.1";
-              sha256 =
-                "b45acd0e10f719b88c943b3194b7fded6ece9874c7da2c1f18b2ce2425581701";
-            };
-
-            meta = {
-              description = ''Lingr client library for elixir. '';
-              license = stdenv.lib.licenses.wtfpl;
-              homepage = "https://github.com/mtwtkman/exlingr";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exlingr = exlingr_0_0_1;
-
-    exmatrix_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, benchfella_0_3_2 }:
-          buildMix ({
-            name = "exmatrix";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "exmatrix";
-              version = "0.0.1";
-              sha256 =
-                "58fe316b1ee31f9394f246ec91a6a9157dfae0c38ea649a4c11f70976ca1d13b";
-            };
-            beamDeps  = [ benchfella_0_3_2 ];
-
-            meta = {
-              longDescription = ''ExMatrix is a small library for working with
-                                matrices, originally developed for testing
-                                matrix multiplication in parallel.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/a115/exmatrix";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exmatrix = exmatrix_0_0_1;
-
-    exmerl_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exmerl";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "exmerl";
-              version = "0.1.1";
-              sha256 =
-                "4bb5d6c1863c5e381b460416c9b517a211db9abd9abf0f32c99b07e128b842aa";
-            };
-
-            meta = {
-              description = ''An Elixir wrapper for parsing XML through the
-                            xmerl_* suite of modules '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/pwoolcoc/exmerl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exmerl = exmerl_0_1_1;
-
-    exmetrics_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exmetrics";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "exmetrics";
-              version = "1.1.0";
-              sha256 =
-                "1f4645ca0e9ef9b1815c0b301ff2f9a5b5548bc45adb68386cb6529998513d1b";
-            };
-
-            meta = {
-              longDescription = ''Exmetrics provides counters, gauges and
-                                histograms for instrumenting an elixir
-                                application.'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    exmetrics = exmetrics_1_1_0;
-
-    exml_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exml";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "exml";
-              version = "0.1.0";
-              sha256 =
-                "aeed2cc53cae303180fa18eb552241af32e7f05af94ac82de9b81d67b71dee78";
-            };
-
-            meta = {
-              description = ''Most simple Elixir wrapper for xmerl xpath'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    exml = exml_0_1_0;
-
-    exmoji_0_2_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_5_2 }:
-          buildMix ({
-            name = "exmoji";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "exmoji";
-              version = "0.2.2";
-              sha256 =
-                "d0123ec6fd14506da93b0e8fdb7c2efa819cc69addeb56a78f3c1e0b8a09d015";
-            };
-            beamDeps  = [ poison_1_5_2 ];
-
-            meta = {
-              description = ''Emoji encoding swiss army knife for dealing with
-                            Unicode and other gotchas.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mroth/exmoji";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exmoji = exmoji_0_2_2;
-
-    exns_0_3_5_beta = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          uuid_1_1_4,
-          poolboy_1_5_1,
-          poison_1_5_2,
-          msgpax_0_8_2
-        }:
-          buildMix ({
-            name = "exns";
-            version = "0.3.5-beta";
-            src = fetchHex {
-              pkg = "exns";
-              version = "0.3.5-beta";
-              sha256 =
-                "2c5b1f263ebfe9636802cca5559e74009ae4384418e44820f0ff05130dbcb593";
-            };
-            beamDeps  = [ uuid_1_1_4 poolboy_1_5_1 poison_1_5_2 msgpax_0_8_2
-                      ];
-
-            meta = {
-              longDescription = ''A library for writing clients to communicate
-                                with Python nanoservices via nanomsg.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/walkr/exns";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exns = exns_0_3_5_beta;
-
-    exnumerable_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exnumerable";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "exnumerable";
-              version = "0.0.1";
-              sha256 =
-                "ea6041540da09b96176a37bdd71e3c6fbacb8353aca3b084deedb17cee265e2e";
-            };
-
-            meta = {
-              description = ''Enumerable type definition in a simple way to be
-                            used with any database.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KamilLelonek/exnumerable";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exnumerable = exnumerable_0_0_1;
-
-    exnumerator_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exnumerator";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "exnumerator";
-              version = "1.1.0";
-              sha256 =
-                "1c52033471dfae7b32c897cb0034eb1d3602bcb14342ca08090c42b02001b2fd";
-            };
-
-            meta = {
-              description = ''Enumerable type definition in a simple way to be
-                            used with any database.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KamilLelonek/exnumerator";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exnumerator = exnumerator_1_1_0;
-
-    exnumterator_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exnumterator";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "exnumterator";
-              version = "1.0.0";
-              sha256 =
-                "895b1dfff48d0459e66338ca8a8b831c2f31654fc0758a24e11a2f54a9cb1106";
-            };
-
-            meta = {
-              description = ''Enumerable type definition in a simple way to be
-                            used with any database.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KamilLelonek/exnumterator";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exnumterator = exnumterator_1_0_0;
-
-    exoddic_1_3_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exoddic";
-            version = "1.3.1";
-            src = fetchHex {
-              pkg = "exoddic";
-              version = "1.3.1";
-              sha256 =
-                "e244c4aab1a25836300973f8afd42aef41dea19121c748c4b6d7b447db842194";
-            };
-
-            meta = {
-              description = ''Odds and probability handling and conversions'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/exoddic";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exoddic = exoddic_1_3_1;
-
-    expand_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "expand";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "expand";
-              version = "0.0.3";
-              sha256 =
-                "5f2ce07ba074392100fc5f6b8e8af9ec728ce4716e592422c510997d543efa63";
-            };
-
-            meta = {
-              description = ''A pretty printer'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/joeyates/expand";
-            };
-          } // packageOverrides)
-      ) {};
-
-    expand = expand_0_0_3;
-
-    exparticle_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "exparticle";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "exparticle";
-              version = "0.0.2";
-              sha256 =
-                "ce70b77da48e84307791af00143ad4b9677d39765459865976d459d3b1bdcaf2";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''ExParticle is an elixir client to communicate
-                            with Particle Cloud API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mtanzi/exparticle";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exparticle = exparticle_0_0_2;
-
-    experiment_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "experiment";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "experiment";
-              version = "0.0.3";
-              sha256 =
-                "5acb6c232aff08719f97254ca27ed1eb165c3f2d229e03cda85e4d31ad7b3156";
-            };
-
-            meta = {
-              description = ''Experiment is a library for carefully refactoring
-                            critical paths in production.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/andrewvy/experiment";
-            };
-          } // packageOverrides)
-      ) {};
-
-    experiment = experiment_0_0_3;
-
-    expinboard_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          ibrowse_4_2_2,
-          httpotion_2_2_2,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "expinboard";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "expinboard";
-              version = "0.0.1";
-              sha256 =
-                "3ff152d837293c0f53ead6cba4180ced55308d2869faa698e459abbe23d59bdc";
-            };
-            beamDeps  = [ ibrowse_4_2_2 httpotion_2_2_2 exjsx_3_2_0 ];
-
-            meta = {
-              description = ''A simple elixir pinboard client.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/thilko/expinboard";
-            };
-          } // packageOverrides)
-      ) {};
-
-    expinboard = expinboard_0_0_1;
-
-    expletive_0_1_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "expletive";
-            version = "0.1.4";
-            src = fetchHex {
-              pkg = "expletive";
-              version = "0.1.4";
-              sha256 =
-                "dfb9ac919526bcb7f28b5acadad634b7e9d220203874ef124a87264a078f24b4";
-            };
-
-            meta = {
-              description = ''Profanity detection and sanitization library'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/xavier/expletive";
-            };
-          } // packageOverrides)
-      ) {};
-
-    expletive = expletive_0_1_4;
-
-    expool_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "expool";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "expool";
-              version = "0.2.0";
-              sha256 =
-                "f0cc61c365d1950522ad5816cf638353602db5a5d74feb7c96748dfa2b6f9d07";
-            };
-
-            meta = {
-              description = ''Simple process pooling and task submission'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zackehh/expool";
-            };
-          } // packageOverrides)
-      ) {};
-
-    expool = expool_0_2_0;
-
-    export_0_0_7 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "export";
-            version = "0.0.7";
-            src = fetchHex {
-              pkg = "export";
-              version = "0.0.7";
-              sha256 =
-                "76c2a174b01f0fac1c3bc5083a7982fb8d41778518e279a526b40e4ced05d1d0";
-            };
-
-            meta = {
-              description = ''Erlport wrapper for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/fazibear/export";
-            };
-          } // packageOverrides)
-      ) {};
-
-    export = export_0_0_7;
-
-    expr_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "expr";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "expr";
-              version = "0.1.0";
-              sha256 =
-                "5076c73cb6beaafeab5fab4731170c29dca5581eec44df3be363660a872abb97";
-            };
-
-            meta = {
-              description = ''An Elixir library for parsing and evaluating
-                            mathematical expressions '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Rob-bie/Expr";
-            };
-          } // packageOverrides)
-      ) {};
-
-    expr = expr_0_1_0;
-
-    exprintf_0_1_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exprintf";
-            version = "0.1.6";
-            src = fetchHex {
-              pkg = "exprintf";
-              version = "0.1.6";
-              sha256 =
-                "7acb31f93cef83effd3aa1f0572f9e29d7d1b4f50a6d456e2830fa7594c16182";
-            };
-
-            meta = {
-              description = ''A printf / sprintf library for Elixir. It works
-                            as a wrapper for :io.format. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/parroty/exprintf";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exprintf = exprintf_0_1_6;
-
-    exprof_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exprintf_0_1_6 }:
-          buildMix ({
-            name = "exprof";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "exprof";
-              version = "0.2.0";
-              sha256 =
-                "2b3b8c623873172a6c7ba1707981f51feea6b6edbabd5347752030803ad0c954";
-            };
-            beamDeps  = [ exprintf_0_1_6 ];
-
-            meta = {
-              description = ''A simple code profiler for Elixir using eprof.
-                            '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/parroty/exprof";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exprof = exprof_0_2_0;
-
-    exql_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, tds_0_5_4 }:
-          buildMix ({
-            name = "exql";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "exql";
-              version = "0.0.3";
-              sha256 =
-                "0dea2cd0f6cb1ba6c1cd4298716131fafb4271f2c076df0dd6e73e37cecb4705";
-            };
-            beamDeps  = [ tds_0_5_4 ];
-
-            meta = {
-              description = ''A functional query tool for MSSQL.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mattweldon/exql";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exql = exql_0_0_3;
-
-    exquisite_0_1_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exquisite";
-            version = "0.1.6";
-            src = fetchHex {
-              pkg = "exquisite";
-              version = "0.1.6";
-              sha256 =
-                "8bd974eea0ef20d841f999818e4b6f0edd8e52b6723e8c5b2c4ba7a22fa07c7a";
-            };
-
-            meta = {
-              description = ''DSL to match_spec'';
-              license = stdenv.lib.licenses.wtfpl;
-              homepage = "https://github.com/meh/exquisite";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exquisite = exquisite_0_1_6;
-
-    exredis_0_2_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, eredis_1_0_8 }:
-          buildMix ({
-            name = "exredis";
-            version = "0.2.4";
-            src = fetchHex {
-              pkg = "exredis";
-              version = "0.2.4";
-              sha256 =
-                "fe43dc6e39220af9c06d575b86c24513dcb1c3ba48f31881a3708cdafe7d3188";
-            };
-            beamDeps  = [ eredis_1_0_8 ];
-
-            meta = {
-              description = ''Redis client for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/artemeff/exredis";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exredis = exredis_0_2_4;
-
-    exref_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exref";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "exref";
-              version = "0.1.1";
-              sha256 =
-                "92d73f1eff56f2d0493a2dbf5e932b48b99a2cdd2e3cc3fc0ffeb9c1ae5ed86c";
-            };
-
-            meta = {
-              description = ''Damn simple mix integration of xref.'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    exref = exref_0_1_1;
-
-    exrequester_0_5_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "exrequester";
-            version = "0.5.2";
-            src = fetchHex {
-              pkg = "exrequester";
-              version = "0.5.2";
-              sha256 =
-                "9c55974b2f9a4294dd9a53ebed8f9b1c2788cd0845dccbc9471cf6869201903a";
-            };
-            beamDeps  = [ poison_1_5_2 httpotion_2_2_2 ];
-
-            meta = {
-              description = ''Quickly create API clients using module
-                            attributes.'';
-
-              homepage = "https://github.com/oarrabi/exrequester";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exrequester = exrequester_0_5_2;
-
-    exrethinkdb_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_4_0 }:
-          buildMix ({
-            name = "exrethinkdb";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "exrethinkdb";
-              version = "0.0.3";
-              sha256 =
-                "c48a25a613de9f4c8ffe490044e448f01d816e0f6806af018494c3a19890ed1a";
-            };
-            beamDeps  = [ poison_1_4_0 ];
-
-            meta = {
-              description = ''RethinkDB driver for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hamiltop/exrethinkdb";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exrethinkdb = exrethinkdb_0_0_3;
-
-    exromaji_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exromaji";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "exromaji";
-              version = "0.3.0";
-              sha256 =
-                "d1b820b3de05bb3729b3b1d8b3e22ee965899a90abbec44ed6d18507a5f174d3";
-            };
-
-            meta = {
-              description = ''A Elixir library for translating between
-                            hiragana, katakana, and romaji.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ikeikeikeike/exromaji";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exromaji = exromaji_0_3_0;
-
-    exrun_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exrun";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "exrun";
-              version = "0.1.2";
-              sha256 =
-                "db9ea4befa015d7abe88ca610501187f12956d6fe6e527f02f8e4d9e630decf5";
-            };
-
-            meta = {
-              longDescription = ''Elixir - save and easy to use standalone,
-                                tracing tools for running elixir and erlang
-                                applications'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/liveforeverx/exrun";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exrun = exrun_0_1_2;
-
-    exsamples_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exsamples";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "exsamples";
-              version = "0.1.0";
-              sha256 =
-                "92acafe7e8a5d6b1c1b5ca937b9dab887f9a4474cfd6510a7117690a6c6da86d";
-            };
-
-            meta = {
-              longDescription = ''Initializes lists of maps, structs or keyword
-                                lists using tabular data in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/msaraiva/exsamples";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exsamples = exsamples_0_1_0;
-
-    exscript_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exscript";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "exscript";
-              version = "0.0.1";
-              sha256 =
-                "56360c7f6063df2088deb0ec7683dee90c4bfede861ef85b81fa94cc0abe302b";
-            };
-
-            meta = {
-              description = ''Escript generator '';
-
-              homepage = "https://github.com/liveforeverx/exscript";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exscript = exscript_0_0_1;
-
-    exsolr_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "exsolr";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "exsolr";
-              version = "0.0.1";
-              sha256 =
-                "dcd26d0301730cb1746702bfacf31de10be5d1b15475a1a7ec4da8c7c49e55d1";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Thin Wrapper around Solr api.'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/dcarneiro/exsolr";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exsolr = exsolr_0_0_1;
-
-    exstatic_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "exstatic";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "exstatic";
-              version = "0.1.0";
-              sha256 =
-                "e063b91c0b2995e4a1a2c1aa56cdd578374320a8755844cc6471b58fa3874d0d";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              longDescription = ''Serve static files from memory in the Phoenix
-                                Framework. This extension compiles all of a
-                                project`s static assets (e.g. Javascript, HTML,
-                                images, etc) into Erlang modules and loads them
-                                into the Erlang VM, with the purpose of serving
-                                them fast and without a dependency on a
-                                filesystem.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/arjan/exstatic";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exstatic = exstatic_0_1_0;
-
-    exstatsd_0_1_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exactor_2_2_0 }:
-          buildMix ({
-            name = "exstatsd";
-            version = "0.1.5";
-            src = fetchHex {
-              pkg = "exstatsd";
-              version = "0.1.5";
-              sha256 =
-                "4fcad707df57fdb91338dae212355704924bea8db10207715b95e3c110e7b219";
-            };
-            beamDeps  = [ exactor_2_2_0 ];
-
-            meta = {
-              description = ''An Elixir ports client for StatsD'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/upbit/ExStatsD";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exstatsd = exstatsd_0_1_5;
-
-    exsync_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exfswatch_0_1_1 }:
-          buildMix ({
-            name = "exsync";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "exsync";
-              version = "0.1.2";
-              sha256 =
-                "21a1106d5e62ced84a567bde2acbdff73ddf06d2a78fbd80ffa488fae4bde48b";
-            };
-            beamDeps  = [ exfswatch_0_1_1 ];
-
-            meta = {
-              description = ''Yet another Elixir reloader.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/falood/exsync";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exsync = exsync_0_1_2;
-
-    extripe_0_3_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "extripe";
-            version = "0.3.2";
-            src = fetchHex {
-              pkg = "extripe";
-              version = "0.3.2";
-              sha256 =
-                "4df5dd859ad780bdb4dc0d1c823a8df82cf7421037f1ed40adf20b426d6729a1";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Stripe API wrapper'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/princemaple/extripe";
-            };
-          } // packageOverrides)
-      ) {};
-
-    extripe = extripe_0_3_2;
-
-    exts_0_3_1 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, datastructures_0_2_5
-        }:
-          buildMix ({
-            name = "exts";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "exts";
-              version = "0.3.1";
-              sha256 =
-                "428226945831d77083cab2a7f9a1f818e6554d789ed7183c215390d7f43cfa40";
-            };
-            beamDeps  = [ datastructures_0_2_5 ];
-
-            meta = {
-              description = ''ets wrapper'';
-              license = stdenv.lib.licenses.wtfpl;
-              homepage = "https://github.com/meh/exts";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exts = exts_0_3_1;
-
-    extwitter_0_7_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_5_2 }:
-          buildMix ({
-            name = "extwitter";
-            version = "0.7.1";
-            src = fetchHex {
-              pkg = "extwitter";
-              version = "0.7.1";
-              sha256 =
-                "9cc83932fbe77d47f0fafc2000574805aa42341eed07a8867b1c27df27c3554a";
-            };
-            beamDeps  = [ poison_1_5_2 ];
-
-            meta = {
-              description = ''Twitter client library for elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/parroty/extwitter";
-            };
-          } // packageOverrides)
-      ) {};
-
-    extwitter = extwitter_0_7_1;
-
-    exvcr_0_3_9 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          meck_0_8_4,
-          httpotion_2_2_2,
-          httpoison_0_8_3,
-          exjsx_3_2_0,
-          exactor_2_2_0
-        }:
-          buildMix ({
-            name = "exvcr";
-            version = "0.3.9";
-            src = fetchHex {
-              pkg = "exvcr";
-              version = "0.3.9";
-              sha256 =
-                "25645f6598111ba76ed30b4a2079169ae1aed0795ef87bf74d70a3a7ca8f2112";
-            };
-            beamDeps  = [
-                          meck_0_8_4
-                          httpotion_2_2_2
-                          httpoison_0_8_3
-                          exjsx_3_2_0
-                          exactor_2_2_0
-                        ];
-
-            meta = {
-              description = ''HTTP request/response recording library for
-                            elixir, inspired by VCR.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/parroty/exvcr";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exvcr_0_7_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          meck_0_8_4,
-          httpotion_2_2_2,
-          httpoison_0_8_3,
-          exjsx_3_2_0,
-          exactor_2_2_0
-        }:
-          buildMix ({
-            name = "exvcr";
-            version = "0.7.4";
-            src = fetchHex {
-              pkg = "exvcr";
-              version = "0.7.4";
-              sha256 =
-                "620eac79a63426340d31dcc44b66a0d8be89ce4c2dc59b09986e83114bd4c525";
-            };
-            beamDeps  = [
-                          meck_0_8_4
-                          httpotion_2_2_2
-                          httpoison_0_8_3
-                          exjsx_3_2_0
-                          exactor_2_2_0
-                        ];
-
-            meta = {
-              description = ''HTTP request/response recording library for
-                            elixir, inspired by VCR.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/parroty/exvcr";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exvcr = exvcr_0_7_4;
-
-    exyelp_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          oauther_1_0_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "exyelp";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "exyelp";
-              version = "0.0.2";
-              sha256 =
-                "1be8553ea0369a092eac1b6a0b47652b7c0570911483aa3ca454bef05ddd4d5d";
-            };
-            beamDeps  = [ poison_2_1_0 oauther_1_0_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Elixir Yelp API client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gaslight/exyelp";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exyelp = exyelp_0_0_2;
-
-    exyz_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "exyz";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "exyz";
-              version = "1.0.0";
-              sha256 =
-                "b1d53964ca72f70dd71c91327bf912858619d0357a53765ed3a08671e6769ef5";
-            };
-
-            meta = {
-              description = ''Z-combinator in elixir: recursive anonymous
-                            functions.'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/Dkendal/exyz";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exyz = exyz_1_0_0;
-
-    eye_drops_1_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, fs_0_9_2 }:
-          buildMix ({
-            name = "eye_drops";
-            version = "1.2.0";
-            src = fetchHex {
-              pkg = "eye_drops";
-              version = "1.2.0";
-              sha256 =
-                "0e0fe7ccf1fc4208ae0811c60a0f0d1e37ef9a60dfaefc8ff235a8be51fa9ae7";
-            };
-            beamDeps  = [ fs_0_9_2 ];
-
-            meta = {
-              longDescription = ''A configurable mix task to watch file changes
-                                Watch file changes in a project and run the
-                                corresponding command when a change happens.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rkotze/eye_drops";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eye_drops = eye_drops_1_2_0;
-
-    ezcryptex_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, cryptex_0_0_1 }:
-          buildMix ({
-            name = "ezcryptex";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "ezcryptex";
-              version = "0.0.1";
-              sha256 =
-                "0c1c295cf5500106f7288949021ccbdc0d3a9276c2ae9938e45254b7500017b5";
-            };
-            beamDeps  = [ cryptex_0_0_1 ];
-
-            meta = {
-              longDescription = ''Thin layer on top of Cryptex for more easily
-                                encrypting/decrypting, signing/verifying data in
-                                elixir. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/stocks29/ezcryptex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ezcryptex = ezcryptex_0_0_1;
-
-    facebook_messenger_0_3_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          plug_1_1_5,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "facebook_messenger";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "facebook_messenger";
-              version = "0.3.0";
-              sha256 =
-                "30b1f7334649b671a4844dfcf7af1df00ad3082e8d42399466003636d95902ab";
-            };
-            beamDeps  = [ poison_2_1_0 plug_1_1_5 httpotion_2_2_2 ];
-
-            meta = {
-              longDescription = ''ExFacebookMessenger is a library that easy
-                                the creation of facebook messenger bots.'';
-
-              homepage = "https://github.com/oarrabi/facebook_messenger";
-            };
-          } // packageOverrides)
-      ) {};
-
-    facebook_messenger = facebook_messenger_0_3_0;
-
-    factory_girl_elixir_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "factory_girl_elixir";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "factory_girl_elixir";
-              version = "0.1.1";
-              sha256 =
-                "2e07de9813089c6e6a45f0584eb2bfd28d3acbf654073b9e2ed6d0fd531b8f7e";
-            };
-
-            meta = {
-              description = ''Minimal implementation of Ruby`s factory_girl in
-                            Elixir. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sinetris/factory_girl_elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    factory_girl_elixir = factory_girl_elixir_0_1_1;
-
-    fake_cas_1_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4,
-          bypass_0_5_1
-        }:
-          buildMix ({
-            name = "fake_cas";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "fake_cas";
-              version = "1.1.0";
-              sha256 =
-                "2e3ce97b181f9de122fd7dc07bffdbe2a6f6439524407b976c9d1b70332206ae";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 bypass_0_5_1 ];
-
-            meta = {
-              description = ''A Cas server stub'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rhruiz/elixir-fake_cas";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fake_cas = fake_cas_1_1_0;
-
-    faker_0_6_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "faker";
-            version = "0.6.0";
-            src = fetchHex {
-              pkg = "faker";
-              version = "0.6.0";
-              sha256 =
-                "4f305a9ec9a2645bf4777dda1b56643d04333b7ff601145bf4b80acca030c2a0";
-            };
-
-            meta = {
-              description = ''Faker is a pure Elixir library for generating
-                            fake data.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/igas/faker";
-            };
-          } // packageOverrides)
-      ) {};
-
-    faker = faker_0_6_0;
-
-    fasta_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, parallel_0_0_3 }:
-          buildMix ({
-            name = "fasta";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "fasta";
-              version = "0.1.0";
-              sha256 =
-                "ebacba161985bf3d1bc5cf35e6ab0c01ce7f1f0fcc52151a35605eb9a6fac44b";
-            };
-            beamDeps  = [ parallel_0_0_3 ];
-
-            meta = {
-              description = ''FASTA is a tool for parsing FASTA-formatted
-                            strings in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/annejohnson/FASTA";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fasta = fasta_0_1_0;
-
-    faust_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "faust";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "faust";
-              version = "0.1.0";
-              sha256 =
-                "0ab347a6f377a97e621db0f659841436d6dbb31f1b7c8309e3fb543bec0c473e";
-            };
-
-            meta = {
-              description = ''A Markov chain text generator for Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/jquadrin/faust";
-            };
-          } // packageOverrides)
-      ) {};
-
-    faust = faust_0_1_0;
-
-    fdg_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "fdg";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "fdg";
-              version = "0.0.4";
-              sha256 =
-                "a5ec0f8214e52c63186e620a3556a3d61c6fa9118bf4a6b84b67ff236b8a98da";
-            };
-
-            meta = {
-              longDescription = ''This project aims to be a simple library with
-                                which to build force directed graphs. Ideally,
-                                FDG will be used to produce visualiations of
-                                networks and static analysis of code.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/johnhamelink/elixir-fdg";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fdg = fdg_0_0_4;
-
-    feature_toggler_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exredis_0_2_4 }:
-          buildMix ({
-            name = "feature_toggler";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "feature_toggler";
-              version = "0.0.1";
-              sha256 =
-                "dac607aa67971e87b9d8fb8eb3057246d4480c99e11951faa1ed9f204b7f48ae";
-            };
-            beamDeps  = [ exredis_0_2_4 ];
-
-            meta = {
-              description = ''This is a simple feature toggler/switch with
-                            redis database written in elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/aravindgd/feature_toggler";
-            };
-          } // packageOverrides)
-      ) {};
-
-    feature_toggler = feature_toggler_0_0_1;
-
-    feeder_1_4_7 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "feeder";
-            version = "1.4.7";
-            src = fetchHex {
-              pkg = "feeder";
-              version = "1.4.7";
-              sha256 =
-                "1ac4696d0801c5e433caedeb38001341a9e22120998dcb0ee6d358266260c3da";
-            };
-
-            meta = {
-              description = ''Stream parse RSS and Atom formatted XML feeds.
-                            '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/michaelnisi/feeder";
-            };
-          } // packageOverrides)
-      ) {};
-
-    feeder_2_0_0 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "feeder";
-            version = "2.0.0";
-            src = fetchHex {
-              pkg = "feeder";
-              version = "2.0.0";
-              sha256 =
-                "9780c5f032d3480cf7d9fd71d3f0c5f73211e0d3a8d9cdabcb1327b3a4ff758e";
-            };
-
-            meta = {
-              description = ''Stream parse RSS and Atom formatted XML feeds.
-                            '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/michaelnisi/feeder";
-            };
-          } // packageOverrides)
-      ) {};
-
-    feeder = feeder_2_0_0;
-
-    feeder_ex_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, feeder_1_4_7 }:
-          buildMix ({
-            name = "feeder_ex";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "feeder_ex";
-              version = "0.0.2";
-              sha256 =
-                "0816c5c2757098d02727dcba55dfb8b4ecff66736d0f74d4bd36ffe93f033c31";
-            };
-            beamDeps  = [ feeder_1_4_7 ];
-
-            meta = {
-              description = ''RSS feed parser. Simple wrapper for feeder.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/manukall/feeder_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    feeder_ex = feeder_ex_0_0_2;
-
-    feederer_0_6_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poolboy_1_5_1 }:
-          buildMix ({
-            name = "feederer";
-            version = "0.6.0";
-            src = fetchHex {
-              pkg = "feederer";
-              version = "0.6.0";
-              sha256 =
-                "c5041617fc7e71db9a0763f36fbda3fa41598203ab8b47972e3e9dae81039861";
-            };
-            beamDeps  = [ poolboy_1_5_1 ];
-
-            meta = {
-              longDescription = ''Parses XML syndication feeds such as RSS,
-                                Atom, etc. Elixir feedparser wrapper using
-                                erlport.'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/draftli/feederer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    feederer = feederer_0_6_0;
-
-    feedme_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_0_19_5 }:
-          buildMix ({
-            name = "feedme";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "feedme";
-              version = "0.0.1";
-              sha256 =
-                "021621981bbb03b317e4a948a39d269ab1a2dc6d9ec6ee1c744e565000da680d";
-            };
-            beamDeps  = [ timex_0_19_5 ];
-
-            meta = {
-              description = ''Elixir RSS/Atom parser built on erlang`s xmerl
-                            xml parser'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/umurgdk/elixir-feedme";
-            };
-          } // packageOverrides)
-      ) {};
-
-    feedme = feedme_0_0_1;
-
-    feedparser_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "feedparser";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "feedparser";
-              version = "0.0.3";
-              sha256 =
-                "ef19d82d5d0db4ca10e1a83c8eefe82678538cdeb143e707bf7ef738177c3eeb";
-            };
-
-            meta = {
-              description = ''Discover and parse RSS and Atom feeds'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/l3kn/Elixir-Feedparser";
-            };
-          } // packageOverrides)
-      ) {};
-
-    feedparser = feedparser_0_0_3;
-
-    fernetex_0_2_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_1_0_2 }:
-          buildMix ({
-            name = "fernetex";
-            version = "0.2.3";
-            src = fetchHex {
-              pkg = "fernetex";
-              version = "0.2.3";
-              sha256 =
-                "cf8ac1334cd1937e448bb0c873c1df94dc8bb38cb2320966ba69d9ff8f755805";
-            };
-            beamDeps  = [ timex_1_0_2 ];
-
-            meta = {
-              description = ''Elixir implementation of Fernet library based on
-                            https://github.com/fernet/spec'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kennyp/fernetex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fernetex = fernetex_0_2_3;
-
-    fifo_s3_0_2_2 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          lager_3_0_2,
-          hackney_1_6_0,
-          erlcloud_0_13_2,
-          base16_1_0_0
-        }:
-          buildRebar3 ({
-            name = "fifo_s3";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "fifo_s3";
-              version = "0.2.2";
-              sha256 =
-                "871809a49fdb22ad7e9ee04fa7a53368e216072cf473046d8f74ee956e735b19";
-            };
-
-            beamDeps  = [
-                          poolboy_1_5_1
-                          lager_3_0_2
-                          hackney_1_6_0
-                          erlcloud_0_13_2
-                          base16_1_0_0
-                        ];
-
-            meta = {
-              description = ''S3 storange client library for erlang'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    fifo_s3 = fifo_s3_0_2_2;
-
-    fifocache_1_0_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "fifocache";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "fifocache";
-              version = "1.0.1";
-              sha256 =
-                "363f03e2871b8d8c7564a47133162ce18c362bd70897f5bd58fa246a0e169a43";
-            };
-
-            meta = {
-              description = ''Fixed size FIFO cache implementation'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/mururu/fifocache";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fifocache = fifocache_1_0_1;
-
-    figaro_elixir_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "figaro_elixir";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "figaro_elixir";
-              version = "1.0.0";
-              sha256 =
-                "98a7690c60fc32874e73b025b7deb5887d7cdff4556178af1849bde38a7ba104";
-            };
-
-            meta = {
-              description = ''Environmental variables manager and configuration
-                            management tool.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KamilLelonek/figaro-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    figaro_elixir = figaro_elixir_1_0_0;
-
-    file_info_0_0_2 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, mimetype_parser_0_1_2
-        }:
-          buildMix ({
-            name = "file_info";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "file_info";
-              version = "0.0.2";
-              sha256 =
-                "f28456aafd014c01a4188fee36c1571e9669b0506eb22c830db357084c0c9cb2";
-            };
-            beamDeps  = [ mimetype_parser_0_1_2 ];
-
-            meta = {
-              description = ''Get MIME-type of a file by its magic number
-                            (linux only)'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/NobbZ/file_info";
-            };
-          } // packageOverrides)
-      ) {};
-
-    file_info = file_info_0_0_2;
-
-    finance_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_1_0_2 }:
-          buildMix ({
-            name = "finance";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "finance";
-              version = "0.0.1";
-              sha256 =
-                "fe08fc521e65605d54fd8b68fbdfdbd233b408e8330cf8038337214b553c2c17";
-            };
-            beamDeps  = [ timex_1_0_2 ];
-
-            meta = {
-              longDescription = ''A library to calculate Xirr through the
-                                bisection method using parallel processes.'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    finance = finance_0_0_1;
-
-    finicity_0_0_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          xml_builder_0_0_8,
-          httpotion_2_2_2,
-          floki_0_8_1
-        }:
-          buildMix ({
-            name = "finicity";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "finicity";
-              version = "0.0.5";
-              sha256 =
-                "b58ef39987976cf50851311a95b40504ba763c0d82256b012f5b1246bd92d9b4";
-            };
-            beamDeps  = [ xml_builder_0_0_8 httpotion_2_2_2 floki_0_8_1 ];
-
-            meta = {
-              description = ''Client library for Finicity.'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    finicity = finicity_0_0_5;
-
-    firmata_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "firmata";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "firmata";
-              version = "0.0.1";
-              sha256 =
-                "c3f928839c32e366389b3f9d34cfc73505952f854dd13c52eff56b9e5853ea6c";
-            };
-
-            meta = {
-              longDescription = ''This package implements the Firmata protocol.
-                                Firmata is a MIDI-based protocol for
-                                communicating with microcontrollers.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/kfatehi/firmata";
-            };
-          } // packageOverrides)
-      ) {};
-
-    firmata = firmata_0_0_1;
-
-    fixby_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "fixby";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "fixby";
-              version = "0.0.1";
-              sha256 =
-                "e361bb9324c616e397fc78bda81a3629a39189f4675aefdeb54e85dfa74a629f";
-            };
-
-            meta = {
-              description = ''FIXBY comments that raise after a given version
-                            of Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/CoderDennis/fixby-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fixby = fixby_0_0_1;
-
-    fixme_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "fixme";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "fixme";
-              version = "0.0.4";
-              sha256 =
-                "e5e36db0c083a96a459723d89c151fc1f33f9873122e6c4924e06d18d20f9e84";
-            };
-
-            meta = {
-              description = ''FIXME comments that raise after a certain point
-                            in time.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/henrik/fixme-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fixme = fixme_0_0_4;
-
-    flasked_0_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "flasked";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "flasked";
-              version = "0.4.0";
-              sha256 =
-                "8499535ce20f8e9d2e38ce7e9ecac1a9fc5f402f3f0ab58661c1ed8795f3178c";
-            };
-
-            meta = {
-              longDescription = ''Flasked injects application environment
-                                configuration at runtime based on given ENV
-                                variables and a mapping. This is pretty useful
-                                for applications following the 12factor app
-                                principle or which are deployed in
-                                containerization infrastructures like Docker.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/asaaki/flasked";
-            };
-          } // packageOverrides)
-      ) {};
-
-    flasked = flasked_0_4_0;
-
-    flock_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "flock";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "flock";
-              version = "0.0.1";
-              sha256 =
-                "3a533d32a450cb0e5b78880c421080fb34fb95d4cf3c1ee053b4e97c6cadd4c8";
-            };
-
-            meta = {
-              description = ''Distributed Services '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/chrismccord/flock";
-            };
-          } // packageOverrides)
-      ) {};
-
-    flock = flock_0_0_1;
-
-    floki_0_0_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "floki";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "floki";
-              version = "0.0.5";
-              sha256 =
-                "05044b8dade147bc0390300eefe48c3118eb61d94a57bd73966549a24c76e795";
-            };
-
-            meta = {
-              description = ''Floki is a simple HTML parser that enables search
-                            for nodes using CSS selectors.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/philss/floki";
-            };
-          } // packageOverrides)
-      ) {};
-
-    floki_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, mochiweb_2_12_2 }:
-          buildMix ({
-            name = "floki";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "floki";
-              version = "0.1.1";
-              sha256 =
-                "b608415520f6701acdbbffed86b62291b00ce695f7f3b067919594534c9858a9";
-            };
-            beamDeps  = [ mochiweb_2_12_2 ];
-
-            meta = {
-              description = ''Floki is a simple HTML parser that enables search
-                            for nodes using CSS selectors.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/philss/floki";
-            };
-          } // packageOverrides)
-      ) {};
-
-    floki_0_7_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, mochiweb_2_12_2 }:
-          buildMix ({
-            name = "floki";
-            version = "0.7.2";
-            src = fetchHex {
-              pkg = "floki";
-              version = "0.7.2";
-              sha256 =
-                "c7078ac2a54501a16ff469c78292bac5013e457ffa8801b74bc293616aa5b0d0";
-            };
-            beamDeps  = [ mochiweb_2_12_2 ];
-
-            meta = {
-              description = ''Floki is a simple HTML parser that enables search
-                            for nodes using CSS selectors.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/philss/floki";
-            };
-          } // packageOverrides)
-      ) {};
-
-    floki_0_8_1 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, mochiweb_html_2_15_0
-        }:
-          buildMix ({
-            name = "floki";
-            version = "0.8.1";
-            src = fetchHex {
-              pkg = "floki";
-              version = "0.8.1";
-              sha256 =
-                "40da7fa2ae84a7e662d169ff375f745ae3d50200bba7262567d75e97a8b44485";
-            };
-            beamDeps  = [ mochiweb_html_2_15_0 ];
-
-            meta = {
-              description = ''Floki is a simple HTML parser that enables search
-                            for nodes using CSS selectors.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/philss/floki";
-            };
-          } // packageOverrides)
-      ) {};
-
-    floki = floki_0_8_1;
-
-    fluxter_0_3_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "fluxter";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "fluxter";
-              version = "0.3.1";
-              sha256 =
-                "0d0fd8497bd83e6c5552c7eff30a87be75da835f55874c3b2c8a36f5cc784337";
-            };
-
-            meta = {
-              description = ''An InfluxDB writer for Elixir'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/lexmag/fluxter";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fluxter = fluxter_0_3_1;
-
-    fn_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "fn";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "fn";
-              version = "1.0.0";
-              sha256 =
-                "1433b353c8739bb28ac0d6826c9f6a05033f158e8c8195faf01a863668b3bbc7";
-            };
-
-            meta = {
-              description = ''More functional Erlang'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/artemeff/fn";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fn = fn_1_0_0;
-
-    fnv_0_3_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, hexate_0_5_1 }:
-          buildMix ({
-            name = "fnv";
-            version = "0.3.2";
-            src = fetchHex {
-              pkg = "fnv";
-              version = "0.3.2";
-              sha256 =
-                "1993ca598fe7ca402f89ed1836c4a5de320330177104ca7eaac230312e069fe5";
-            };
-            beamDeps  = [ hexate_0_5_1 ];
-
-            meta = {
-              longDescription = ''Some string transformation functions for
-                                Elixir. Heavily inspired by ActiveSupport`s
-                                String extensions (Ruby).'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/asaaki/strinx.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fnv = fnv_0_3_2;
-
-    folsom_0_8_3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, bear_0_8_3 }:
-          buildRebar3 ({
-            name = "folsom";
-            version = "0.8.3";
-            src = fetchHex {
-              pkg = "folsom";
-              version = "0.8.3";
-              sha256 =
-                "afaa1ea4cd2a10a32242ac5d76fa7b17e98d202883859136b791d9a383b26820";
-            };
-
-            beamDeps  = [ bear_0_8_3 ];
-
-            meta = {
-              description = ''Erlang based metrics system'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    folsom = folsom_0_8_3;
-
-    folsomite_1_2_8 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, folsom_0_8_3 }:
-          buildRebar3 ({
-            name = "folsomite";
-            version = "1.2.8";
-            src = fetchHex {
-              pkg = "folsomite";
-              version = "1.2.8";
-              sha256 =
-                "9ce64603cdffb8ad55e950142146b3fe05533020906a81aa9c2f524635d813dc";
-            };
-
-            beamDeps  = [ folsom_0_8_3 ];
-
-            meta = {
-              description = ''Blow up your Graphite server with Folsom
-                            metrics'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    folsomite = folsomite_1_2_8;
-
-    forcex_0_4_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_2_1_6,
-          httpoison_0_8_3,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "forcex";
-            version = "0.4.1";
-            src = fetchHex {
-              pkg = "forcex";
-              version = "0.4.1";
-              sha256 =
-                "82d1c772a369dfb8c705beaf1dae55853402cab06c2dfac1b3e056dbc4cb2c21";
-            };
-            beamDeps  = [ timex_2_1_6 httpoison_0_8_3 exjsx_3_2_0 ];
-
-            meta = {
-              description = ''Elixir library for the Force.com / SalesForce /
-                            SFDC REST API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jeffweiss/forcex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    forcex = forcex_0_4_1;
-
-    forecast_io_0_2_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          json_0_3_3,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "forecast_io";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "forecast_io";
-              version = "0.2.2";
-              sha256 =
-                "d76c4f1839cb77038404c3d291e2449495e81469ddf05bef0dc01ed8544917ca";
-            };
-            beamDeps  = [ json_0_3_3 httpotion_2_2_2 ];
-
-            meta = {
-              description = ''Simple wrapper for Forecast.IO API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/r-icarus/forecast_io";
-            };
-          } // packageOverrides)
-      ) {};
-
-    forecast_io = forecast_io_0_2_2;
-
-    fox_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "fox";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "fox";
-              version = "1.0.1";
-              sha256 =
-                "e790c4dec0f840283c3e93825db259075ee45953ff1c29758a2aec22164c6865";
-            };
-
-            meta = {
-              longDescription = ''Collection of support utility functions and
-                                extensions for day-to-day web development with
-                                Elixir. Includes utility extension to strings,
-                                uri, dicts, integers, functions, parallel,
-                                records, random, and time'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/foxnewsnetwork/fox";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fox = fox_1_0_1;
-
-    freegeoip_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "freegeoip";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "freegeoip";
-              version = "0.0.4";
-              sha256 =
-                "6776938ddc1318ee8a34ef6e3a5dcb85013bbb27feeae3c7d65487ff17e2b558";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Simple Elixir wrapper for freegeoip.net HTTP
-                            API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/juljimm/freegeoip-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    freegeoip = freegeoip_0_0_4;
-
-    friendly_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, floki_0_8_1 }:
-          buildMix ({
-            name = "friendly";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "friendly";
-              version = "1.0.1";
-              sha256 =
-                "5bacdeba9a6752613c037f7ffacd4f7185cf9b348b3b41c73497e539bbb17602";
-            };
-            beamDeps  = [ floki_0_8_1 ];
-
-            meta = {
-              longDescription = ''HTML and XML parser with the most friendly
-                                API in Elixir land. CSS selector in, list of
-                                elements out.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/qertoip/friendly/";
-            };
-          } // packageOverrides)
-      ) {};
-
-    friendly = friendly_1_0_1;
-
-    fs_0_9_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "fs";
-            version = "0.9.2";
-            src = fetchHex {
-              pkg = "fs";
-              version = "0.9.2";
-              sha256 =
-                "9a00246e8af58cdf465ae7c48fd6fd7ba2e43300413dfcc25447ecd3bf76f0c1";
-            };
-            compilePorts = true;
-
-            meta = {
-              description = ''FS VXZ Listener'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    fs = fs_0_9_2;
-
-    fsm_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "fsm";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "fsm";
-              version = "0.2.0";
-              sha256 =
-                "dbc7b316d37f258db4f1a897109da14c2c76aa706fe85859532eff2ea30986bf";
-            };
-
-            meta = {
-              description = ''Finite state machine as a functional data
-                            structure.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sasa1977/fsm";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fsm = fsm_0_2_0;
-
-    fugue_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "fugue";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "fugue";
-              version = "0.1.3";
-              sha256 =
-                "de7fcfbbe261e189de894773c9332591a7ab42311972d8685bdb0524057c72f1";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''Extendable testing utilities for Plug'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/fugue";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fugue = fugue_0_1_3;
-
-    fulcrum_0_0_6 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "fulcrum";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "fulcrum";
-              version = "0.0.6";
-              sha256 =
-                "9cddd3906bad693cad791841d19b2be089e064a5f2dd35d340f46e6cd15d7930";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''Fulcrum library for Elixir. The aim is to
-                                present the Fulcrum API as a replacement for an
-                                Ecto Repo. So, instead of Repo.all(Form), you
-                                can write Fulcrum.all(Form). In this way, you
-                                only have to make minor changes to your
-                                controllers, to work with Fulcrum.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pinx/fulcrum";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fulcrum = fulcrum_0_0_6;
-
-    fumanchu_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "fumanchu";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "fumanchu";
-              version = "0.0.1";
-              sha256 =
-                "3ae3f825b598d2af9ace3f9ef25ff23b7724507cddb2dddb2176e4a49afabc89";
-            };
-
-            meta = {
-              description = ''An (almost) spec-compliant Mustache parser
-                            written in Elixir'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    fumanchu = fumanchu_0_0_1;
-
-    funchaku_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "funchaku";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "funchaku";
-              version = "0.1.0";
-              sha256 =
-                "621ed289eadcc5333d11b698c2d7c459143ff11036f3eedc0d79d3df76a5fd43";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir client for the Nu HTML Checker'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sitevalidator/funchaku";
-            };
-          } // packageOverrides)
-      ) {};
-
-    funchaku = funchaku_0_1_0;
-
-    function_decorating_0_0_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "function_decorating";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "function_decorating";
-              version = "0.0.6";
-              sha256 =
-                "8faf5588f98c833a25c9463df27e709cc5c645083a592b1a5add25fbb9e68d9a";
-            };
-
-            meta = {
-              longDescription = ''A function decorator macro for Elixir. Used
-                                mainly for adding log statements to the function
-                                calls.'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/elpddev/elixir-function-decorating";
-            };
-          } // packageOverrides)
-      ) {};
-
-    function_decorating = function_decorating_0_0_6;
-
-    funkspector_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          floki_0_8_1,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "funkspector";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "funkspector";
-              version = "0.0.1";
-              sha256 =
-                "709574d5b5612c6188764b72b36c4eb2b85f3e27d859d1fe5631f31d17e79695";
-            };
-            beamDeps  = [ floki_0_8_1 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Web page inspector for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sitevalidator/funkspector";
-            };
-          } // packageOverrides)
-      ) {};
-
-    funkspector = funkspector_0_0_1;
-
-    fuse_2_3_1 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "fuse";
-            version = "2.3.1";
-            src = fetchHex {
-              pkg = "fuse";
-              version = "2.3.1";
-              sha256 =
-                "580b6279115b74058982d58a898ac9e2e8fdb1884287d565f1ad987cacf1f8e7";
-            };
-
-            meta = {
-              description = ''A Circuit breaker implementation for Erlang'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jlouis/fuse";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fuse = fuse_2_3_1;
-
-    fuzzyurl_0_8_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "fuzzyurl";
-            version = "0.8.1";
-            src = fetchHex {
-              pkg = "fuzzyurl";
-              version = "0.8.1";
-              sha256 =
-                "8229d3d14bcbaf792a550ee68347662efd93022e7fc0221f7681c104b3356900";
-            };
-
-            meta = {
-              longDescription = ''Fuzzyurl is a library for non-strict parsing,
-                                construction, and fuzzy-matching of URLs.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/gamache/fuzzyurl.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fuzzyurl = fuzzyurl_0_8_1;
-
-    fwatch_0_5_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          fs_0_9_2,
-          earmark_0_2_1
-        }:
-          buildMix ({
-            name = "fwatch";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "fwatch";
-              version = "0.5.0";
-              sha256 =
-                "1cd46bcae7074c10a4a4d25989ef20ab515d075d762af8e6c86e8d50c011604c";
-            };
-            beamDeps  = [ fs_0_9_2 earmark_0_2_1 ];
-
-            meta = {
-              description = ''A file watcher for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ryo33/fwatch-ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    fwatch = fwatch_0_5_0;
-
-    game_of_life_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "game_of_life";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "game_of_life";
-              version = "1.0.0";
-              sha256 =
-                "4a7e64722d5841d91152352a19db51476fa3e950d7316aba089870248019958b";
-            };
-
-            meta = {
-              description = ''Distributed Game of Life with Board Server API.
-                            Run it on multiple nodes.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/BeyondScheme/elixir-game_of_life";
-            };
-          } // packageOverrides)
-      ) {};
-
-    game_of_life = game_of_life_1_0_0;
-
-    gardien_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gardien";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "gardien";
-              version = "0.0.3";
-              sha256 =
-                "3b4f69bee6359789e57e6c7efb01358fa94ae52d48b9fced8ee22c8cc99740df";
-            };
-
-            meta = {
-              description = ''Authorization for Phoenix projects'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rpelyush/gardien";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gardien = gardien_0_0_3;
-
-    garph_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "garph";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "garph";
-              version = "0.0.1";
-              sha256 =
-                "32829d25bdc8cf78256c8fdf1e7294707f94b683ec6ce6d1da0a6a8cd4d77c9e";
-            };
-
-            meta = {
-              longDescription = ''Garph is a simple way to implement complex
-                                decision trees by using graphs. It can be used
-                                with plain elixir or beneath a phoenix
-                                project.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/faber-lotto/garph";
-            };
-          } // packageOverrides)
-      ) {};
-
-    garph = garph_0_0_1;
-
-    gatekeeper_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gatekeeper";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "gatekeeper";
-              version = "0.0.1";
-              sha256 =
-                "d1ad9549998054c6ca4d4c7954687937e46b97f2ca4176c7e1d5bfdaf683ac2c";
-            };
-
-            meta = {
-              description = ''An opinionated authorization framework for Elixir
-                            projects.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/austinsmorris/gatekeeper";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gatekeeper = gatekeeper_0_0_1;
-
-    gateway_0_0_6 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3,
-          fox_1_0_1
-        }:
-          buildMix ({
-            name = "gateway";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "gateway";
-              version = "0.0.6";
-              sha256 =
-                "4d0de05b0168ee0cc41c9c38491a4b4641d446f38170ca170d0d7440b0c8f619";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 fox_1_0_1 ];
-
-            meta = {
-              longDescription = ''A generic set of macros and conventions to
-                                build clients to communicate with JSON REST
-                                APIs'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/foxnewsnetwork/gateway";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gateway = gateway_0_0_6;
-
-    gb2260_0_5_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "gb2260";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "gb2260";
-              version = "0.5.0";
-              sha256 =
-                "a3e4fc9435802613f2abc506c480321ac6eafa2eed72b52d85d2c19f8b84ffe7";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              description = ''The Elixir implementation for looking up the
-                            Chinese administrative divisions.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/LcpMarvel/gb2260";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gb2260 = gb2260_0_5_0;
-
-    gealts_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gealts";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "gealts";
-              version = "0.0.1";
-              sha256 =
-                "c23b96986b19801c3428ff961e26e5b7327cd38141c2161951fdba233b71ac2b";
-            };
-
-            meta = {
-              description = ''A crude genetic programming library.'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/0010-IO/gealts";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gealts = gealts_0_0_1;
-
-    gelf_logger_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "gelf_logger";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "gelf_logger";
-              version = "0.2.0";
-              sha256 =
-                "3729e42e3c8d492ec4b18cd7a70783cc2d15811b7096613a60da04743d1f7838";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              longDescription = ''A Logger backend that will generate Graylog
-                                Extended Log Format messages and send them to a
-                                compatible server.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jschniper/gelf_logger";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gelf_logger = gelf_logger_0_2_0;
-
-    gelfex_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          connection_1_0_2
-        }:
-          buildMix ({
-            name = "gelfex";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "gelfex";
-              version = "0.0.1";
-              sha256 =
-                "35ca2deb8221379fc8eb2d4e33888ce590defe91dbbaaa10ef352d6654723279";
-            };
-            beamDeps  = [ poison_1_5_2 connection_1_0_2 ];
-
-            meta = {
-              description = ''Elixir client for logging GELF messages to
-                            Graylog.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/donpinkster/gelfex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gelfex = gelfex_0_0_1;
-
-    gen_delegate_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gen_delegate";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "gen_delegate";
-              version = "1.0.0";
-              sha256 =
-                "9790952ba41538e835613f064774189bd819c79fde8fa09c2ab2bc5143b9efbf";
-            };
-
-            meta = {
-              description = ''Easy delegation of internal function to a
-                            GenServer interface'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zackehh/gen_delegate";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gen_delegate = gen_delegate_1_0_0;
-
-    gen_fsm_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gen_fsm";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "gen_fsm";
-              version = "0.0.4";
-              sha256 =
-                "c92bf89ea8dee0f924362b12b61d3cd02306e77a0e8174354044238329b6506a";
-            };
-
-            meta = {
-              description = ''Elixir wrapper around Erlang`s OTP gen_fsm.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/pavlos/gen_fsm";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gen_fsm_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gen_fsm";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "gen_fsm";
-              version = "0.1.0";
-              sha256 =
-                "273281dbb6cf6171a6fb963538fde67146a11f6025a80113eae4b29822083a62";
-            };
-
-            meta = {
-              description = ''Elixir wrapper around Erlang`s OTP gen_fsm.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/pavlos/gen_fsm";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gen_fsm = gen_fsm_0_1_0;
-
-    gen_listener_tcp_0_3_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "gen_listener_tcp";
-            version = "0.3.2";
-            src = fetchHex {
-              pkg = "gen_listener_tcp";
-              version = "0.3.2";
-              sha256 =
-                "b3c3fbc525ba2b32d947b06811d38470d5b0abe2ca81b623192a71539ed22336";
-            };
-
-            meta = {
-              description = ''Generic TCP Server'';
-
-              homepage = "https://github.com/travelping/gen_listener_tcp";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gen_listener_tcp = gen_listener_tcp_0_3_2;
-
-    gen_mqtt_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gen_mqtt";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "gen_mqtt";
-              version = "0.2.1";
-              sha256 =
-                "3cb7f6099eca4fb46befdc0bee41d21756f50cc263a7234286c8fb9800db197a";
-            };
-
-            meta = {
-              description = ''An Elixir behaviour that makes it possible to
-                            communicate with a MQTT server'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/gausby/gen_mqtt";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gen_mqtt = gen_mqtt_0_2_1;
-
-    gen_retry_0_3_0 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, exconstructor_1_0_2
-        }:
-          buildMix ({
-            name = "gen_retry";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "gen_retry";
-              version = "0.3.0";
-              sha256 =
-                "dca3dd6948ed3683bb1414f7b8131a12dfdc38677fb3730f522c85c6640d73b7";
-            };
-            beamDeps  = [ exconstructor_1_0_2 ];
-
-            meta = {
-              longDescription = ''GenRetry provides utilities for retrying
-                                Elixir functions, with configurable delay and
-                                backoff characteristics.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/appcues/gen_retry";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gen_retry = gen_retry_0_3_0;
-
-    gen_smtp_0_10_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "gen_smtp";
-            version = "0.10.0";
-            src = fetchHex {
-              pkg = "gen_smtp";
-              version = "0.10.0";
-              sha256 =
-                "87baa484762849cdb9f9082fd12449eb02cca059ac6a225f24f436fdf6f683ae";
-            };
-
-            meta = {
-              description = ''A generic Erlang SMTP server/client framework'';
-              license = stdenv.lib.licenses.bsd2;
-              homepage = "https://github.com/Vagabond/gen_smtp";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gen_smtp = gen_smtp_0_10_0;
-
-    gen_smtp_0_9_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "gen_smtp";
-            version = "0.9.0";
-            src = fetchHex {
-              pkg = "gen_smtp";
-              version = "0.9.0";
-              sha256 =
-                "5a05f23a7cbe0c6242d290b445c6bbc0c287e3d0e09d3fcdc6bcd2c8973b6688";
-            };
-
-            meta = {
-              description = ''A generic Erlang SMTP server/client framework'';
-              license = stdenv.lib.licenses.bsd2;
-              homepage = "https://github.com/Vagabond/gen_smtp";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gendex_0_5_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gendex";
-            version = "0.5.1";
-            src = fetchHex {
-              pkg = "gendex";
-              version = "0.5.1";
-              sha256 =
-                "b3eedba31b1a76ab33e6b57689e4312625fafb2667ac7b485df22c05b4c9439f";
-            };
-
-            meta = {
-              description = ''Gendex tells you the most likely gender of a
-                            person based on first name.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/dre1080/gendex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gendex = gendex_0_5_1;
-
-    geocalc_0_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "geocalc";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "geocalc";
-              version = "0.4.0";
-              sha256 =
-                "353bcb1efc5b64fc3f8ca33338e51b47ae5f39b272da79be7f1ff7a6daa8dafb";
-            };
-
-            meta = {
-              description = ''Calculate distance, bearing and more between
-                            latitude/longitude points.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/yltsrc/geocalc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    geocalc = geocalc_0_4_0;
-
-    geohash_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "geohash";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "geohash";
-              version = "0.1.1";
-              sha256 =
-                "ffca8ce73cce9c52aae2000c5f417009b87f23d6e2df69cd6985bc5cc05aa998";
-            };
-
-            meta = {
-              description = ''Geohash encode/decode implementation for
-                            Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/polmuz/elixir-geohash";
-            };
-          } // packageOverrides)
-      ) {};
-
-    geohash = geohash_0_1_1;
-
-    geolite2data_0_0_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "geolite2data";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "geolite2data";
-              version = "0.0.1";
-              sha256 =
-                "ba3f48f86302c8f6214afb7822923fcd6b07470ce83cefa1db474e97eb57df97";
-            };
-
-            meta = {
-              description = ''Periodically fetches the free MaxMind GeoLite2
-                            databases'';
-              license = stdenv.lib.licenses.mpl20;
-              homepage = "https://github.com/potatosalad/erlang-geolite2data";
-            };
-          } // packageOverrides)
-      ) {};
-
-    geolite2data = geolite2data_0_0_1;
-
-    geolix_0_10_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poolboy_1_5_1 }:
-          buildMix ({
-            name = "geolix";
-            version = "0.10.1";
-            src = fetchHex {
-              pkg = "geolix";
-              version = "0.10.1";
-              sha256 =
-                "4f269b8b22f01b78b5e0929a3432679f692ae1ac9b31a0f23ca989efd13f9ae0";
-            };
-            beamDeps  = [ poolboy_1_5_1 ];
-
-            meta = {
-              description = ''MaxMind GeoIP2 database reader/decoder'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/mneudert/geolix";
-            };
-          } // packageOverrides)
-      ) {};
-
-    geolix = geolix_0_10_1;
-
-    getopt_0_8_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "getopt";
-            version = "0.8.2";
-            src = fetchHex {
-              pkg = "getopt";
-              version = "0.8.2";
-              sha256 =
-                "736e6db3679fbbad46373efb96b69509f8e420281635e9d92989af9f0a0483f7";
-            };
-
-            meta = {
-              description = ''Command-line options parser for Erlang'';
-
-              homepage = "https://github.com/jcomellas/getopt";
-            };
-          } // packageOverrides)
-      ) {};
-
-    getopt = getopt_0_8_2;
-
-    gettext_0_10_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gettext";
-            version = "0.10.0";
-            src = fetchHex {
-              pkg = "gettext";
-              version = "0.10.0";
-              sha256 =
-                "c37747dced24fe00cb4245cb348a36556fa82851c10748cfe4c6a0253aea374e";
-            };
-
-            meta = {
-              description = ''Internationalization and localization through
-                            gettext'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/elixir-lang/gettext";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gettext_0_11_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gettext";
-            version = "0.11.0";
-            src = fetchHex {
-              pkg = "gettext";
-              version = "0.11.0";
-              sha256 =
-                "9688cb656d6bc13d174051256784066dde15c4ddae1f0335590a62952780b58b";
-            };
-
-            meta = {
-              description = ''Internationalization and localization through
-                            gettext'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/elixir-lang/gettext";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gettext = gettext_0_11_0;
-
-    gh_webhook_plug_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "gh_webhook_plug";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "gh_webhook_plug";
-              version = "0.0.3";
-              sha256 =
-                "9509e2a82e8b48e7eb3c90cb79602c5fbb12196d36d5e5f8bcd1ce1ac1b442a9";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              longDescription = ''This Plug makes it easy to listen and respond
-                                to Github webhook requests in your Elixir
-                                apps.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/emilsoman/gh_webhook_plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gh_webhook_plug = gh_webhook_plug_0_0_3;
-
-    gibran_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gibran";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "gibran";
-              version = "0.0.2";
-              sha256 =
-                "bdf0eb8c7469ac17e14e898b26fb47d4a360409f7a750bfde5d7d0765f327ca4";
-            };
-
-            meta = {
-              description = ''An Elixir natural language processor.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/abitdodgy/gibran";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gibran = gibran_0_0_2;
-
-    git_cli_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "git_cli";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "git_cli";
-              version = "0.2.0";
-              sha256 =
-                "8e52506764fd6ba5f153d2bcd5635c160ed83a7a4e8834b4e67eee317a37f962";
-            };
-
-            meta = {
-              description = ''A simple interface to Git CLI'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tuvistavie/elixir-git-cli";
-            };
-          } // packageOverrides)
-      ) {};
-
-    git_cli = git_cli_0_2_0;
-
-    gitex_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gitex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "gitex";
-              version = "0.1.0";
-              sha256 =
-                "ac3bfa723cf2f734837fc7d89a330fa80156f96eaa2e6326d2ab60880a804de7";
-            };
-
-            meta = {
-              longDescription = ''Elixir implementation of the Git object
-                                storage, but with the goal to implement the same
-                                semantic with other storage and topics'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/awetzel/gitex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gitex_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gitex";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "gitex";
-              version = "0.2.0";
-              sha256 =
-                "68074becf5e9a01d00096c306a05b023d0107bafca178ff0f043f893b7b95450";
-            };
-
-            meta = {
-              longDescription = ''Elixir implementation of the Git object
-                                storage, but with the goal to implement the same
-                                semantic with other storage and topics'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/awetzel/gitex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gitex = gitex_0_2_0;
-
-    github_oauth_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "github_oauth";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "github_oauth";
-              version = "0.1.1";
-              sha256 =
-                "4e68983af9ed8146a2505ad759cb151c3202471285f07df6132a4acd47aa91f2";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''simple github oauth library'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/lidashuang/github_oauth";
-            };
-          } // packageOverrides)
-      ) {};
-
-    github_oauth = github_oauth_0_1_1;
-
-    github_trend_ex_0_1_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          floki_0_8_1
-        }:
-          buildMix ({
-            name = "github_trend_ex";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "github_trend_ex";
-              version = "0.1.2";
-              sha256 =
-                "019565ad8efe6c25414dcddc6a7fc99e34f0ff457989ec7b5ad03b79b0c8ca8b";
-            };
-            beamDeps  = [ httpoison_0_8_3 floki_0_8_1 ];
-
-            meta = {
-              description = ''Get trend repositories from Github.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KazuCocoa/github_trend_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    github_trend_ex = github_trend_ex_0_1_2;
-
-    gizoogle_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "gizoogle";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "gizoogle";
-              version = "0.0.2";
-              sha256 =
-                "c22d720fc60df8670a194c6ed1fb17fe272a7560b478037aef4a1437331f60e3";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''Uses Gizoogle ta allow you ta drop a rhyme
-                                like a thug n` retrieve links fo` translated
-                                sitez'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/notdevinclark/gizoogle";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gizoogle = gizoogle_0_0_2;
-
-    gl_utils_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gl_utils";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "gl_utils";
-              version = "0.0.1";
-              sha256 =
-                "ae529fef193423baa50c673b3f852e0c3ca7b08a85817be7113615dbdacb53f3";
-            };
-
-            meta = {
-              description = ''All of the Erlang gl macros exposed as normal
-                            functions'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/requnix/gl_utils";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gl_utils = gl_utils_0_0_1;
-
-    glitchylicious_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "glitchylicious";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "glitchylicious";
-              version = "0.0.1";
-              sha256 =
-                "2d7c55bd138722ff810006d4b36873d80ad0473e074ccc377e381c5a88f0a9db";
-            };
-
-            meta = {
-              description = ''Glitching and image corruption library.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/0010-IO/glitchylicious";
-            };
-          } // packageOverrides)
-      ) {};
-
-    glitchylicious = glitchylicious_0_0_1;
-
-    global_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "global";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "global";
-              version = "1.0.0";
-              sha256 =
-                "00b0637bc2d86154af2885807296d4b6616e6b50a2d52c8ce187ddfe317890ee";
-            };
-
-            meta = {
-              description = ''A wrapper for Erlang`s :global module with
-                            documentation.'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/mgwidmann/global";
-            };
-          } // packageOverrides)
-      ) {};
-
-    global = global_1_0_0;
-
-    gm_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gm";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "gm";
-              version = "0.0.2";
-              sha256 =
-                "3dc6e1d336afe370219b8b465a651012168f6fe7b9e9d2b0609b6384e1bcb8f7";
-            };
-
-            meta = {
-              description = ''Idiomatic GraphicsMagick wrapper for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/utkarshkukreti/gm.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gm = gm_0_0_2;
-
-    gmail_0_1_11 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_2_1_6,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "gmail";
-            version = "0.1.11";
-            src = fetchHex {
-              pkg = "gmail";
-              version = "0.1.11";
-              sha256 =
-                "14ff16f5eb2e705762dc383e59a22905f1f53d3f3e9e17615159bac3add91f7a";
-            };
-            beamDeps  = [ timex_2_1_6 poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A simple Gmail REST API client for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/craigp/elixir-gmail";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gmail = gmail_0_1_11;
-
-    gold_0_12_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3,
-          decimal_1_1_2
-        }:
-          buildMix ({
-            name = "gold";
-            version = "0.12.0";
-            src = fetchHex {
-              pkg = "gold";
-              version = "0.12.0";
-              sha256 =
-                "fba43501f6c25116c29358c4b5494de5e078cc516572045ac73a7944b918105b";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 decimal_1_1_2 ];
-
-            meta = {
-              description = ''An Elixir library to interface with the Bitcoin
-                            core JSON-RPC API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/solatis/gold";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gold = gold_0_12_0;
-
-    goldrush_0_1_7 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "goldrush";
-            version = "0.1.7";
-            src = fetchHex {
-              pkg = "goldrush";
-              version = "0.1.7";
-              sha256 =
-                "a94a74cd363ce5f4970ed8242c551ec62b71939db1bbfd2e030142cab25a4ffe";
-            };
-
-            meta = {
-              description = ''Erlang event stream processor'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/DeadZen/goldrush";
-            };
-          } // packageOverrides)
-      ) {};
-
-    goldrush_0_1_8 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "goldrush";
-            version = "0.1.8";
-            src = fetchHex {
-              pkg = "goldrush";
-              version = "0.1.8";
-              sha256 =
-                "ba71e005bbb6ebbc3c510a58b2bd6d3b25a8d091a8e87ac3d33ef10522cdcd51";
-            };
-
-            meta = {
-              description = ''Erlang event stream processor'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/DeadZen/goldrush";
-            };
-          } // packageOverrides)
-      ) {};
-
-    goldrush = goldrush_0_1_8;
-
-    good_enough_geoid_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, csv_1_4_1 }:
-          buildMix ({
-            name = "good_enough_geoid";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "good_enough_geoid";
-              version = "0.0.2";
-              sha256 =
-                "7b2a556206f71e743d77c26a55b60b3282bd799b8254510f62afe2a4ec330746";
-            };
-            beamDeps  = [ csv_1_4_1 ];
-
-            meta = {
-              description = ''Get EGM Geoid heights that are good enough for
-                            some purposes (maybe yours).'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/code-lever/good-enough-geoid-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    good_enough_geoid = good_enough_geoid_0_0_2;
-
-    good_times_1_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "good_times";
-            version = "1.1.1";
-            src = fetchHex {
-              pkg = "good_times";
-              version = "1.1.1";
-              sha256 =
-                "1ecb4524b506a5dde5fa9e2312d6f98249b4b45e49a74cf799a8577b52157b90";
-            };
-
-            meta = {
-              description = ''Expressive and easy to use datetime functions.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/DevL/good_times";
-            };
-          } // packageOverrides)
-      ) {};
-
-    good_times = good_times_1_1_1;
-
-    google_auth_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          module_mocker_0_2_0,
-          cowboy_1_0_4,
-          access_token_extractor_0_1_1
-        }:
-          buildMix ({
-            name = "google_auth";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "google_auth";
-              version = "0.0.2";
-              sha256 =
-                "029f2399456a7b7474635cab36544d35e200ddd7a470a905191de0fc3612adb5";
-            };
-            beamDeps  = [
-                          plug_1_1_5
-                          module_mocker_0_2_0
-                          cowboy_1_0_4
-                          access_token_extractor_0_1_1
-                        ];
-
-            meta = {
-              longDescription = ''Simple Plug to provide google based
-                                authentication. Just pass access_token received
-                                from client side google auth flow and this plug
-                                will get name, emai and picture of user from
-                                google and add it to private inside Plug.Conn'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rohanpujaris/google_auth";
-            };
-          } // packageOverrides)
-      ) {};
-
-    google_auth = google_auth_0_0_2;
-
-    google_books_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "google_books";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "google_books";
-              version = "0.0.2";
-              sha256 =
-                "d20b5ca090df63cf4ed32d7257dcdad780bd89ca93bd644721c9d4d696e5734d";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A simple wrapper for Google Books API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nithinbekal/google_books.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    google_books = google_books_0_0_2;
-
-    google_sheets_2_0_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          sweet_xml_0_6_1,
-          httpoison_0_8_3,
-          hackney_1_6_0
-        }:
-          buildMix ({
-            name = "google_sheets";
-            version = "2.0.5";
-            src = fetchHex {
-              pkg = "google_sheets";
-              version = "2.0.5";
-              sha256 =
-                "aeaaab3e2df75289cf14740a76b014652fb77a5ef95be3921fc36f4165812682";
-            };
-            beamDeps  = [ sweet_xml_0_6_1 httpoison_0_8_3 hackney_1_6_0 ];
-
-            meta = {
-              description = ''OTP application for fetching and polling Google
-                            spreadsheet data in CSV format.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/GrandCru/GoogleSheets";
-            };
-          } // packageOverrides)
-      ) {};
-
-    google_sheets = google_sheets_2_0_5;
-
-    goomoji_translator_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "goomoji_translator";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "goomoji_translator";
-              version = "0.0.2";
-              sha256 =
-                "b794dcccc306c4c5712895456c28012e1b9f8e8496392bafcfa9c1fc2c251f82";
-            };
-
-            meta = {
-              description = ''Used to change goomoji codes into normal emoji
-                            codes'';
-              license = stdenv.lib.licenses.asl20;
-              homepage =
-                "https://github.com/azranel/goomoji-translator_elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    goomoji_translator = goomoji_translator_0_0_2;
-
-    goth_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          json_web_token_0_2_5,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "goth";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "goth";
-              version = "0.0.3";
-              sha256 =
-                "0bbf59ae842dc4518cf42123b0fb0d0255bcb72ea37c8ec13bab2efe2339ccc3";
-            };
-            beamDeps  = [ poison_1_5_2 json_web_token_0_2_5 httpoison_0_8_3
-                      ];
-
-            meta = {
-              longDescription = ''A simple library to generate and retrieve
-                                Oauth2 tokens for use with Google Cloud Service
-                                accounts.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/peburrows/goth";
-            };
-          } // packageOverrides)
-      ) {};
-
-    goth_0_1_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          json_web_token_0_2_5,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "goth";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "goth";
-              version = "0.1.3";
-              sha256 =
-                "64a26a9b0682757acd59838eaa08f76b394c7fa086b5106c7b3f8682a8416d05";
-            };
-            beamDeps  = [ poison_2_1_0 json_web_token_0_2_5 httpoison_0_8_3
-                      ];
-
-            meta = {
-              longDescription = ''A simple library to generate and retrieve
-                                Oauth2 tokens for use with Google Cloud Service
-                                accounts.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/peburrows/goth";
-            };
-          } // packageOverrides)
-      ) {};
-
-    goth = goth_0_1_3;
-
-    gproc_0_3_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "gproc";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "gproc";
-              version = "0.3.1";
-              sha256 =
-                "3c449925a5cbf57cc40d13c6c282bc1080b5ed3bad97e1acdbe969fd63a65fce";
-            };
-
-            meta = {
-              longDescription = ''Gproc is a process dictionary for Erlang,
-                                which provides a number of useful features
-                                beyond what the built-in dictionary has: * Use
-                                any term as a process alias * Register a process
-                                under several aliases * Non-unique properties
-                                can be registered simultaneously by many
-                                processes * QLC and match specification
-                                interface for efficient queries on the
-                                dictionary * Await registration, let`s you wait
-                                until a process registers itself * Atomically
-                                give away registered names and properties to
-                                another process * Counters, and aggregated
-                                counters, which automatically maintain the total
-                                of all counters with a given name * Global
-                                registry, with all the above functions applied
-                                to a network of nodes'';
-              license = stdenv.lib.licenses.epl10;
-              homepage = "https://github.com/uwiger/gproc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gproc_0_5_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "gproc";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "gproc";
-              version = "0.5.0";
-              sha256 =
-                "5bc0fa4e999a6665b92ce57a7f12d7e9d1c26bfc39b0f657994be05cd3818b18";
-            };
-
-            meta = {
-              longDescription = ''Gproc is a process dictionary for Erlang,
-                                which provides a number of useful features
-                                beyond what the built-in dictionary has: * Use
-                                any term as a process alias * Register a process
-                                under several aliases * Non-unique properties
-                                can be registered simultaneously by many
-                                processes * QLC and match specification
-                                interface for efficient queries on the
-                                dictionary * Await registration, let`s you wait
-                                until a process registers itself * Atomically
-                                give away registered names and properties to
-                                another process * Counters, and aggregated
-                                counters, which automatically maintain the total
-                                of all counters with a given name * Global
-                                registry, with all the above functions applied
-                                to a network of nodes'';
-              license = stdenv.lib.licenses.epl10;
-              homepage = "https://github.com/uwiger/gproc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gproc = gproc_0_5_0;
-
-    graphex_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "graphex";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "graphex";
-              version = "0.2.1";
-              sha256 =
-                "9279db515110de152479903488b1df6ad2de409f5b48d00fac55211bfab2e728";
-            };
-
-            meta = {
-              description = ''A task graph execution library for elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/stocks29/graphex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    graphex = graphex_0_2_1;
-
-    graphixir_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "graphixir";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "graphixir";
-              version = "0.0.1";
-              sha256 =
-                "8d355dc2ac225c2d74f15707908103ca051c74ef1668abf5240f6d3582750518";
-            };
-
-            meta = {
-              description = ''Graphite framework for elixir'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    graphixir = graphixir_0_0_1;
-
-    graphmath_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "graphmath";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "graphmath";
-              version = "1.0.2";
-              sha256 =
-                "6be38a7f4c6167f2c766ee74fd2642c8d98412c4b2bd4c1238cad493f30f4524";
-            };
-
-            meta = {
-              description = ''Graphmath is a library for doing 2D and 3D
-                            mathemtical operations.'';
-              license = with stdenv.lib.licenses; [ free wtfpl free ];
-              homepage = "https://github.com/crertel/graphmath";
-            };
-          } // packageOverrides)
-      ) {};
-
-    graphmath = graphmath_1_0_2;
-
-    graphql_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "graphql";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "graphql";
-              version = "0.2.0";
-              sha256 =
-                "2469337ef663fb63922e67beafa2a50d56de14176c699758a855210140c269df";
-            };
-
-            meta = {
-              description = ''GraphQL Elixir implementation'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/graphql-elixir/graphql";
-            };
-          } // packageOverrides)
-      ) {};
-
-    graphql_0_3_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "graphql";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "graphql";
-              version = "0.3.1";
-              sha256 =
-                "ed756b2ee62d3e33c6eef6ffc4bf1a7184c1b5cd022a4550b085768eefa8f4a2";
-            };
-
-            meta = {
-              description = ''GraphQL Elixir implementation'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/graphql-elixir/graphql";
-            };
-          } // packageOverrides)
-      ) {};
-
-    graphql = graphql_0_3_1;
-
-    graphql_ex_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "graphql_ex";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "graphql_ex";
-              version = "0.0.1";
-              sha256 =
-                "51884d5275d354b915db03eb390e858ead88b3f3e4f699b2fa7dc8eb442bc343";
-            };
-             meta = {    };
-          } // packageOverrides)
-      ) {};
-
-    graphql_ex = graphql_ex_0_0_1;
-
-    gravatar_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gravatar";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "gravatar";
-              version = "0.1.0";
-              sha256 =
-                "4fab4a0313312d4319496662b55f25d3aabaa740ef3d084456425db8c9bdb4fd";
-            };
-
-            meta = {
-              description = ''Gravatar URLs generator'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pilu/gravatar";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gravatar = gravatar_0_1_0;
-
-    gravatarify_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gravatarify";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "gravatarify";
-              version = "0.1.0";
-              sha256 =
-                "d11f416611ed802d72e57f649c74f17c6dbf0e751da87e355cbfd14d4047d17e";
-            };
-
-            meta = {
-              description = ''Gravatar images with an ease'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/shiroyasha/gravatarify";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gravatarify = gravatarify_0_1_0;
-
-    gray_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "gray";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "gray";
-              version = "0.0.2";
-              sha256 =
-                "95b071e0742ed10298c5d0ff027aec3eaadf3a807ed5e88bd4d2861a5220be62";
-            };
-
-            meta = {
-              longDescription = ''Package to help you operate with [gray codes]
-                                (https://en.wikipedia.org/wiki/Gray_code)'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hashd/gray";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gray = gray_0_0_2;
-
-    greenhouse_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_2_1_6,
-          httpoison_0_8_3,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "greenhouse";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "greenhouse";
-              version = "0.0.1";
-              sha256 =
-                "7b32075492339d6ef03572891287689d48d938f36e19601433f47b4ad2f75b5d";
-            };
-            beamDeps  = [ timex_2_1_6 httpoison_0_8_3 exjsx_3_2_0 ];
-
-            meta = {
-              description = ''Elixir library for access the Greenhouse Harvest
-                            API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jeffweiss/greenhouse";
-            };
-          } // packageOverrides)
-      ) {};
-
-    greenhouse = greenhouse_0_0_1;
-
-    growl_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "growl";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "growl";
-              version = "0.0.2";
-              sha256 =
-                "0b43fba8d18349b5bd507b457016298cfafea4a50831e8ce944569b45d3bceb8";
-            };
-
-            meta = {
-              longDescription = ''# Growl A simple wrapper to the command line
-                                interface for the [Growl OSX notification
-                                system](http://growl.info/). ## Setup ```Elixir
-                                defp deps do [ {:growl, github:
-                                \"zhallett/growl\"} ] ``` ## Usage Within the
-                                script you would like to create a `growl`
-                                notification, make the module call as follows:
-                                ```Elixir Growl.notify(\"This is a
-                                notification\") ``` The API accepts messages in
-                                a string format, as well as a list. If the first
-                                argument is a list, the first object is the
-                                title line, with subsequent lines being the body
-                                of the notification. ```Elixir
-                                Growl.notify([\"Example\", \"This is an example
-                                notification\"]) ``` would give the following
-                                notification: ![Forced
-                                Update](https://github.com/zhallett/growl/blob/master/multi_line_notification.png?raw=true
-                                \"Multi-Line notification Screenshot\")) ##
-                                Contributing 1. Fork it 2. Create your feature
-                                branch (`git checkout -b my-new-feature`) 3.
-                                Commit your changes (`git commit -am `Add some
-                                feature``) 4. Push to the branch (`git push
-                                origin my-new-feature`) 5. Create new Pull
-                                Request '';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/zhallett/growl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    growl = growl_0_0_2;
-
-    gtfs_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, csv_1_4_1 }:
-          buildMix ({
-            name = "gtfs";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "gtfs";
-              version = "0.3.0";
-              sha256 =
-                "a77116b8886f3fa56fb1c9e722b7d62939ff85a38fa99a24daef5a26a0c939a5";
-            };
-            beamDeps  = [ csv_1_4_1 ];
-
-            meta = {
-              description = ''A library for parsing a GTFS folder into a
-                            hierarchy of structured data'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bhelx/gtfs";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gtfs = gtfs_0_3_0;
-
-    guardsafe_0_5_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "guardsafe";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "guardsafe";
-              version = "0.5.0";
-              sha256 =
-                "e6808876c07f21d78c3935c0607791cd2ceec40f3b855fa03774e8087bcfc277";
-            };
-
-            meta = {
-              description = ''Macros expanding into code that can be safely
-                            used in guard clauses.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/DevL/guardsafe";
-            };
-          } // packageOverrides)
-      ) {};
-
-    guardsafe = guardsafe_0_5_0;
-
-    gun_1_0_0_pre_1 = callPackage
-      (
-        {
-          buildErlangMk,
-          packageOverrides ? {},
-          fetchHex,
-          ranch_1_1_0,
-          cowlib_1_3_0
-        }:
-          buildErlangMk ({
-            name = "gun";
-            version = "1.0.0-pre.1";
-            src = fetchHex {
-              pkg = "gun";
-              version = "1.0.0-pre.1";
-              sha256 =
-                "53aca19e83b15127aa4e299435823b367d5ba6797852984af6c2b9b493be9d56";
-            };
-            beamDeps  = [ ranch_1_1_0 cowlib_1_3_0 ];
-
-            meta = {
-              description = ''Asynchronous SPDY, HTTP and Websocket client.'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    gun = gun_1_0_0_pre_1;
-
-    guri_0_2_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          websocket_client_1_1_0,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "guri";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "guri";
-              version = "0.2.1";
-              sha256 =
-                "7fa0f2ebff111c368895798041d982f00eec34589d93f10bb323bb5a09e1f888";
-            };
-            beamDeps  = [ websocket_client_1_1_0 poison_1_5_2 httpoison_0_8_3
-                      ];
-
-            meta = {
-              description = ''Automate tasks and keep everyone in the loop with
-                            Guri'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/elvio/guri";
-            };
-          } // packageOverrides)
-      ) {};
-
-    guri = guri_0_2_1;
-
-    gurka_0_1_7 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "gurka";
-            version = "0.1.7";
-            src = fetchHex {
-              pkg = "gurka";
-              version = "0.1.7";
-              sha256 =
-                "b46c96446f46a53411a3b45d126ec19e724178818206ca1d2dd16abff28df6b5";
-            };
-
-            meta = {
-              description = ''Erlang implementation of Cucumber'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    gurka = gurka_0_1_7;
-
-    gutenex_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, imagineer_0_2_1 }:
-          buildMix ({
-            name = "gutenex";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "gutenex";
-              version = "0.2.0";
-              sha256 =
-                "5c8ab30570d7ddcd6cdb2eeaf1d3eba4db83f6ef955f4030f05cf476cbce79fa";
-            };
-            beamDeps  = [ imagineer_0_2_1 ];
-
-            meta = {
-              description = ''PDF Generation in Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/SenecaSystems/gutenex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    gutenex = gutenex_0_2_0;
-
-    hackney_1_5_7 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          ssl_verify_fun_1_1_0,
-          mimerl_1_0_2,
-          metrics_1_0_1,
-          idna_1_2_0,
-          certifi_0_4_0
-        }:
-          buildMix ({
-            name = "hackney";
-            version = "1.5.7";
-            src = fetchHex {
-              pkg = "hackney";
-              version = "1.5.7";
-              sha256 =
-                "627ed3f048b950d2dbbec918519f89f498a2136d74ca8180c15fad412b9bc869";
-            };
-            beamDeps  = [
-                          ssl_verify_fun_1_1_0
-                          mimerl_1_0_2
-                          metrics_1_0_1
-                          idna_1_2_0
-                          certifi_0_4_0
-                        ];
-
-            meta = {
-              description = ''simple HTTP client'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/benoitc/hackney";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hackney_1_6_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          ssl_verify_fun_1_1_0,
-          mimerl_1_0_2,
-          metrics_1_0_1,
-          idna_1_2_0,
-          certifi_0_4_0
-        }:
-          buildMix ({
-            name = "hackney";
-            version = "1.6.0";
-            src = fetchHex {
-              pkg = "hackney";
-              version = "1.6.0";
-              sha256 =
-                "8b517f17c794ab611815042d24e149daafbd898d63aac8baf6750b890261c716";
-            };
-            beamDeps  = [
-                          ssl_verify_fun_1_1_0
-                          mimerl_1_0_2
-                          metrics_1_0_1
-                          idna_1_2_0
-                          certifi_0_4_0
-                        ];
-
-            meta = {
-              description = ''simple HTTP client'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/benoitc/hackney";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hackney = hackney_1_6_0;
-
-    haikunator_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "haikunator";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "haikunator";
-              version = "1.0.1";
-              sha256 =
-                "60692df3a559df14bac6a8c115091977f0a45eea55123a5cb37e3d763cbe92e8";
-            };
-
-            meta = {
-              longDescription = ''Generate Heroku-like memorable random names
-                                to use in your apps or anywhere else.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/knrz/Haikunator";
-            };
-          } // packageOverrides)
-      ) {};
-
-    haikunator = haikunator_1_0_1;
-
-    hairnet_1_0_0 = callPackage
-      (
-        {
-          buildRebar3, packageOverrides ? {}, fetchHex, base64url_0_0_1
-        }:
-          buildRebar3 ({
-            name = "hairnet";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "hairnet";
-              version = "1.0.0";
-              sha256 =
-                "b3f15cdb7d9e6183a5cde401ded684c88cc2ea09dca75facf82b5281f4596606";
-            };
-
-            beamDeps  = [ base64url_0_0_1 ];
-
-            meta = {
-              description = ''An Erlang library wrapping AES-GCM (AEAD) crypto
-                            in a Fernet-like interface'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/ferd/hairnet/";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hairnet = hairnet_1_0_0;
-
-    happy_1_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "happy";
-            version = "1.1.1";
-            src = fetchHex {
-              pkg = "happy";
-              version = "1.1.1";
-              sha256 =
-                "3b2ee083ea1d68063df4fb0561eb462703e6188d9352d0763b458ee6ce385060";
-            };
-
-            meta = {
-              longDescription = ''Happy path programming in elixir. Alternative
-                                to ok_jose, elixir`s 1.2 `with` keyword and that
-                                kind of stuff.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/vic/happy";
-            };
-          } // packageOverrides)
-      ) {};
-
-    happy = happy_1_1_1;
-
-    harakiri_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "harakiri";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "harakiri";
-              version = "1.0.1";
-              sha256 =
-                "2c3bc7300cbded03bb1b01ebe67e74507a5350c79fe08276a2a17359a6c28d79";
-            };
-
-            meta = {
-              description = ''Help applications do things to themselves.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rubencaro/harakiri";
-            };
-          } // packageOverrides)
-      ) {};
-
-    harakiri = harakiri_1_0_1;
-
-    harvest_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "harvest";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "harvest";
-              version = "0.0.3";
-              sha256 =
-                "a9b52f37959a97e876603da5a34a0683e9e4a8e534fb7c672175602768fc812a";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Harvest Time Tracking API wrapper written in
-                            Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/luishurtado/harvest";
-            };
-          } // packageOverrides)
-      ) {};
-
-    harvest = harvest_0_0_3;
-
-    hash_n_cache_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "hash_n_cache";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "hash_n_cache";
-              version = "0.0.2";
-              sha256 =
-                "3cd95f04cd6017894b1829307e568a72a3d42c6b70379c37b86c80ab0a6f68ec";
-            };
-
-            meta = {
-              longDescription = ''A simple utility to hash an erlang term, and
-                                cache the term in ETS with the hash as the key
-                                and the term as the value.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/elbow-jason/hash_n_cache";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hash_n_cache = hash_n_cache_0_0_2;
-
-    hash_ring_0_4_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "hash_ring";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "hash_ring";
-              version = "0.4.0";
-              sha256 =
-                "97f7b4252e660ae3c66fd163277267d3445cfea097342027fe6cc3512fdafd16";
-            };
-
-            meta = {
-              description = ''Consistent Hash Ring'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sile/hash_ring";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hash_ring = hash_ring_0_4_0;
-
-    hashids_2_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "hashids";
-            version = "2.0.2";
-            src = fetchHex {
-              pkg = "hashids";
-              version = "2.0.2";
-              sha256 =
-                "3dae063908483454ec691e61da580a056997b4c9affcf12b2330937ee48e6bf0";
-            };
-
-            meta = {
-              description = ''Hashids lets you obfuscate numerical identifiers
-                            via reversible mapping.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/alco/hashids-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hashids = hashids_2_0_2;
-
-    heap_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "heap";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "heap";
-              version = "1.0.0";
-              sha256 =
-                "39ddb188337ef43dd46e1920abba0bb88821a8cc19cc8688aa36045a58f733d0";
-            };
-
-            meta = {
-              description = ''Heap data structure and tools'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    heap = heap_1_0_0;
-
-    heapq_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "heapq";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "heapq";
-              version = "0.0.1";
-              sha256 =
-                "60bc20c109360c6899203f4015fae42c9e5a4f82707f76b064e10d6da135d4fd";
-            };
-
-            meta = {
-              description = ''A Heap-based Priority Queue Implementation in
-                            Elixir.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/takscape/elixir-heapq";
-            };
-          } // packageOverrides)
-      ) {};
-
-    heapq = heapq_0_0_1;
-
-    hedwig_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "hedwig";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "hedwig";
-              version = "0.1.0";
-              sha256 =
-                "75139dc3ce629dcb703a17d053acf84da0787ab398e20566e10152cdf1ccad9c";
-            };
-
-            meta = {
-              description = ''An adapter-based chat bot framework'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hedwig-im/hedwig";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hedwig_1_0_0_rc3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, gproc_0_5_0 }:
-          buildMix ({
-            name = "hedwig";
-            version = "1.0.0-rc3";
-            src = fetchHex {
-              pkg = "hedwig";
-              version = "1.0.0-rc3";
-              sha256 =
-                "846347c6ae462e98b8c8c8a60f0bef8ee2c4ffa28463a0df030ae8a938cc773f";
-            };
-            beamDeps  = [ gproc_0_5_0 ];
-
-            meta = {
-              description = ''An adapter-based chat bot framework'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hedwig-im/hedwig";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hedwig = hedwig_1_0_0_rc3;
-
-    hermes_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, chronos_1_5_1 }:
-          buildMix ({
-            name = "hermes";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "hermes";
-              version = "0.1.0";
-              sha256 =
-                "f28880392a8b1b027c58c387870099f854f842fdeb1f7a0ba94a0b1ca07643bf";
-            };
-            beamDeps  = [ chronos_1_5_1 ];
-
-            meta = {
-              longDescription = ''Is a mailer component for sending & recieving
-                                emails. The name comes from the greek messanger
-                                of the gods.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nurugger07/hemes";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hermes = hermes_0_1_0;
-
-    hex2bin_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "hex2bin";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "hex2bin";
-              version = "1.0.0";
-              sha256 =
-                "e7012d1d9aadd26e680f0983d26fb8923707f05fac9688f19f530fa3795e716f";
-            };
-
-            meta = {
-              description = ''Hex string/binary conversion utilities'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/aesedepece/hex2bin";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hex2bin = hex2bin_1_0_0;
-
-    hex_math_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "hex_math";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "hex_math";
-              version = "0.0.2";
-              sha256 =
-                "1dd9284c402d06bcd63ccb8df6022342defb2de4bd666066ed409e3b3c47761b";
-            };
-
-            meta = {
-              description = ''Library for working with hex grids.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tjcelaya/hex_math";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hex_math = hex_math_0_0_2;
-
-    hex_searcher_1_0_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          table_rex_0_4_0,
-          ibrowse_4_2_2,
-          httpotion_2_2_2,
-          floki_0_7_2
-        }:
-          buildMix ({
-            name = "hex_searcher";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "hex_searcher";
-              version = "1.0.0";
-              sha256 =
-                "26d2097aa0f950c67ea55822e15cfec26976f76a60ec51d758af9d60126b3538";
-            };
-            beamDeps  = [
-                          table_rex_0_4_0
-                          ibrowse_4_2_2
-                          httpotion_2_2_2
-                          floki_0_7_2
-                        ];
-
-            meta = {
-              description = ''Search hex packages from terminal'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nguyenvinhlinh/HexSearcher";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hex_searcher = hex_searcher_1_0_0;
-
-    hexate_0_5_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "hexate";
-            version = "0.5.1";
-            src = fetchHex {
-              pkg = "hexate";
-              version = "0.5.1";
-              sha256 =
-                "b146d4c48380bef3eee74e16bc243f91783f72502759f1f18460b6a8da441270";
-            };
-
-            meta = {
-              description = ''A simple module for working with hex strings in
-                            Elixir. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rjsamson/hexate";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hexate = hexate_0_5_1;
-
-    hexbot_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "hexbot";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "hexbot";
-              version = "0.0.1";
-              sha256 =
-                "f9b8c9805468f7b93fa88440f1e75d8ed2fc3b7d11a68c455abf81efcc31590c";
-            };
-
-            meta = {
-              description = ''A hubot-like bot framework for chatops.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tombell/hexbot";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hexbot = hexbot_0_0_1;
-
-    hexdocset_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, floki_0_0_5 }:
-          buildMix ({
-            name = "hexdocset";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "hexdocset";
-              version = "1.0.0";
-              sha256 =
-                "846ed02411d759710f0f72a401d81a67cbc181421e461d3246540b3d471044be";
-            };
-            beamDeps  = [ floki_0_0_5 ];
-
-            meta = {
-              description = ''Convert hex doc to Dash.app`s docset format.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/yesmeck/hexdocset";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hexdocset = hexdocset_1_0_0;
-
-    hipchat_logger_backend_0_1_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "hipchat_logger_backend";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "hipchat_logger_backend";
-              version = "0.1.2";
-              sha256 =
-                "211bb8e174858c7858c76f992fa7b19d9373a29d7f501b774517534af17bf590";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A logger backend for posting errors to
-                            HipChat.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/fbcouch/hipchat_logger_backend";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hipchat_logger_backend = hipchat_logger_backend_0_1_2;
-
-    hlc_2_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "hlc";
-            version = "2.0.0";
-            src = fetchHex {
-              pkg = "hlc";
-              version = "2.0.0";
-              sha256 =
-                "460ac04654e920e068d1fd17aec1f78b1879cc42ac7f3def7497f0d1cc5056ad";
-            };
-
-            meta = {
-              description = ''hybrid logical clock'';
-
-              homepage = "https://github.com/barrel-db/hlc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hlc = hlc_2_0_0;
-
-    hoax_0_11_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "hoax";
-            version = "0.11.2";
-            src = fetchHex {
-              pkg = "hoax";
-              version = "0.11.2";
-              sha256 =
-                "fca0d9056201e671719736b4f86fe2b8da6f8b42d88b28b1bcb2b307586928a8";
-            };
-
-            meta = {
-              description = ''Yet another mocking library for Erlang'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/xenolinguist/hoax";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hoax = hoax_0_11_2;
-
-    holidays_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "holidays";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "holidays";
-              version = "0.1.1";
-              sha256 =
-                "098f192bd02f1fd68fd22ae69dc608a03e89a4c814c3c3901d56c8f697cda622";
-            };
-
-            meta = {
-              description = ''Library for finding which holidays fall on given
-                            dates.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/CoderDennis/holidays";
-            };
-          } // packageOverrides)
-      ) {};
-
-    holidays = holidays_0_1_1;
-
-    honeybadger_0_5_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          plug_1_1_5,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "honeybadger";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "honeybadger";
-              version = "0.5.0";
-              sha256 =
-                "a19b507955a229276af2af14b4a324d4b352d17b468e9c29215e1637bd493c42";
-            };
-            beamDeps  = [ poison_2_1_0 plug_1_1_5 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''Elixir client, Plug and error_logger for
-                                integrating with the Honeybadger.io exception
-                                tracker'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/honeybadger-io/honeybadger-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    honeybadger = honeybadger_0_5_0;
-
-    hooks_1_1_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "hooks";
-            version = "1.1.1";
-            src = fetchHex {
-              pkg = "hooks";
-              version = "1.1.1";
-              sha256 =
-                "6834ad3a2a624a5ffd49e9cb146ff49ded423b67f31905b122d24128c72c5c85";
-            };
-
-            meta = {
-              description = ''generic plugin & hook system'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/barrel-db/hooks";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hooks = hooks_1_1_1;
-
-    hound_1_0_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "hound";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "hound";
-              version = "1.0.0";
-              sha256 =
-                "433c541048096b864f4a346231967d63f4acfcc32fd280f80505b95a2f9738a4";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Webdriver library for integration testing and
-                            browser automation'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/HashNuke/hound";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hound = hound_1_0_0;
-
-    hpack_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "hpack";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "hpack";
-              version = "1.0.0";
-              sha256 =
-                "092fe46ef1c59bf2d7d47f627520321eb6965861db1516c95ef19d484958aea5";
-            };
-
-            meta = {
-              longDescription = ''Implementation of the
-                                [HPack](https://http2.github.io/http2-spec/compression.html)
-                                protocol, a compression format for efficiently
-                                representing HTTP header fields, to be used in
-                                HTTP/2.'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    hpack = hpack_1_0_0;
-
-    html_builder_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "html_builder";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "html_builder";
-              version = "0.1.1";
-              sha256 =
-                "7cba41180419a26e2fb8ff1c075efcdf31e4079e06144d58623c32c1de3835d9";
-            };
-
-            meta = {
-              description = ''generate html in elixir with simple data
-                            structures'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/html_builder";
-            };
-          } // packageOverrides)
-      ) {};
-
-    html_builder = html_builder_0_1_1;
-
-    html_entities_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "html_entities";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "html_entities";
-              version = "0.3.0";
-              sha256 =
-                "93811511394efeee964f6e7df3b72b37ad39c1d185030c3561aebf1c15c4d995";
-            };
-
-            meta = {
-              description = ''Decode and encode HTML entities in a string.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/martinsvalin/html_entities";
-            };
-          } // packageOverrides)
-      ) {};
-
-    html_entities = html_entities_0_3_0;
-
-    html_sanitize_ex_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, mochiweb_2_12_2 }:
-          buildMix ({
-            name = "html_sanitize_ex";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "html_sanitize_ex";
-              version = "0.1.2";
-              sha256 =
-                "e6937b25832bcdccb8b547632428de7fe034199c871f037311d4340c345348a7";
-            };
-            beamDeps  = [ mochiweb_2_12_2 ];
-
-            meta = {
-              description = ''HTML sanitizer for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rrrene/html_sanitize_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    html_sanitize_ex_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, mochiweb_2_12_2 }:
-          buildMix ({
-            name = "html_sanitize_ex";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "html_sanitize_ex";
-              version = "1.0.0";
-              sha256 =
-                "5bf36372dafe900da8d9613502ce4efad3d885af5beb0d298386da0b6a1dbbc6";
-            };
-            beamDeps  = [ mochiweb_2_12_2 ];
-
-            meta = {
-              description = ''HTML sanitizer for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rrrene/html_sanitize_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    html_sanitize_ex = html_sanitize_ex_1_0_0;
-
-    html_to_pdf_0_5_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "html_to_pdf";
-            version = "0.5.2";
-            src = fetchHex {
-              pkg = "html_to_pdf";
-              version = "0.5.2";
-              sha256 =
-                "7adcde56c221e8f2447837d3b5983775f53071035d9ce9f179635a5e94c795e3";
-            };
-
-            meta = {
-              description = ''Super simple library for turning raw HTML or
-                            webpages into beautiful PDFs.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mattweldon/html_to_pdf";
-            };
-          } // packageOverrides)
-      ) {};
-
-    html_to_pdf = html_to_pdf_0_5_2;
-
-    http2_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "http2";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "http2";
-              version = "0.0.2";
-              sha256 =
-                "fd8354d9c7800223ffcb66c2c359a40a5be3809ea4e3b2046fee253a5d049250";
-            };
-
-            meta = {
-              description = ''HPACK implementation for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kiennt/hpack";
-            };
-          } // packageOverrides)
-      ) {};
-
-    http2 = http2_0_0_2;
-
-    http_digex_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "http_digex";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "http_digex";
-              version = "0.0.1";
-              sha256 =
-                "43bca23be7809bd4e2a5efa23d294117457192c98bd1cdf6b90b61285bc4109a";
-            };
-
-            meta = {
-              description = ''A module to create basic digest http auth
-                            header'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/techgaun/http_digex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    http_digex = http_digex_0_0_1;
-
-    http_params_serializer_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "http_params_serializer";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "http_params_serializer";
-              version = "0.1.1";
-              sha256 =
-                "7d6c2184814b7232130a3193c9832827c5eeaaae928155d96863ec426da6ce69";
-            };
-
-            meta = {
-              longDescription = ''A small library to serialize deeply nested
-                                datastructures into HTTP parameters that most
-                                backends do understand'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/ruby2elixir/http_params_serializer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    http_params_serializer = http_params_serializer_0_1_1;
-
-    http_proxy_1_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          hackney_1_6_0,
-          exjsx_3_2_0,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "http_proxy";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "http_proxy";
-              version = "1.0.2";
-              sha256 =
-                "157f7a75f41f9f1532244c0eb1587fa638518c2e9b0f95aaaf3f6d1489ec94e3";
-            };
-            beamDeps  = [ plug_1_1_5 hackney_1_6_0 exjsx_3_2_0 cowboy_1_0_4
-                      ];
-
-            meta = {
-              description = ''Multi port HTTP Proxy and support record/play
-                            request.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KazuCocoa/http_proxy";
-            };
-          } // packageOverrides)
-      ) {};
-
-    http_proxy = http_proxy_1_0_2;
-
-    http_router_0_0_8 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          xml_builder_0_0_8,
-          poison_1_5_2,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "http_router";
-            version = "0.0.8";
-            src = fetchHex {
-              pkg = "http_router";
-              version = "0.0.8";
-              sha256 =
-                "9a2844cc8c880621ca2689e0056f50e2c19e3b0e87a8e2524489459b377a8dc3";
-            };
-            beamDeps  = [
-                          xml_builder_0_0_8 poison_1_5_2 plug_1_1_5 cowboy_1_0_4
-                        ];
-
-            meta = {
-              longDescription = ''HTTP Router with various macros to assist in
-                                developing your application and organizing your
-                                code'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/sugar-framework/elixir-http-router";
-            };
-          } // packageOverrides)
-      ) {};
-
-    http_router = http_router_0_0_8;
-
-    http_signature_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "http_signature";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "http_signature";
-              version = "1.1.0";
-              sha256 =
-                "3e6036d9c29289ed0e35dd6f41821dec9061ce20aad3c4d35dcbae8c84eb3baa";
-            };
-
-            meta = {
-              description = ''Erlang and Elixir implementations of Joyent`s
-                            HTTP Signature Scheme.'';
-              license = stdenv.lib.licenses.mpl20;
-              homepage =
-                "https://github.com/potatosalad/erlang-http_signature";
-            };
-          } // packageOverrides)
-      ) {};
-
-    http_signature = http_signature_1_1_0;
-
-    httparrot_0_3_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          exjsx_3_2_0,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "httparrot";
-            version = "0.3.4";
-            src = fetchHex {
-              pkg = "httparrot";
-              version = "0.3.4";
-              sha256 =
-                "05dc3a30de92a5fc284c937339131c478d57b125cb3d65e97b99bc0fce3d3452";
-            };
-            beamDeps  = [ exjsx_3_2_0 cowboy_1_0_4 ];
-
-            meta = {
-              description = '' HTTP Request & Response Server. An incomplete
-                            clone of http://httpbin.org '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/edgurgel/httparrot";
-            };
-          } // packageOverrides)
-      ) {};
-
-    httparrot = httparrot_0_3_4;
-
-    httpehaviour_0_9_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, hackney_1_6_0 }:
-          buildMix ({
-            name = "httpehaviour";
-            version = "0.9.0";
-            src = fetchHex {
-              pkg = "httpehaviour";
-              version = "0.9.0";
-              sha256 =
-                "54e93dcf0e62d392781078cf029478194797fe67c98dffe99a91b5d5ec33e4e5";
-            };
-            beamDeps  = [ hackney_1_6_0 ];
-
-            meta = {
-              description = ''Yet Yet Another HTTP client for Elixir powered by
-                            hackney'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/edgurgel/httpehaviour";
-            };
-          } // packageOverrides)
-      ) {};
-
-    httpehaviour = httpehaviour_0_9_0;
-
-    httplacebo_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "httplacebo";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "httplacebo";
-              version = "0.1.0";
-              sha256 =
-                "0f1873e65bb97227d43b5c6fc2138f33ef83f90cd068d9a9aee06ed8ef44a7ec";
-            };
-
-            meta = {
-              description = ''The `do nothing` HTTP client for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/guilleiguaran/httplacebo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    httplacebo = httplacebo_0_1_0;
-
-    httpoison_0_8_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, hackney_1_5_7 }:
-          buildMix ({
-            name = "httpoison";
-            version = "0.8.2";
-            src = fetchHex {
-              pkg = "httpoison";
-              version = "0.8.2";
-              sha256 =
-                "00738e34fe2e254199c0324ef60b8150a7b2ced66c2296c4df8425c8e9b8d5c0";
-            };
-            beamDeps  = [ hackney_1_5_7 ];
-
-            meta = {
-              description = ''Yet Another HTTP client for Elixir powered by
-                            hackney'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/edgurgel/httpoison";
-            };
-          } // packageOverrides)
-      ) {};
-
-    httpoison_0_8_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, hackney_1_6_0 }:
-          buildMix ({
-            name = "httpoison";
-            version = "0.8.3";
-            src = fetchHex {
-              pkg = "httpoison";
-              version = "0.8.3";
-              sha256 =
-                "74f2103e6eff47dcc2b288e37f42629874df3e4a4dce5fbc9dea508de4785e06";
-            };
-            beamDeps  = [ hackney_1_6_0 ];
-
-            meta = {
-              description = ''Yet Another HTTP client for Elixir powered by
-                            hackney'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/edgurgel/httpoison";
-            };
-          } // packageOverrides)
-      ) {};
-
-    httpoison = httpoison_0_8_3;
-
-    httpotion_2_2_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, ibrowse_4_2_2 }:
-          buildMix ({
-            name = "httpotion";
-            version = "2.2.2";
-            src = fetchHex {
-              pkg = "httpotion";
-              version = "2.2.2";
-              sha256 =
-                "47c6b6c535592547366fe16bfa175385e7de09eecbb2dc6b0f2cea526ef45fbd";
-            };
-            beamDeps  = [ ibrowse_4_2_2 ];
-
-            meta = {
-              description = ''Fancy HTTP client for Elixir, based on
-                            ibrowse.'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/myfreeweb/httpotion";
-            };
-          } // packageOverrides)
-      ) {};
-
-    httpotion_3_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, ibrowse_4_2_2 }:
-          buildMix ({
-            name = "httpotion";
-            version = "3.0.0";
-            src = fetchHex {
-              pkg = "httpotion";
-              version = "3.0.0";
-              sha256 =
-                "ca6364eaa9737ba305307e17d0277c80e57003fc0934b99f6a5048d7a4f932b8";
-            };
-            beamDeps  = [ ibrowse_4_2_2 ];
-
-            meta = {
-              description = ''Fancy HTTP client for Elixir, based on
-                            ibrowse.'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/myfreeweb/httpotion";
-            };
-          } // packageOverrides)
-      ) {};
-
-    httpotion = httpotion_3_0_0;
-
-    huami_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "huami";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "huami";
-              version = "0.0.1";
-              sha256 =
-                "c12f38e24e7b085422e5f57c991792cd5045bd083574b1cca0458d8f2dfae40d";
-            };
-
-            meta = {
-              description = ''A CLI version of flower password writing in
-                            Elixir. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/yesmeck/huami.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    huami = huami_0_0_1;
-
-    huex_0_5_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          json_0_3_3,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "huex";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "huex";
-              version = "0.5.0";
-              sha256 =
-                "e5fe37fdc4299567922697516df8ade2f64d2c1573dc9a253e5037f66576858f";
-            };
-            beamDeps  = [ json_0_3_3 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir client for Philips Hue connected light
-                            bulbs'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/xavier/huex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    huex = huex_0_5_0;
-
-    hufflehoff_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "hufflehoff";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "hufflehoff";
-              version = "0.0.1";
-              sha256 =
-                "f10c6ffceb3b6d161ff5aa4dfeb8fe77affabf073f0bc7059d8296a4256093f2";
-            };
-
-            meta = {
-              description = ''A Huffman encoder/decoder for HTTP/2 headers.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sideshow/hufflehoff";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hufflehoff = hufflehoff_0_0_1;
-
-    huffman_1_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "huffman";
-            version = "1.1.1";
-            src = fetchHex {
-              pkg = "huffman";
-              version = "1.1.1";
-              sha256 =
-                "6983b0eebb29e6f7b4e971cf46e04ebcf52f073ca97f7ed29b5c0de68d58c496";
-            };
-
-            meta = {
-              description = ''Huffman encoding and decoding.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/SenecaSystems/huffman";
-            };
-          } // packageOverrides)
-      ) {};
-
-    huffman = huffman_1_1_1;
-
-    hulaaki_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "hulaaki";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "hulaaki";
-              version = "0.0.2";
-              sha256 =
-                "d1bea8de565a4ca49f0e362c37597c3e8744b0323a7e9104cf09ac555e713ebe";
-            };
-
-            meta = {
-              description = ''An MQTT 3.1.1 client library written in
-                            Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/suvash/hulaaki";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hulaaki = hulaaki_0_0_2;
-
-    hyde_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exredis_0_2_4 }:
-          buildMix ({
-            name = "hyde";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "hyde";
-              version = "0.0.1";
-              sha256 =
-                "d4424adbf13e2aecafa38f73318885f56bd70eb8e5fede22858af8cf76e2475e";
-            };
-            beamDeps  = [ exredis_0_2_4 ];
-
-            meta = {
-              longDescription = ''Feature Toggles for Elixir - Basic Redis
-                                backed feature toggles for individual users or
-                                named groups'';
-
-              homepage = "https://github.com/beautifulcode/hyde";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hyde = hyde_0_0_1;
-
-    hydra_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          porcelain_2_0_1,
-          poison_1_5_2,
-          plug_1_1_5,
-          httpoison_0_8_3,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "hydra";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "hydra";
-              version = "0.0.1";
-              sha256 =
-                "ea35ec756dfaa0390ba53a0313bb50b924517f746922a98e3489bddf8e066b7d";
-            };
-            beamDeps  = [
-                          porcelain_2_0_1
-                          poison_1_5_2
-                          plug_1_1_5
-                          httpoison_0_8_3
-                          cowboy_1_0_4
-                        ];
-
-            meta = {
-              description = ''A multi-headed beast: API gateway, request cache,
-                            and data transformations'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/doomspork/hydra";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hydra = hydra_0_0_1;
-
-    hypermedia_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "hypermedia";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "hypermedia";
-              version = "0.0.1";
-              sha256 =
-                "595c174772c45206f293f61b338105e61d96dba1436b07ed5b3b12eb07842721";
-            };
-
-            meta = {
-              description = ''A Elixir library for creating HAL/JSON Hypermedia
-                            APIs'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jurriaan/hypermedia";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hypermedia = hypermedia_0_0_1;
-
-    hypermock_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, meck_0_8_4 }:
-          buildMix ({
-            name = "hypermock";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "hypermock";
-              version = "0.0.2";
-              sha256 =
-                "dbb7ad24f651a3bb99475f39f9b0d6b7e9b3f959d8a80577ea6c803a5b548516";
-            };
-            beamDeps  = [ meck_0_8_4 ];
-
-            meta = {    };
-          } // packageOverrides)
-      ) {};
-
-    hypermock = hypermock_0_0_2;
-
-    hypex_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "hypex";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "hypex";
-              version = "1.1.0";
-              sha256 =
-                "32e153bee0dabea8941940711c9ed9a7e15c50fc3d474c5b75b14359fb408363";
-            };
-
-            meta = {
-              description = ''Fast HyperLogLog implementation for
-                            Elixir/Erlang'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zackehh/hypex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    hypex = hypex_1_1_0;
-
-    i18n_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          tipo_0_0_3,
-          exprintf_0_1_6
-        }:
-          buildMix ({
-            name = "i18n";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "i18n";
-              version = "0.0.2";
-              sha256 =
-                "d3fbaccb502540565a9659fd21cff930b12ee698bfdac6d3df6487e2c101891f";
-            };
-            beamDeps  = [ tipo_0_0_3 exprintf_0_1_6 ];
-
-            meta = {
-              description = ''i18n locale translations helpers'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nathanfaucett/ex-i18n";
-            };
-          } // packageOverrides)
-      ) {};
-
-    i18n = i18n_0_0_2;
-
-    iam_role_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, jsone_1_2_3 }:
-          buildMix ({
-            name = "iam_role";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "iam_role";
-              version = "1.0.0";
-              sha256 =
-                "acfc5d5c5130a36dfb2b460f790bd9e32bf39274f17333bd65c28d216983761d";
-            };
-            beamDeps  = [ jsone_1_2_3 ];
-
-            meta = {
-              description = ''Application for automatically fetching AWS IAM
-                            role security credentials.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tsharju/iam_role";
-            };
-          } // packageOverrides)
-      ) {};
-
-    iam_role = iam_role_1_0_0;
-
-    ibrowse_4_2_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "ibrowse";
-            version = "4.2.2";
-            src = fetchHex {
-              pkg = "ibrowse";
-              version = "4.2.2";
-              sha256 =
-                "b800cb7442bcc852c6832821e9d0a7098ff626e1415bddaeff4596640b31c0ae";
-            };
-
-            meta = {
-              description = ''Erlang HTTP client application'';
-              license = with stdenv.lib.licenses; [ free bsd3 ];
-              homepage = "https://github.com/cmullaparthi/ibrowse";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ibrowse = ibrowse_4_2_2;
-
-    identicon_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "identicon";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "identicon";
-              version = "0.2.0";
-              sha256 =
-                "38b11bb3ed2c76956fcbf8673be8cbf6570ef8a85d92b51ce45304ed0368d88c";
-            };
-
-            meta = {
-              description = ''Elixir library for generating 5x5 symmetrical
-                            identicons'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/rbishop/identicon";
-            };
-          } // packageOverrides)
-      ) {};
-
-    identicon = identicon_0_2_0;
-
-    idfk_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_2_1_6 }:
-          buildMix ({
-            name = "idfk";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "idfk";
-              version = "0.1.0";
-              sha256 =
-                "dab162904f49c852db763719364d5b3e6d75bfc319fe3d8f5179c6bb656acf6d";
-            };
-            beamDeps  = [ timex_2_1_6 ];
-
-            meta = {
-              description = ''The library of Elixir chunks of code that didn`t
-                            clearly belong anywhere else.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/amorphid/idfk";
-            };
-          } // packageOverrides)
-      ) {};
-
-    idfk = idfk_0_1_0;
-
-    idna_1_0_2 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "idna";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "idna";
-              version = "1.0.2";
-              sha256 =
-                "a5d645e307aa4f67efe31682f720b7eaf431ab148b3d6fb66cbaf6314499610f";
-            };
-
-            meta = {
-              description = ''A pure Erlang IDNA implementation'';
-
-              homepage = "https://github.com/benoitc/erlang-idna";
-            };
-          } // packageOverrides)
-      ) {};
-
-    idna_1_0_3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "idna";
-            version = "1.0.3";
-            src = fetchHex {
-              pkg = "idna";
-              version = "1.0.3";
-              sha256 =
-                "357d489a51112db4f216034406834f9172b3c0ff5a12f83fb28b25ca271541d1";
-            };
-
-            meta = {
-              description = ''A pure Erlang IDNA implementation'';
-
-              homepage = "https://github.com/benoitc/erlang-idna";
-            };
-          } // packageOverrides)
-      ) {};
-
-    idna_1_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "idna";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "idna";
-              version = "1.1.0";
-              sha256 =
-                "d399393011cd2fa93761d70199b604b2f055bcf6cb45cac922870e122d2eb2fe";
-            };
-
-            meta = {
-              description = ''A pure Erlang IDNA implementation'';
-
-              homepage = "https://github.com/benoitc/erlang-idna";
-            };
-          } // packageOverrides)
-      ) {};
-
-    idna_1_2_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "idna";
-            version = "1.2.0";
-            src = fetchHex {
-              pkg = "idna";
-              version = "1.2.0";
-              sha256 =
-                "1d724cdafb66397e61774ead242c9b725de7033cde8ea98fa4a91e64ac5ef5b3";
-            };
-
-            meta = {
-              description = ''A pure Erlang IDNA implementation'';
-
-              homepage = "https://github.com/benoitc/erlang-idna";
-            };
-          } // packageOverrides)
-      ) {};
-
-    idna_2_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "idna";
-            version = "2.0.0";
-            src = fetchHex {
-              pkg = "idna";
-              version = "2.0.0";
-              sha256 =
-                "881226593c79eb4b2bf7106a3f2995c70ee6ffbb371c8d1bc71f2869686089f4";
-            };
-
-            meta = {
-              description = ''A pure Erlang IDNA implementation'';
-
-              homepage = "https://github.com/benoitc/erlang-idna";
-            };
-          } // packageOverrides)
-      ) {};
-
-    idna = idna_2_0_0;
-
-    ieex_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ieex";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "ieex";
-              version = "0.0.3";
-              sha256 =
-                "c448a86c7979bc75f98e9eb32473041975fb633bc9715f1965958e4a9dbbd1ff";
-            };
-
-            meta = {
-              description = ''Biblioteca para validacao de Inscricao
-                            Estadual'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/edmaarcosta/IEEx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ieex = ieex_0_0_3;
-
-    imagineer_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, apex_0_3_7 }:
-          buildMix ({
-            name = "imagineer";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "imagineer";
-              version = "0.2.1";
-              sha256 =
-                "31a8430b89770fdd6ec9d96a6e3d9ea92296dfc57e98bb812cd376e60f2e70f8";
-            };
-            beamDeps  = [ apex_0_3_7 ];
-
-            meta = {
-              description = ''Image processing in Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/SenecaSystems/imagineer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    imagineer = imagineer_0_2_1;
-
-    imgex_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "imgex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "imgex";
-              version = "0.1.0";
-              sha256 =
-                "783e78b0624b87d1431d8acaa790998ac75d8654312e5799eff7b12956246c49";
-            };
-
-            meta = {
-              description = ''Unofficial client library for generating imgix
-                            URLs in Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ianwalter/imgex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    imgex = imgex_0_1_0;
-
-    immortal_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "immortal";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "immortal";
-              version = "0.2.0";
-              sha256 =
-                "4387bffa9e2c25b8bfed0bf9d80fd918861c6a4098b853138d2398d5b6f24be2";
-            };
-
-            meta = {
-              description = ''Helpers for fault-tolerant OTP applications'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/danielberkompas/immortal";
-            };
-          } // packageOverrides)
-      ) {};
-
-    immortal = immortal_0_2_0;
-
-    inaka_aleppo_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "inaka_aleppo";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "inaka_aleppo";
-              version = "1.0.0";
-              sha256 =
-                "06754b98702607ec742d8315b2e79188b38fbb60e3f1a1582de5673e230f74d4";
-            };
-
-            meta = {
-              description = ''Aleppo: ALternative Erlang Pre-ProcessOr'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/inaka/aleppo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    inaka_aleppo = inaka_aleppo_1_0_0;
-
-    inaka_mixer_0_1_5 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "inaka_mixer";
-            version = "0.1.5";
-            src = fetchHex {
-              pkg = "inaka_mixer";
-              version = "0.1.5";
-              sha256 =
-                "37af35b1c17a94a0cb643cba23cba2ca68d6fe51c3ad8337629d4c3c017cc912";
-            };
-
-            meta = {
-              description = ''Mix in public functions from external modules'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/inaka/mixer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    inaka_mixer = inaka_mixer_0_1_5;
-
-    indefinite_article_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "indefinite_article";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "indefinite_article";
-              version = "0.0.1";
-              sha256 =
-                "cb59d3373c5ff05693f74f445e7807d1fe5c38b9cfa6bcedfd9efedb4a0861ae";
-            };
-
-            meta = {
-              description = ''Returns you the indefinite article of a string
-                            (*a* banana, *an* apple, etc)'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/Buyapowa/indefinite_article";
-            };
-          } // packageOverrides)
-      ) {};
-
-    indefinite_article = indefinite_article_0_0_1;
-
-    inet_cidr_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "inet_cidr";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "inet_cidr";
-              version = "1.0.1";
-              sha256 =
-                "4809be88cf1a436b819acec2b07a33e7ad24beb0cf9b6c8a94217aea7d298d8a";
-            };
-
-            meta = {
-              longDescription = ''Classless Inter-Domain Routing (CIDR) library
-                                for Elixir Compatible with Erlang`s :inet module
-                                and support for IPv4 and IPv6'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/cobenian/inet_cidr";
-            };
-          } // packageOverrides)
-      ) {};
-
-    inet_cidr = inet_cidr_1_0_1;
-
-    inflect_0_0_11 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "inflect";
-            version = "0.0.11";
-            src = fetchHex {
-              pkg = "inflect";
-              version = "0.0.11";
-              sha256 =
-                "36636ccb31b1ca9f34d95af8fff97aa68d34d925c5128dc8f04fc77764fa208a";
-            };
-
-            meta = {
-              description = ''case sensitive regular expression for splitting
-                            strings'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nathanfaucett/ex-inflect";
-            };
-          } // packageOverrides)
-      ) {};
-
-    inflect = inflect_0_0_11;
-
-    inflections_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, inflector_0_0_11 }:
-          buildMix ({
-            name = "inflections";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "inflections";
-              version = "0.0.1";
-              sha256 =
-                "f1fe5f35313eb1bd6bfc3a0d5e3bd169a31bfbf09021b9928ecfff3052731efc";
-            };
-            beamDeps  = [ inflector_0_0_11 ];
-
-            meta = {
-              description = ''inflector helpers for managing different
-                            locales'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nathanfaucett/ex-inflections";
-            };
-          } // packageOverrides)
-      ) {};
-
-    inflections = inflections_0_0_1;
-
-    inflections_en_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          inflector_0_0_11,
-          inflections_0_0_1
-        }:
-          buildMix ({
-            name = "inflections_en";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "inflections_en";
-              version = "0.0.1";
-              sha256 =
-                "28c8e2f52974879499ea039bc8bf369b75e978f4ee60de8641e7efdef575bd77";
-            };
-            beamDeps  = [ inflector_0_0_11 inflections_0_0_1 ];
-
-            meta = {
-              description = ''inflector english rules'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nathanfaucett/ex-inflections_en";
-            };
-          } // packageOverrides)
-      ) {};
-
-    inflections_en = inflections_en_0_0_1;
-
-    inflections_es_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          inflector_0_0_11,
-          inflections_0_0_1
-        }:
-          buildMix ({
-            name = "inflections_es";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "inflections_es";
-              version = "0.0.1";
-              sha256 =
-                "28c6323f851d2287f77d7dd0b888e9888f5f785ff105a356078aff4a46544495";
-            };
-            beamDeps  = [ inflector_0_0_11 inflections_0_0_1 ];
-
-            meta = {
-              description = ''inflector spanish rules'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nathanfaucett/ex-inflections_es";
-            };
-          } // packageOverrides)
-      ) {};
-
-    inflections_es = inflections_es_0_0_1;
-
-    inflector_0_0_11 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "inflector";
-            version = "0.0.11";
-            src = fetchHex {
-              pkg = "inflector";
-              version = "0.0.11";
-              sha256 =
-                "4abd1e267d0df9536d3f54c579d74a0951fbbc6100e4b034a0905d99296a9e08";
-            };
-
-            meta = {
-              description = ''simple rule based inflector'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nathanfaucett/ex-inflector";
-            };
-          } // packageOverrides)
-      ) {};
-
-    inflector = inflector_0_0_11;
-
-    inflex_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "inflex";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "inflex";
-              version = "0.3.0";
-              sha256 =
-                "2cb9896a2572eb0989d92d7d98653829e079ccb804aa1b98beafff7678275852";
-            };
-
-            meta = {
-              description = ''An Elixir library for handling word
-                            inflections.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nurugger07/inflex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    inflex_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "inflex";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "inflex";
-              version = "1.0.0";
-              sha256 =
-                "549ebe94420051cdf845028372d1f89c8fbdd7b5f5ddd51e0619b827b7be6793";
-            };
-
-            meta = {
-              description = ''An Elixir library for handling word
-                            inflections.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nurugger07/inflex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    inflex_1_4_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "inflex";
-            version = "1.4.1";
-            src = fetchHex {
-              pkg = "inflex";
-              version = "1.4.1";
-              sha256 =
-                "d316fecd9db83db97828bbcbdb689f5c412e3aaf658329cf479cad5baa856c92";
-            };
-
-            meta = {
-              description = ''An Elixir library for handling word
-                            inflections.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nurugger07/inflex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    inflex_1_5_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "inflex";
-            version = "1.5.0";
-            src = fetchHex {
-              pkg = "inflex";
-              version = "1.5.0";
-              sha256 =
-                "d48609edc5bb7901b95dcc00c1e38f259e8006904865a028954ccfe9336a3384";
-            };
-
-            meta = {
-              description = ''An Elixir library for handling word
-                            inflections.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nurugger07/inflex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    inflex = inflex_1_5_0;
-
-    ini_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ini";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "ini";
-              version = "0.0.1";
-              sha256 =
-                "96b86cf664ca8247cdad166c29251ef4ddc156f16f906bdf2ea1c37831fbf804";
-            };
-
-            meta = {
-              description = ''Module to parse ini files.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nathanjohnson320/ini";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ini = ini_0_0_1;
-
-    insert_ordered_set_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "insert_ordered_set";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "insert_ordered_set";
-              version = "0.0.1";
-              sha256 =
-                "78ebc47d780aa1e8fabce7d4f4d5f3b9c90e1443514ad830b32f7c5184f87634";
-            };
-
-            meta = {
-              longDescription = ''Provides a data structure with the following
-                                properties: 1. Contains unique values. 2. O(1)
-                                manipulation operations (e.g. insert, delete) by
-                                using an underlying Map. 3. Preserves insertion
-                                order when converting to a list. Allows reverse
-                                insertion ordering.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/localshred/insert_ordered_set";
-            };
-          } // packageOverrides)
-      ) {};
-
-    insert_ordered_set = insert_ordered_set_0_0_1;
-
-    insight_0_1_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "insight";
-            version = "0.1.4";
-            src = fetchHex {
-              pkg = "insight";
-              version = "0.1.4";
-              sha256 =
-                "97b4bfd6f0b595b3febca7ea2f0bdf5cb429c18309f7acc8a2a308847aaded07";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir package for consuming any Insight-powered
-                            Bitcoin explorer.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/stampery/elixir-insight";
-            };
-          } // packageOverrides)
-      ) {};
-
-    insight = insight_0_1_4;
-
-    insights_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "insights";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "insights";
-              version = "0.0.2";
-              sha256 =
-                "92794ab7ba760a7b17ffac1f98ecff1a848148d15a1d9fabe58b0150767cddbd";
-            };
-
-            meta = {
-              longDescription = ''Insights is a wrapper for sending and data
-                                capture for keen.io or others adapters'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/gullitmiranda/insights";
-            };
-          } // packageOverrides)
-      ) {};
-
-    insights = insights_0_0_2;
-
-    instrumental_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "instrumental";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "instrumental";
-              version = "0.1.3";
-              sha256 =
-                "26d3c6dcd2b04d716266afa9d12ba193fc1f038d21c67178e50f77ef1671acec";
-            };
-
-            meta = {
-              description = ''An Elixir client for Instrumental
-                            (http://instrumentalapp.com).'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/undeadlabs/instrumental-ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    instrumental = instrumental_0_1_3;
-
-    ip2location_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poolboy_1_5_1 }:
-          buildMix ({
-            name = "ip2location";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ip2location";
-              version = "0.1.0";
-              sha256 =
-                "77e059326d6c3f1348c53b3486dfa59d2b0ad90c999f51da86cabbb2d0099685";
-            };
-            beamDeps  = [ poolboy_1_5_1 ];
-
-            meta = {
-              description = ''An Elixir library for the IP2Location
-                            database.'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/nazipov/ip2location-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ip2location = ip2location_0_1_0;
-
-    ipa_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ipa";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "ipa";
-              version = "0.0.3";
-              sha256 =
-                "ff365e6ec32ae9159877fb464c6754387fe97168e15a0ce7de346106ec6d75a6";
-            };
-
-            meta = {
-              longDescription = ''A pale, hoppy library for working with IP
-                                Addresses. Validate and transform IPv4 addresses
-                                and subnet masks.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bordeltabernacle/IPA";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ipa = ipa_0_0_3;
-
-    iplist_1_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          earmark_0_2_1,
-          cidr_1_0_0
-        }:
-          buildMix ({
-            name = "iplist";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "iplist";
-              version = "1.0.2";
-              sha256 =
-                "fae5b5accc8b7a7618c2d1fbf94607ce6e79ca3b493da6643dbb1bd92be30bd4";
-            };
-            beamDeps  = [ earmark_0_2_1 cidr_1_0_0 ];
-
-            meta = {
-              description = ''Library and CLI tool to expand IPv4 ranges to
-                            lists of IP numbers'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/digitalronin/iplist";
-            };
-          } // packageOverrides)
-      ) {};
-
-    iplist = iplist_1_0_2;
-
-    iptools_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "iptools";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "iptools";
-              version = "0.0.2";
-              sha256 =
-                "33bf27bc72094bbc4e67c664c979e5cebfe17c5369c91fc2e2610cc726b252db";
-            };
-
-            meta = {
-              description = ''A set of functions for validating and
-                            transforming IPv4 addresses'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/blackfist/iptools";
-            };
-          } // packageOverrides)
-      ) {};
-
-    iptools = iptools_0_0_2;
-
-    is_chinese_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "is_chinese";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "is_chinese";
-              version = "1.0.0";
-              sha256 =
-                "907da2e2995c104bb89152d276c41337b6c4075aa866663e3fb7ebe48da8ff62";
-            };
-
-            meta = {
-              description = ''Check whether string is Chinese'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/lidashuang/is_chinese";
-            };
-          } // packageOverrides)
-      ) {};
-
-    is_chinese = is_chinese_1_0_0;
-
-    is_email_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "is_email";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "is_email";
-              version = "0.0.2";
-              sha256 =
-                "fefcf35b6ca506cd7d2e3d1d850b49e9a2545180db46e291845aa9fd54812d82";
-            };
-
-            meta = {
-              description = ''Loosely check whether a given string is an
-                            email'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/johnotander/is_email";
-            };
-          } // packageOverrides)
-      ) {};
-
-    is_email = is_email_0_0_2;
-
-    is_up_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpotion_2_2_2 }:
-          buildMix ({
-            name = "is_up";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "is_up";
-              version = "1.0.2";
-              sha256 =
-                "e73713422ef99f9788d130eec1fd880ea15cc5e023137658263fe94bd12a56e1";
-            };
-            beamDeps  = [ httpotion_2_2_2 ];
-
-            meta = {
-              description = ''Check whether a given url is up.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/johnotander/is_up";
-            };
-          } // packageOverrides)
-      ) {};
-
-    is_up = is_up_1_0_2;
-
-    is_url_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "is_url";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "is_url";
-              version = "0.0.1";
-              sha256 =
-                "4c3f86302e0c675ece51a247838f64ce88335008035463c8c20b21667399d413";
-            };
-
-            meta = {
-              description = ''Validate a url'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/johnotander/is_url";
-            };
-          } // packageOverrides)
-      ) {};
-
-    is_url = is_url_0_0_1;
-
-    isaac_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "isaac";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "isaac";
-              version = "0.0.1";
-              sha256 =
-                "e43c136931b8003def7cf8a9eaa49e9713ab91a76729c667591e0a4c03511fa1";
-            };
-
-            meta = {
-              longDescription = ''Isaac is an elixir module for the [ISAAC
-                                Stream
-                                Cipher](http://burtleburtle.net/bob/rand/isaacafa.html)
-                                It wraps around https://github.com/arianvp/ISAAC
-                                which is a port of the ISAAC stream cipher to
-                                platforms which have words bigger than 32 bits.
-                                '';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/arianvp/elixir-isaac";
-            };
-          } // packageOverrides)
-      ) {};
-
-    isaac = isaac_0_0_1;
-
-    isbndbex_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "isbndbex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "isbndbex";
-              version = "0.1.0";
-              sha256 =
-                "5c9fe6840a3beadb78a3b5f8d243475258d9d117ef0976cceb0d4c464a4cf4f4";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir wrapper for isbndb rest api.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rcoedo/isbndbex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    isbndbex = isbndbex_0_1_0;
-
-    iso3166_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          floki_0_8_1
-        }:
-          buildMix ({
-            name = "iso3166";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "iso3166";
-              version = "0.0.4";
-              sha256 =
-                "fde520eac52e491e0492a42a8f5f00b03435733e81f35e58685998e9142c4215";
-            };
-            beamDeps  = [ poison_2_1_0 floki_0_8_1 ];
-
-            meta = {
-              longDescription = ''A library that provides a list of ISO3166
-                                country names, two letter abbreviations, three
-                                letter abbreviations, and functions for
-                                converting between them.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/joelpm/iso3166ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    iso3166 = iso3166_0_0_4;
-
-    janrain_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "janrain";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "janrain";
-              version = "0.0.1";
-              sha256 =
-                "35299ee088dfd5647e7a5cd129d5011f2d6319fe53045b2a8ce3ddf70792cc78";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''A small library to help with Janrain logins.
-                                Probably most useful when used in conjuction
-                                with Phoenix and Guardian.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rickr/janrain";
-            };
-          } // packageOverrides)
-      ) {};
-
-    janrain = janrain_0_0_1;
-
-    japan_municipality_code_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "japan_municipality_code";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "japan_municipality_code";
-              version = "1.0.1";
-              sha256 =
-                "b03879f6a716f04579d19c9be818b0e3780b61ab2e79057ed3a7f64e576b5378";
-            };
-
-            meta = {
-              description = ''Elixir Library for Japan municipality key
-                            converting'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hykw/japan_municipality_key";
-            };
-          } // packageOverrides)
-      ) {};
-
-    japan_municipality_code = japan_municipality_code_1_0_1;
-
-    jc_1_2_0 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          ranch_1_1_0,
-          lager_3_0_1,
-          jwalk_1_1_0,
-          jsone_1_2_0
-        }:
-          buildRebar3 ({
-            name = "jc";
-            version = "1.2.0";
-            src = fetchHex {
-              pkg = "jc";
-              version = "1.2.0";
-              sha256 =
-                "cbc043e4d0e6b1ccd6279426babcfd73ac186f9ddf780c0bff24f7e586aa3a6c";
-            };
-
-            beamDeps  = [ ranch_1_1_0 lager_3_0_1 jwalk_1_1_0 jsone_1_2_0 ];
-
-            meta = {
-              description = ''A simple, distributed, in-memory caching
-                            system'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jr0senblum/jc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jc = jc_1_2_0;
-
-    jequalson_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "jequalson";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "jequalson";
-              version = "0.1.1";
-              sha256 =
-                "5ed0a54b8aaa457cb441b3baafc508d8be4fc90db29a0cc27980eeeb65db18ac";
-            };
-
-            meta = {
-              description = ''Helpers for testing JSON responses.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/dm1try/jequalson";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jequalson = jequalson_0_1_1;
-
-    jesse_0_1_3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, jsx_2_8_0 }:
-          buildRebar3 ({
-            name = "jesse";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "jesse";
-              version = "0.1.3";
-              sha256 =
-                "679702baf154d8e078c60b8eb4f2b7f53304e24deea03b32cbff350772afba4d";
-            };
-
-            beamDeps  = [ jsx_2_8_0 ];
-
-            meta = {
-              description = ''jesse'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/for-GET/jesse";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jesse = jesse_0_1_3;
-
-    jira_0_0_8 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "jira";
-            version = "0.0.8";
-            src = fetchHex {
-              pkg = "jira";
-              version = "0.0.8";
-              sha256 =
-                "71c19ef23ea7351a2dc7b8f14d0c5794ff00382fa43a88a2235ec9c1741a73cb";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Elixir client library for JIRA + JIRA Agile /
-                            Greenhopper'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jeffweiss/jira";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jira = jira_0_0_8;
-
-    jobspool_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, uuid_1_1_4 }:
-          buildMix ({
-            name = "jobspool";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "jobspool";
-              version = "0.1.0";
-              sha256 =
-                "f4ba59374f844fe8ac018606748b120b7860c0f568364514d1dc87eb42829aad";
-            };
-            beamDeps  = [ uuid_1_1_4 ];
-
-            meta = {
-              description = ''Simple Elixir jobs pool'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/flupke/exjobspool";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jobspool = jobspool_0_1_0;
-
-    joken_0_16_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          plug_1_1_5,
-          jose_1_7_5
-        }:
-          buildMix ({
-            name = "joken";
-            version = "0.16.1";
-            src = fetchHex {
-              pkg = "joken";
-              version = "0.16.1";
-              sha256 =
-                "a804bfd350f61688f6ce8d9898bc17fd4b59990c054debeea44234d53048d93d";
-            };
-            beamDeps  = [ poison_1_5_2 plug_1_1_5 jose_1_7_5 ];
-
-            meta = {
-              description = ''JWT Library for Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/bryanjos/joken";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jolt_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "jolt";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "jolt";
-              version = "0.1.0";
-              sha256 =
-                "922498b234a1b0a813255d3abf5caa64a9afdc41eb4d8d71f87d71c41fe792e8";
-            };
-            beamDeps  = [ poison_1_5_2 plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              longDescription = ''A full REST JSON API with zero coding,
-                                powered by Elixir. It is intended to be used as
-                                a command-line tool (just run mix escript.build
-                                first).'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/clarkware/jolt";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jolt = jolt_0_1_0;
-
-    jorel_mix_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "jorel_mix";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "jorel_mix";
-              version = "0.0.1";
-              sha256 =
-                "be990099dc7d13dd22e741d96dd3282ba9096f9e132c047ebc0f134b3d470461";
-            };
-
-            meta = {
-              description = ''Just anOther RELease assembler'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/emedia-project/jorel_mix";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jorel_mix = jorel_mix_0_0_1;
-
-    jose_1_4_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, base64url_0_0_1 }:
-          buildMix ({
-            name = "jose";
-            version = "1.4.2";
-            src = fetchHex {
-              pkg = "jose";
-              version = "1.4.2";
-              sha256 =
-                "7bc79dfa28b0194c9334eddeaf33d02b51d4101d5b18f08086503a7b82be7cb0";
-            };
-            beamDeps  = [ base64url_0_0_1 ];
-
-            meta = {
-              description = ''JSON Object Signing and Encryption (JOSE) for
-                            Erlang and Elixir.'';
-              license = stdenv.lib.licenses.mpl20;
-              homepage = "https://github.com/potatosalad/erlang-jose";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jose_1_7_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, base64url_0_0_1 }:
-          buildMix ({
-            name = "jose";
-            version = "1.7.5";
-            src = fetchHex {
-              pkg = "jose";
-              version = "1.7.5";
-              sha256 =
-                "c473f64b03fb4541b8b3f56982e563d1090a1168d0dc154e6275135515c4b65d";
-            };
-            beamDeps  = [ base64url_0_0_1 ];
-
-            meta = {
-              description = ''JSON Object Signing and Encryption (JOSE) for
-                            Erlang and Elixir.'';
-              license = stdenv.lib.licenses.mpl20;
-              homepage = "https://github.com/potatosalad/erlang-jose";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jose = jose_1_7_5;
-
-    jsex_2_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, jsx_2_8_0 }:
-          buildMix ({
-            name = "jsex";
-            version = "2.0.0";
-            src = fetchHex {
-              pkg = "jsex";
-              version = "2.0.0";
-              sha256 =
-                "98c1501645e31efdbcbb6172983d4deb1335de993966197e6a4343492fa7d872";
-            };
-            beamDeps  = [ jsx_2_8_0 ];
-
-            meta = {
-              description = ''json for elixir '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/talentdeficit/jsex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jsex = jsex_2_0_0;
-
-    json_0_3_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "json";
-            version = "0.3.3";
-            src = fetchHex {
-              pkg = "json";
-              version = "0.3.3";
-              sha256 =
-                "d1986548847189b51f1efb65d196e6ab9f2e88a6878a363aec0e3c77e2550616";
-            };
-
-            meta = {
-              description = ''Native Elixir library for JSON encoding and
-                            decoding'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/cblage/elixir-json";
-            };
-          } // packageOverrides)
-      ) {};
-
-    json = json_0_3_3;
-
-    json_api_assert_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "json_api_assert";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "json_api_assert";
-              version = "0.0.1";
-              sha256 =
-                "b85f48d26e62977b77ed0a8a62b2079ae9e1ddd6dfba988a13b3366cb6dfd51e";
-            };
-
-            meta = {
-              description = ''assertions for JSON API payload'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/DockYard/json_api_assert";
-            };
-          } // packageOverrides)
-      ) {};
-
-    json_api_assert = json_api_assert_0_0_1;
-
-    json_diff_ex_0_5_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "json_diff_ex";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "json_diff_ex";
-              version = "0.5.0";
-              sha256 =
-                "314fe606c76dea0c5b70ca918f5dd75a89456c6330596d707bbbf70c800352c9";
-            };
-
-            meta = {
-              description = ''Diff and patch for JSON in Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/olafura/json_diff_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    json_diff_ex = json_diff_ex_0_5_0;
-
-    json_logger_0_6_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, json_0_3_3 }:
-          buildMix ({
-            name = "json_logger";
-            version = "0.6.0";
-            src = fetchHex {
-              pkg = "json_logger";
-              version = "0.6.0";
-              sha256 =
-                "4b3aaa23c2d0fec4fe4ba7c001ec6a72b1ae36f0268ede87557c59663843a0c3";
-            };
-            beamDeps  = [ json_0_3_3 ];
-
-            meta = {
-              description = ''A simple library for logging with JSON, best
-                            suited with Logstash.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/LeeroyDing/json_logger";
-            };
-          } // packageOverrides)
-      ) {};
-
-    json_logger = json_logger_0_6_0;
-
-    json_pointer_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "json_pointer";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "json_pointer";
-              version = "0.0.2";
-              sha256 =
-                "150b37bc4ff689758f17aee180fbf8f7226c3eeff7d28a782e6f0a74f859417e";
-            };
-
-            meta = {
-              longDescription = ''Implementation of RFC 6901 which defines a
-                                string syntax for identifying a specific value
-                                within a JSON document'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/xavier/json_pointer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    json_pointer = json_pointer_0_0_2;
-
-    json_stream_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, jsx_2_8_0 }:
-          buildMix ({
-            name = "json_stream";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "json_stream";
-              version = "0.0.1";
-              sha256 =
-                "07e2283f7f211f50d4fa686f1814f7a8b9637cfe3f358f6f15332489b2b7f2ab";
-            };
-            beamDeps  = [ jsx_2_8_0 ];
-
-            meta = {
-              longDescription = ''Small but useful wrapper above erlang `jsx`
-                                to stream json elements from an Elixir binary
-                                stream.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/awetzel/json_stream";
-            };
-          } // packageOverrides)
-      ) {};
-
-    json_stream = json_stream_0_0_1;
-
-    json_web_token_0_2_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "json_web_token";
-            version = "0.2.5";
-            src = fetchHex {
-              pkg = "json_web_token";
-              version = "0.2.5";
-              sha256 =
-                "2e90fca59a7f9a4862ff8688622da5f12e880134b11ac1eb0eb0b19143d7a309";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              description = ''Elixir implementation of the JSON Web Token
-                            (JWT), RFC 7519'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/garyf/json_web_token_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    json_web_token = json_web_token_0_2_5;
-
-    jsonapi_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "jsonapi";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "jsonapi";
-              version = "0.3.0";
-              sha256 =
-                "f0e3c00a2af7394621695ded4e31cdf369436916ffc47347835f06616d594b33";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              longDescription = ''Fully functional JSONAPI V1 Serializer as
-                                well as a QueryParser for Plug based projects
-                                and applications.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jeregrine/jsonapi";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jsonapi = jsonapi_0_3_0;
-
-    jsone_1_2_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "jsone";
-            version = "1.2.0";
-            src = fetchHex {
-              pkg = "jsone";
-              version = "1.2.0";
-              sha256 =
-                "a60e74284d3a923cde65c00a39dd4542fd7da7c22e8385c0378ad419c54b2e08";
-            };
-
-            meta = {
-              description = ''Erlang JSON Library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sile/jsone";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jsone_1_2_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "jsone";
-            version = "1.2.2";
-            src = fetchHex {
-              pkg = "jsone";
-              version = "1.2.2";
-              sha256 =
-                "253c18c7dc6fc27290b1f507f3adc6863f4396b099d0eb396e3c0e58dcfe0ee4";
-            };
-
-            meta = {
-              description = ''Erlang JSON Library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sile/jsone";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jsone_1_2_3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "jsone";
-            version = "1.2.3";
-            src = fetchHex {
-              pkg = "jsone";
-              version = "1.2.3";
-              sha256 =
-                "629369e718a50a2fcb23c210b6f2eb2fd08b0a6a2c5edade4fca24cda368ac13";
-            };
-
-            meta = {
-              description = ''Erlang JSON Library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sile/jsone";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jsone = jsone_1_2_3;
-
-    jsx_1_4_5 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "jsx";
-            version = "1.4.5";
-            src = fetchHex {
-              pkg = "jsx";
-              version = "1.4.5";
-              sha256 =
-                "ff5115611c5dd789cebe3addc07d18b86340f701c52ad063caba6fe8da3a489b";
-            };
-
-            meta = {
-              longDescription = ''an erlang application for consuming,
-                                producing and manipulating json. inspired by
-                                yajl'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/talentdeficit/jsx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jsx_2_5_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, mixunit_0_9_2 }:
-          buildMix ({
-            name = "jsx";
-            version = "2.5.3";
-            src = fetchHex {
-              pkg = "jsx";
-              version = "2.5.3";
-              sha256 =
-                "528ab2fdadbcfe95a44ddb831724ee28d48bd3dbd11f2e8109874c855c43dd12";
-            };
-            beamDeps  = [ mixunit_0_9_2 ];
-
-            meta = {
-              longDescription = ''an erlang application for consuming,
-                                producing and manipulating json. inspired by
-                                yajl'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/talentdeficit/jsx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jsx_2_6_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "jsx";
-            version = "2.6.2";
-            src = fetchHex {
-              pkg = "jsx";
-              version = "2.6.2";
-              sha256 =
-                "6bfccb6461cc3c7d5cc63f3e69ffeb2f1f8de50eca5980065311c056a69a907f";
-            };
-
-            meta = {
-              longDescription = ''an erlang application for consuming,
-                                producing and manipulating json. inspired by
-                                yajl'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/talentdeficit/jsx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jsx_2_7_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "jsx";
-            version = "2.7.1";
-            src = fetchHex {
-              pkg = "jsx";
-              version = "2.7.1";
-              sha256 =
-                "52d0e8bda0c8624bc59c3119236eb49bb66289702ea3d59ad76fd2a56cdf9089";
-            };
-
-            meta = {
-              longDescription = ''an erlang application for consuming,
-                                producing and manipulating json. inspired by
-                                yajl'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/talentdeficit/jsx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jsx_2_8_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "jsx";
-            version = "2.8.0";
-            src = fetchHex {
-              pkg = "jsx";
-              version = "2.8.0";
-              sha256 =
-                "a8ba15d5bac2c48b2be1224a0542ad794538d79e2cc16841a4e24ca75f0f8378";
-            };
-
-            meta = {
-              longDescription = ''an erlang application for consuming,
-                                producing and manipulating json. inspired by
-                                yajl'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/talentdeficit/jsx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jsx = jsx_2_8_0;
-
-    jsxd_0_1_10 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "jsxd";
-            version = "0.1.10";
-            src = fetchHex {
-              pkg = "jsxd";
-              version = "0.1.10";
-              sha256 =
-                "f71a8238f08a1dee130e8959ff5343524891fa6531392667a5b911cead5f5082";
-            };
-
-            meta = {
-              description = ''jsx data structire traversing and modification
-                            library.'';
-              license = stdenv.lib.licenses.cddl;
-              homepage = "https://github.com/Licenser/jsxd";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jsxd = jsxd_0_1_10;
-
-    junit_formatter_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "junit_formatter";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "junit_formatter";
-              version = "1.1.0";
-              sha256 =
-                "d173ee429c98c9829eb9b24a8615ac584b49c58c29cefc9532eff5e19404ea8b";
-            };
-
-            meta = {
-              longDescription = ''An ExUnit.Formatter that produces an XML
-                                report of the tests run in the project _build
-                                dir. It is a good fit with Jenkins test
-                                reporting plugin, for example.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/victorolinasc/junit-formatter";
-            };
-          } // packageOverrides)
-      ) {};
-
-    junit_formatter = junit_formatter_1_1_0;
-
-    jwalk_1_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "jwalk";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "jwalk";
-              version = "1.1.0";
-              sha256 =
-                "10c150910ba3539583887cb2b5c3f70d602138471e6f6b5c22498aa18ed654e1";
-            };
-
-            meta = {
-              longDescription = ''Helper module for working with Erlang
-                                representations of JSON, handling eep-18, map,
-                                mochijson-style and proplists representations'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jr0senblum/jwalk";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jwalk_1_1_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "jwalk";
-            version = "1.1.2";
-            src = fetchHex {
-              pkg = "jwalk";
-              version = "1.1.2";
-              sha256 =
-                "322d6bc04c1b16efdd711711c101415f9df18a87af31315e6d04e48e678d1bf0";
-            };
-
-            meta = {
-              longDescription = ''Helper module for working with Erlang
-                                representations of JSON, handling eep-18, map,
-                                mochijson-style and proplists representations'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jr0senblum/jwalk";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jwalk = jwalk_1_1_2;
-
-    jwt_0_1_2 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          jsx_2_8_0,
-          base64url_0_0_1
-        }:
-          buildRebar3 ({
-            name = "jwt";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "jwt";
-              version = "0.1.2";
-              sha256 =
-                "be9a6502857f40e3c285909a80a21d00dffcb9330951abe86e6c9cffb17770f1";
-            };
-
-            beamDeps  = [ jsx_2_8_0 base64url_0_0_1 ];
-
-            meta = {
-              description = ''Erlang JWT library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/artemeff/jwt";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jwt = jwt_0_1_2;
-
-    jwt_claims_0_0_3 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, json_web_token_0_2_5
-        }:
-          buildMix ({
-            name = "jwt_claims";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "jwt_claims";
-              version = "0.0.3";
-              sha256 =
-                "baf94583907a4d774079a8a98c13c0cf5d306ee6211e805f156523a20658e230";
-            };
-            beamDeps  = [ json_web_token_0_2_5 ];
-
-            meta = {
-              description = ''Elixir implementation of JWT registered claims,
-                            RFC 7519'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/garyf/jwt_claims_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jwt_claims = jwt_claims_0_0_3;
-
-    jwtex_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_3_1 }:
-          buildMix ({
-            name = "jwtex";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "jwtex";
-              version = "0.0.1";
-              sha256 =
-                "5b8b826e8543e323f62a0e8cb2fb5714d8e7110ecce97419cd0a4a656fa411cf";
-            };
-            beamDeps  = [ poison_1_3_1 ];
-
-            meta = {
-              description = ''JWT decoding library for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mschae/jwtex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    jwtex = jwtex_0_0_1;
-
-    k6_bytea_1_1_5 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "k6_bytea";
-            version = "1.1.5";
-            src = fetchHex {
-              pkg = "k6_bytea";
-              version = "1.1.5";
-              sha256 =
-                "1ce4ca84bbe45890bc3c07809f8e01fb80c4613226fbd318aaac73d4cd233132";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''A mutable byte array for Erlang.'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    k6_bytea = k6_bytea_1_1_5;
-
-    kafka_ex_0_5_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "kafka_ex";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "kafka_ex";
-              version = "0.5.0";
-              sha256 =
-                "5e5d5be9bad3d9b9e77f75047c479aadc140d7e13be85a912cef8e7d647f0ae7";
-            };
-
-            meta = {
-              description = ''Kafka client for Elixir/Erlang.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kafkaex/kafka_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    kafka_ex = kafka_ex_0_5_0;
-
-    kaguya_0_4_7 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "kaguya";
-            version = "0.4.7";
-            src = fetchHex {
-              pkg = "kaguya";
-              version = "0.4.7";
-              sha256 =
-                "d687b8832c42e4d3d03e09e68b9df3a9bb4b208d287d8c2835170c343e2e4554";
-            };
-
-            meta = {
-              longDescription = ''A small, powerful, and modular IRC bot
-                                framework. Using a flexible macro based routing
-                                system, modules can be easily created and
-                                used.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/Luminarys/Kaguya";
-            };
-          } // packageOverrides)
-      ) {};
-
-    kaguya = kaguya_0_4_7;
-
-    kennitala_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "kennitala";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "kennitala";
-              version = "1.0.0";
-              sha256 =
-                "8f22c152fb5de86455d4570ec23f96b3ee110c8f7243e9fd7ffd85fbccf63838";
-            };
-
-            meta = {
-              longDescription = ''Elixir library for validating and handling
-                                the Icelandic Kennitala identity number.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/JonGretar/Kennitala.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    kennitala = kennitala_1_0_0;
-
-    key2value_1_4_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "key2value";
-            version = "1.4.0";
-            src = fetchHex {
-              pkg = "key2value";
-              version = "1.4.0";
-              sha256 =
-                "ad63453fcf54ab853581b78c6d2df56be41ea691ba4bc05920264c19f35a0ded";
-            };
-
-            meta = {
-              description = ''Erlang 2-way Map'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/okeuday/key2value";
-            };
-          } // packageOverrides)
-      ) {};
-
-    key2value_1_5_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "key2value";
-            version = "1.5.1";
-            src = fetchHex {
-              pkg = "key2value";
-              version = "1.5.1";
-              sha256 =
-                "2a40464b9f8ef62e8828d869ac8d2bf9135b4956d29ba4eb044e8522b2d35ffa";
-            };
-
-            meta = {
-              description = ''Erlang 2-way Map'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/okeuday/key2value";
-            };
-          } // packageOverrides)
-      ) {};
-
-    key2value = key2value_1_5_1;
-
-    keymaster_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          plug_1_1_5
-        }:
-          buildMix ({
-            name = "keymaster";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "keymaster";
-              version = "0.0.3";
-              sha256 =
-                "93ba90778f0dbe162fde8584c1510a61fcbf0f08d20ed24ea8548a3f84790fa8";
-            };
-            beamDeps  = [ poison_2_1_0 plug_1_1_5 ];
-
-            meta = {
-              description = ''An opinionated OAuth 2.0 server for Elixir
-                            projects.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/austinsmorris/keymaster";
-            };
-          } // packageOverrides)
-      ) {};
-
-    keymaster = keymaster_0_0_3;
-
-    keys1value_1_5_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "keys1value";
-            version = "1.5.1";
-            src = fetchHex {
-              pkg = "keys1value";
-              version = "1.5.1";
-              sha256 =
-                "2385132be0903c170fe21e54a0c3e746a604777b66ee458bb6e5f25650d3354f";
-            };
-
-            meta = {
-              description = ''Erlang Set Associative Map For Key Lists'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/okeuday/keys1value";
-            };
-          } // packageOverrides)
-      ) {};
-
-    keys1value = keys1value_1_5_1;
-
-    kinja_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "kinja";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "kinja";
-              version = "0.0.1";
-              sha256 =
-                "97b68a603fb5e665f07aac0396ee53d28690bdc42845c38b23741675c053b761";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A wrapper for the Kinja API.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/adampash/kinjaex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    kinja = kinja_0_0_1;
-
-    kitsune_0_5_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_5_2 }:
-          buildMix ({
-            name = "kitsune";
-            version = "0.5.2";
-            src = fetchHex {
-              pkg = "kitsune";
-              version = "0.5.2";
-              sha256 =
-                "f8d48f1f3abe89aa9df7b37bc59c9bfa5932142d076d5322f97e92ec732bf993";
-            };
-            beamDeps  = [ poison_1_5_2 ];
-
-            meta = {
-              longDescription = ''Kitsune is an Elixir library for transforming
-                                the representation of data inspired by
-                                Representable.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/edubkendo/kitsune";
-            };
-          } // packageOverrides)
-      ) {};
-
-    kitsune = kitsune_0_5_2;
-
-    kitto_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "kitto";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "kitto";
-              version = "0.0.1";
-              sha256 =
-                "36a2c19a364fd9998ee3d0635fb6386104733d9887143f2ade8fe39f7096e635";
-            };
-            beamDeps  = [ poison_2_1_0 plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Framework for creating interactive dashboards'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kittoframework/kitto";
-            };
-          } // packageOverrides)
-      ) {};
-
-    kitto = kitto_0_0_1;
-
-    kubex_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "kubex";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "kubex";
-              version = "0.1.1";
-              sha256 =
-                "b0bd22246731b1c4d4d7f832cd0015fd6586022c779fb6672f45a648da7dcf79";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Kubernetes integration for and in pure Elixir.'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/ingerslevio/kubex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    kubex = kubex_0_1_1;
-
-    kwfuns_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "kwfuns";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "kwfuns";
-              version = "0.0.4";
-              sha256 =
-                "ce1ac52be8d3c3cb7c77fc339eaa877a190899e889bf97cdb92e01922fd52b54";
-            };
-
-            meta = {
-              longDescription = ''Macros to create functions with syntax based
-                                keyword parameters with default values defkw
-                                make_list_elem( parent, text, spaced: false,
-                                type: :ul ) do ... end translates to def
-                                make_list_elem( parent, text, keywords \\ [] )
-                                do some_code_with( spaces, typed) end'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/RobertDober/lab42_defkw";
-            };
-          } // packageOverrides)
-      ) {};
-
-    kwfuns = kwfuns_0_0_4;
-
-    lager_3_0_1 = callPackage
-      (
-        {
-          buildRebar3, packageOverrides ? {}, fetchHex, goldrush_0_1_7
-        }:
-          buildRebar3 ({
-            name = "lager";
-            version = "3.0.1";
-            src = fetchHex {
-              pkg = "lager";
-              version = "3.0.1";
-              sha256 =
-                "d32c9233105b72dc5c1f6a8fe9a33cc205ecccc359c4449950060cee5a329e35";
-            };
-
-            beamDeps  = [ goldrush_0_1_7 ];
-
-            meta = {
-              description = ''Erlang logging framework'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/basho/lager";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lager_3_0_2 = callPackage
-      (
-        {
-          buildRebar3, packageOverrides ? {}, fetchHex, goldrush_0_1_7
-        }:
-          buildRebar3 ({
-            name = "lager";
-            version = "3.0.2";
-            src = fetchHex {
-              pkg = "lager";
-              version = "3.0.2";
-              sha256 =
-                "527f3b233e01b6cb68780c14ef675ed08ec02247dc029cacecbb56c78dfca100";
-            };
-
-            beamDeps  = [ goldrush_0_1_7 ];
-
-            meta = {
-              description = ''Erlang logging framework'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/basho/lager";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lager_3_2_1 = callPackage
-      (
-        {
-          buildRebar3, packageOverrides ? {}, fetchHex, goldrush_0_1_8
-        }:
-          buildRebar3 ({
-            name = "lager";
-            version = "3.2.1";
-            src = fetchHex {
-              pkg = "lager";
-              version = "3.2.1";
-              sha256 =
-                "09a751789852094bf1ffad239a602bc47829da13ca5937b9d12df27470692095";
-            };
-
-            beamDeps  = [ goldrush_0_1_8 ];
-
-            meta = {
-              description = ''Erlang logging framework'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/basho/lager";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lager = lager_3_2_1;
-
-    lager_hipchat_0_2_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, lager_3_0_2 }:
-          buildRebar3 ({
-            name = "lager_hipchat";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "lager_hipchat";
-              version = "0.2.0";
-              sha256 =
-                "83dc3246822b33b2889c431975ff0f8ffc6954c9e5f744bfd99acd9fa8605a1c";
-            };
-
-            beamDeps  = [ lager_3_0_2 ];
-
-            meta = {
-              description = ''HipChat backend for Lager'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/synlay/lager_hipchat";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lager_hipchat = lager_hipchat_0_2_0;
-
-    lager_logger_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, lager_3_2_1 }:
-          buildMix ({
-            name = "lager_logger";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "lager_logger";
-              version = "1.0.2";
-              sha256 =
-                "28e13b1a5d43acefdf7f49d219ecb268dd934da448d2e1d4c3f74378fdea9e89";
-            };
-            beamDeps  = [ lager_3_2_1 ];
-
-            meta = {
-              longDescription = ''LagerLogger is a lager backend that forwards
-                                all log messages to Elixir`s Logger.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/PSPDFKit-labs/lager_logger";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lager_logger = lager_logger_1_0_2;
-
-    lasse_1_1_0 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "lasse";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "lasse";
-              version = "1.1.0";
-              sha256 =
-                "53e70ea9031f7583331a9f9bdbb29da933e591e5c4cce521b4bf85c68e7f3385";
-            };
-
-            meta = {
-              description = ''Lasse: Server-Sent Event handler for Cowboy.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/inaka/lasse";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lasse = lasse_1_1_0;
-
-    ldap_ex_0_2_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ldap_ex";
-            version = "0.2.4";
-            src = fetchHex {
-              pkg = "ldap_ex";
-              version = "0.2.4";
-              sha256 =
-                "5ecdbce6e0243f92ce012b4fdf7daff4bbf6e748d37e028a4674e1ec87d81dbe";
-            };
-
-            meta = {
-              longDescription = ''This is a binary instead of char_list version
-                                of the stock Erlang :eldap library.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/OvermindDL1/ldap_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ldap_ex = ldap_ex_0_2_4;
-
-    left_pad_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "left_pad";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "left_pad";
-              version = "0.0.3";
-              sha256 =
-                "9b14a4b7f84f320175bd2ed2f24754a62206fdd67d90117602876c415cf22374";
-            };
-
-            meta = {
-              description = ''Pad a string to the left with any number of
-                            characters.'';
-              license = stdenv.lib.licenses.mpl20;
-              homepage = "https://github.com/folz/left_pad.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    left_pad = left_pad_0_0_3;
-
-    leftpad_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "leftpad";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "leftpad";
-              version = "1.0.1";
-              sha256 =
-                "88e4cd8039461f2558f6e8378d834772b9315554080c5b729d65472209824a89";
-            };
-
-            meta = {
-              description = ''left pad for elixir, because why not?
-                            ¯\\_(ツ)_/¯'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/colinrymer/leftpad.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    leftpad = leftpad_1_0_1;
-
-    lessonly_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "lessonly";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "lessonly";
-              version = "0.0.1";
-              sha256 =
-                "a7c53da4a3153043a36636e9c9b188e7bad54caac4c994705afe4d47fd2ef111";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Elixir wrapper for the Lesson.ly API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/stevegrossi/lessonly-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lessonly = lessonly_0_0_1;
-
-    level_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "level";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "level";
-              version = "1.0.0";
-              sha256 =
-                "42d54a840e79af5833e5ae335b374699c46d996053f2f3480e181a57cad2ae62";
-            };
-
-            meta = {
-              longDescription = ''Level implements various helper functions and
-                                data types for working with Googles Level data
-                                store. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gausby/level";
-            };
-          } // packageOverrides)
-      ) {};
-
-    level = level_1_0_0;
-
-    lex_luthor_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "lex_luthor";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "lex_luthor";
-              version = "0.1.0";
-              sha256 =
-                "1a8ebf646f9cd29f3696659e67f4bbb65a5a558e4b3e1f43013c5e85022189a2";
-            };
-
-            meta = {
-              longDescription = ''LexLuthor is a Lexer in Elixir (say that 10
-                                times fast) which uses macros to generate a
-                                reusable lexers. Good times.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jamesotron/lex_luthor";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lex_luthor = lex_luthor_0_1_0;
-
-    lfsr_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "lfsr";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "lfsr";
-              version = "0.0.2";
-              sha256 =
-                "8a14455bd0ce5c6b7dc56bf1027007c67e48979b49b70e09372cc36769d16b90";
-            };
-
-            meta = {
-              description = ''Elixir implementation of a binary Galois Linear
-                            Feedback Shift Register. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pma/lfsr";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lfsr = lfsr_0_0_2;
-
-    lhttpc_1_3_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "lhttpc";
-            version = "1.3.0";
-            src = fetchHex {
-              pkg = "lhttpc";
-              version = "1.3.0";
-              sha256 =
-                "ddd2bd4b85159bc987c954b14877168e6a3c3e516105702189776e97c50296a4";
-            };
-
-            meta = {
-              description = ''Lightweight HTTP Client'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/talko/lhttpc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lhttpc_1_4_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "lhttpc";
-            version = "1.4.0";
-            src = fetchHex {
-              pkg = "lhttpc";
-              version = "1.4.0";
-              sha256 =
-                "26d5a12b63fedb3e862a816a472258007dc1e85b75a9bcdb0223425e39827777";
-            };
-
-            meta = {
-              description = ''Lightweight HTTP Client'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/talko/lhttpc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lhttpc = lhttpc_1_4_0;
-
-    libsnarlmatch_0_1_7 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "libsnarlmatch";
-            version = "0.1.7";
-            src = fetchHex {
-              pkg = "libsnarlmatch";
-              version = "0.1.7";
-              sha256 =
-                "72e9bcf7968e75774393778146ac6596116f1c60136dd607ad249183684ee380";
-            };
-
-            meta = {
-              description = ''permission matcher library'';
-              license = stdenv.lib.licenses.cddl;
-              homepage = "https://github.com/project-fifo/libsnarlmatch";
-            };
-          } // packageOverrides)
-      ) {};
-
-    libsnarlmatch = libsnarlmatch_0_1_7;
-
-    lineo_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "lineo";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "lineo";
-              version = "0.0.1";
-              sha256 =
-                "cbf80d2a2315803949dc186decce770c6850fb45fb919982ed24da758893093a";
-            };
-
-            meta = {
-               license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/lineo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lineo_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "lineo";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "lineo";
-              version = "0.1.0";
-              sha256 =
-                "842733d2aae3b8cfadf3acfe456241eb3434e68984d1fdbb7be15e335591e21c";
-            };
-
-            meta = {
-               license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/lineo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lineo = lineo_0_1_0;
-
-    linguist_0_1_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "linguist";
-            version = "0.1.5";
-            src = fetchHex {
-              pkg = "linguist";
-              version = "0.1.5";
-              sha256 =
-                "d8b0665512a800854152082f6d56142e56e5da5f5b0d879298117b7dfd55ba97";
-            };
-
-            meta = {
-              description = ''Elixir Internationalization library '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/chrismccord/linguist";
-            };
-          } // packageOverrides)
-      ) {};
-
-    linguist = linguist_0_1_5;
-
-    liquid_0_2_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "liquid";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "liquid";
-              version = "0.2.2";
-              sha256 =
-                "b68ae1dbc002e05028f7a74bb717d9a7863397eddde802d6ed5d96394120d1b1";
-            };
-
-            meta = {
-              description = ''Liquid implementation in elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nulian/liquid-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    liquid = liquid_0_2_2;
-
-    lob_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          chacha20_0_3_2
-        }:
-          buildMix ({
-            name = "lob";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "lob";
-              version = "0.1.0";
-              sha256 =
-                "adf071a07fde2fbd2393c06a18959e6d48622c7a3769e868cf577095c7eac67e";
-            };
-            beamDeps  = [ poison_2_1_0 chacha20_0_3_2 ];
-
-            meta = {
-              description = ''Length-Object-Binary (LOB) Packet Encoding'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/lob_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lob = lob_0_1_0;
-
-    logfmt_3_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "logfmt";
-            version = "3.0.2";
-            src = fetchHex {
-              pkg = "logfmt";
-              version = "3.0.2";
-              sha256 =
-                "d079aab159c3682d90054dbf8228cc0f86c8d5df6e6145c60d69a81110c3ee1c";
-            };
-
-            meta = {
-              description = ''Logfmt is a module for encoding and decoding
-                            logfmt-style log lines.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jclem/logfmt-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    logfmt = logfmt_3_0_2;
-
-    logger_file_backend_0_0_8 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "logger_file_backend";
-            version = "0.0.8";
-            src = fetchHex {
-              pkg = "logger_file_backend";
-              version = "0.0.8";
-              sha256 =
-                "1d89664561365545517114eeba9f96b193fd1f52c90b5f055b79f1e40547ffea";
-            };
-
-            meta = {
-              description = ''Simple logger backend that writes to a file'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/onkel-dirtus/logger_file_backend";
-            };
-          } // packageOverrides)
-      ) {};
-
-    logger_file_backend = logger_file_backend_0_0_8;
-
-    logger_lager_backend_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "logger_lager_backend";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "logger_lager_backend";
-              version = "0.0.2";
-              sha256 =
-                "cd9f4c0df86d9209d905b451f4177aa0cbe341488ae36969c49af772830432a0";
-            };
-
-            meta = {
-              description = ''A Logger backend that forwards messages to
-                            lager'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/jonathanperret/logger_lager_backend";
-            };
-          } // packageOverrides)
-      ) {};
-
-    logger_lager_backend = logger_lager_backend_0_0_2;
-
-    logger_loggly_backend_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "logger_loggly_backend";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "logger_loggly_backend";
-              version = "0.2.0";
-              sha256 =
-                "111d0e256ace86e2af366b1afc7152b4aadd3cd6c093d5d2b119c08a84395fd6";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Loggly logger backend'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/joeyfeldberg/loggly_backend";
-            };
-          } // packageOverrides)
-      ) {};
-
-    logger_loggly_backend = logger_loggly_backend_0_2_0;
-
-    logger_logstash_backend_2_0_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_2_1_6,
-          exjsx_3_1_0
-        }:
-          buildMix ({
-            name = "logger_logstash_backend";
-            version = "2.0.0";
-            src = fetchHex {
-              pkg = "logger_logstash_backend";
-              version = "2.0.0";
-              sha256 =
-                "e0c709aa8fbddd825ef5cc5287e0d04f4470498173555e07156675aeba2b2b7a";
-            };
-            beamDeps  = [ timex_2_1_6 exjsx_3_1_0 ];
-
-            meta = {
-              description = ''Logstash UDP producer backend for Logger.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/marcelog/logger_logstash_backend";
-            };
-          } // packageOverrides)
-      ) {};
-
-    logger_logstash_backend = logger_logstash_backend_2_0_0;
-
-    logger_papertrail_backend_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "logger_papertrail_backend";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "logger_papertrail_backend";
-              version = "0.1.0";
-              sha256 =
-                "ae2bff0588a702cb3bd87080c5f4558d34efd0fbf19f976397fe9b0538b1c20b";
-            };
-
-            meta = {
-              description = ''A Papertrail backend for Elixir Logger'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/larskrantz/logger_papertrail_backend";
-            };
-          } // packageOverrides)
-      ) {};
-
-    logger_papertrail_backend = logger_papertrail_backend_0_1_0;
-
-    logglix_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "logglix";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "logglix";
-              version = "0.0.1";
-              sha256 =
-                "c193945b52e7fe3f6973e7defec46683b794baacd784eaa0c1f7c65978fea654";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir loggly application event subscriber'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/pragmaticivan/logglix";
-            };
-          } // packageOverrides)
-      ) {};
-
-    logglix = logglix_0_0_1;
-
-    logi_0_5_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "logi";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "logi";
-              version = "0.5.0";
-              sha256 =
-                "45619004d3735f27e6f397ba0696c5fc6ea1ee89e037fd50847d975e0330de8f";
-            };
-
-            meta = {
-              description = ''A Logger Interface Library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sile/logi";
-            };
-          } // packageOverrides)
-      ) {};
-
-    logi = logi_0_5_0;
-
-    logi_stdlib_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, logi_0_5_0 }:
-          buildRebar3 ({
-            name = "logi_stdlib";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "logi_stdlib";
-              version = "0.1.0";
-              sha256 =
-                "a2e12cf14fe6660e81b6351f51711c4891147eb4140d1b2b8c23007bb750312b";
-            };
-
-            beamDeps  = [ logi_0_5_0 ];
-
-            meta = {
-              description = ''Standard Library for logi'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sile/logi_stdlib";
-            };
-          } // packageOverrides)
-      ) {};
-
-    logi_stdlib = logi_stdlib_0_1_0;
-
-    lolcat_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          quickrand_1_5_1,
-          colorful_0_6_0
-        }:
-          buildMix ({
-            name = "lolcat";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "lolcat";
-              version = "0.0.1";
-              sha256 =
-                "884799d2e7f294a6a5455e19c9816592d7b1314cefaba18952876fef0c4a10af";
-            };
-            beamDeps  = [ quickrand_1_5_1 colorful_0_6_0 ];
-
-            meta = {
-              description = ''The clone of lolcat. written in elixir '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/restartr/ex-lolcat";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lolcat = lolcat_0_0_1;
-
-    loom_0_0_10 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "loom";
-            version = "0.0.10";
-            src = fetchHex {
-              pkg = "loom";
-              version = "0.0.10";
-              sha256 =
-                "f32cf0fe1c14efb9b4fda15285a5d331b64e952da7a0561c66f7e2b671d36cb8";
-            };
-
-            meta = {
-              description = ''A modern CRDT library that uses protocols to
-                            create composable CRDTs.'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/asonge/loom";
-            };
-          } // packageOverrides)
-      ) {};
-
-    loom = loom_0_0_10;
-
-    lru_1_3_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "lru";
-            version = "1.3.1";
-            src = fetchHex {
-              pkg = "lru";
-              version = "1.3.1";
-              sha256 =
-                "cd6ac15c383d58cd2933df9cb918617b24b12b6e5fb24d94c4c8f200fd93f619";
-            };
-
-            meta = {
-              description = ''implements a fixed-size LRU cache'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/barrel-db/erlang-lru";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lru = lru_1_3_1;
-
-    lru_cache_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "lru_cache";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "lru_cache";
-              version = "0.1.0";
-              sha256 =
-                "9543e4b00ad3763fa2a92cf9ed7429dff645d912f5d9134b32d573bb327f56b5";
-            };
-
-            meta = {
-              description = ''ETS-based LRU Cache'';
-
-              homepage = "https://github.com/arago/lru_cache";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lru_cache = lru_cache_0_1_0;
-
-    ltsv_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ltsv";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ltsv";
-              version = "0.1.0";
-              sha256 =
-                "62e56251331da6cf5b95de9ecf6e0984749b0ba935356397151fa19f2491a449";
-            };
-
-            meta = {
-              description = ''A Labeled Tab-separated Values Parser'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ma2gedev/ltsvex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ltsv = ltsv_0_1_0;
-
-    luhn_0_3_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "luhn";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "luhn";
-              version = "0.3.1";
-              sha256 =
-                "86aba88228660238ad981b92cb7a0e92be04772fc54fe5effb338c94b3b7d9fa";
-            };
-
-            meta = {
-              description = ''Luhn algorithm in Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ma2gedev/luhn_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    luhn = luhn_0_3_1;
-
-    luhnatex_0_5_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "luhnatex";
-            version = "0.5.1";
-            src = fetchHex {
-              pkg = "luhnatex";
-              version = "0.5.1";
-              sha256 =
-                "f08bb73777cd8a12780ea12697064c942a08184074512d4e593443da74526eed";
-            };
-
-            meta = {
-              description = ''Luhn algorithm in Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/my-flow/luhnatex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    luhnatex = luhnatex_0_5_1;
-
-    lz4_0_2_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "lz4";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "lz4";
-              version = "0.2.2";
-              sha256 =
-                "a59522221e7cdfe3792bf8b3bb21cfe7ac657790e5826201fa2c5d0bc7484a2d";
-            };
-            compilePorts = true;
-
-            meta = {
-              description = ''LZ4 bindings for Erlang'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/szktty/erlang-lz4.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lz4 = lz4_0_2_2;
-
-    lz_string_0_0_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "lz_string";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "lz_string";
-              version = "0.0.5";
-              sha256 =
-                "318ce091382febc3ca63e0ff9bff6bda78a797dd90f2a2f95fec6d0e2757d6fa";
-            };
-
-            meta = {
-              description = ''Elixir implementation of pieroxy`s lz-string
-                            compression algorithm.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/koudelka/elixir-lz-string";
-            };
-          } // packageOverrides)
-      ) {};
-
-    lz_string = lz_string_0_0_5;
-
-    m2x_2_0_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          json_0_3_3,
-          hackney_1_6_0
-        }:
-          buildMix ({
-            name = "m2x";
-            version = "2.0.0";
-            src = fetchHex {
-              pkg = "m2x";
-              version = "2.0.0";
-              sha256 =
-                "e125cf588d48d9b04fb4a003bb62ab1a8e8df359866dba0cde6444e9fd7ce939";
-            };
-            beamDeps  = [ json_0_3_3 hackney_1_6_0 ];
-
-            meta = {
-              longDescription = ''Elixir client library for the AT&T M2X
-                                (http://m2x.att.com) API. AT&T M2X is a
-                                cloud-based fully managed time-series data
-                                storage service for network connected
-                                machine-to-machine (M2M) devices and the
-                                Internet of Things (IoT).'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/attm2x/m2x-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    m2x = m2x_2_0_0;
-
-    m2x_erlang_1_3_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          jsx_2_8_0,
-          hackney_1_6_0
-        }:
-          buildMix ({
-            name = "m2x_erlang";
-            version = "1.3.1";
-            src = fetchHex {
-              pkg = "m2x_erlang";
-              version = "1.3.1";
-              sha256 =
-                "873db746f4428490670b54aabcc93fda8d94c3c4e25c94a9aef7275858a8b809";
-            };
-            beamDeps  = [ jsx_2_8_0 hackney_1_6_0 ];
-
-            meta = {
-              longDescription = ''Erlang client library for the AT&T M2X
-                                (http://m2x.att.com) API. AT&T M2X is a
-                                cloud-based fully managed time-series data
-                                storage service for network connected
-                                machine-to-machine (M2M) devices and the
-                                Internet of Things (IoT).'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/attm2x/m2x-erlang";
-            };
-          } // packageOverrides)
-      ) {};
-
-    m2x_erlang = m2x_erlang_1_3_1;
-
-    maas_1_0_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          poison_2_1_0
-        }:
-          buildMix ({
-            name = "maas";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "maas";
-              version = "1.0.0";
-              sha256 =
-                "f6c2a3dd4e291b7000d45938abd975a21e055ef2eba57701ed7e0399e7a64617";
-            };
-            beamDeps  = [ httpoison_0_8_3 poison_2_1_0 ];
-
-            meta = {
-              description = ''A wrapper for the Mars Atmospheric Weather System
-                            API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lucidstack/ex-maas";
-            };
-          } // packageOverrides)
-      ) {};
-
-    maas = maas_1_0_0;
-
-    maester_1_0_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "maester";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "maester";
-              version = "1.0.0";
-              sha256 =
-                "4fa324e1545ba5805d2eef2341c9554b52a51dfd79146dc13ec4b589e55efddd";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An API of Ice and Fire client for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sotojuan/maester";
-            };
-          } // packageOverrides)
-      ) {};
-
-    maester = maester_1_0_0;
-
-    magic_number_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "magic_number";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "magic_number";
-              version = "0.0.4";
-              sha256 =
-                "5b6fa41f5d24c3fd2f3cf9a96fefcf762c98bdd301158a95ab5355fe4f9eb61a";
-            };
-
-            meta = {
-              description = ''MagicNumber is the module to determine a file`s
-                            type from its magic number.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ishikawa/elixir-magic-number";
-            };
-          } // packageOverrides)
-      ) {};
-
-    magic_number = magic_number_0_0_4;
-
-    magnet_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "magnet";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "magnet";
-              version = "0.0.1";
-              sha256 =
-                "064af72e9422262813977752e2f7439501894bce48e5679576ceb93f6b649581";
-            };
-
-            meta = {
-              description = ''A magnet-uri encoder and decoder'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/gausby/magnet";
-            };
-          } // packageOverrides)
-      ) {};
-
-    magnet = magnet_0_0_1;
-
-    mail_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mail";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "mail";
-              version = "0.0.4";
-              sha256 =
-                "015bb93bc3233fbf0bb28daf71963ddc290d574d9b3d63e1b45641d1a2d4571e";
-            };
-
-            meta = {
-              description = ''Easily build a composable mail message'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/DockYard/elixir-mail";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mail = mail_0_0_4;
-
-    mailer_1_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_2_1_6,
-          gen_smtp_0_10_0
-        }:
-          buildMix ({
-            name = "mailer";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "mailer";
-              version = "1.0.1";
-              sha256 =
-                "08b834102ad6eb2f2a363b70939935d3d23d1e3a68d96a2a7f8730fb7834c63d";
-            };
-            beamDeps  = [ timex_2_1_6 gen_smtp_0_10_0 ];
-
-            meta = {
-              description = ''Mailer - A simple email client'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/antp/mailer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mailer = mailer_1_0_1;
-
-    mailgun_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_5_2 }:
-          buildMix ({
-            name = "mailgun";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "mailgun";
-              version = "0.1.2";
-              sha256 =
-                "9cc828e06238045c92414db8f2e9a64a6004aca9b9a4856e5222db99bd8528e8";
-            };
-            beamDeps  = [ poison_1_5_2 ];
-
-            meta = {
-              description = ''Elixir Mailgun Client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/chrismccord/mailgun";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mailgun = mailgun_0_1_2;
-
-    majremind_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "majremind";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "majremind";
-              version = "0.0.1";
-              sha256 =
-                "604ba3b2142497b2384c73b2320f9738711a9cc07b4348f8e870ee6e470c4749";
-            };
-
-            meta = {
-              longDescription = ''A self-maintained database of your updated
-                                server which tells you which one needs to be
-                                updated. It uses Disk Erlang Term Storage for
-                                its internal database, located at
-                                $HOME/.config/majremind/ '';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    majremind = majremind_0_0_1;
-
-    mandrake_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mandrake";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "mandrake";
-              version = "0.0.4";
-              sha256 =
-                "ed672e094f68ff07c1f8e78a3c8a95af3e23a71ca90515ad441738446ee18887";
-            };
-
-            meta = {
-              longDescription = ''Mandrake is a functional programming library
-                                that bring something else magic in elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mbasso/mandrake";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mandrake = mandrake_0_0_4;
-
-    mandrill_0_5_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "mandrill";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "mandrill";
-              version = "0.5.0";
-              sha256 =
-                "9fb3a65d01de47cfc979a492079960506f21f8975e37e994478a70ee04c8d9a6";
-            };
-            beamDeps  = [ httpoison_0_8_3 exjsx_3_2_0 ];
-
-            meta = {
-              longDescription = ''A Mandrill wrapper for Elixir Requires an
-                                active account with Mandrill
-                                (http://mandrill.com).'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/slogsdon/mandrill-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mandrill = mandrill_0_5_0;
-
-    maptu_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "maptu";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "maptu";
-              version = "0.1.0";
-              sha256 =
-                "8dc5fd69e78a948a6cd3b95a1b1cb1a7056948a4445e4abed773cae8c88c16da";
-            };
-
-            meta = {
-              description = ''Tiny library to convert from \"encoded\" maps to
-                            Elixir structs.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/whatyouhide/maptu";
-            };
-          } // packageOverrides)
-      ) {};
-
-    maptu = maptu_0_1_0;
-
-    marco_polo_0_2_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          decimal_1_1_2,
-          connection_1_0_2
-        }:
-          buildMix ({
-            name = "marco_polo";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "marco_polo";
-              version = "0.2.2";
-              sha256 =
-                "a3107bb545590f4533dee040432659566b9c5ddbbbdbf7d1ee92381f450c0956";
-            };
-            beamDeps  = [ decimal_1_1_2 connection_1_0_2 ];
-
-            meta = {
-              description = ''Binary driver for the OrientDB database.'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/MyMedsAndMe/marco_polo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    marco_polo = marco_polo_0_2_2;
-
-    mariaex_0_4_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, decimal_1_1_2 }:
-          buildMix ({
-            name = "mariaex";
-            version = "0.4.4";
-            src = fetchHex {
-              pkg = "mariaex";
-              version = "0.4.4";
-              sha256 =
-                "fadba91ff3719ac0fae7d454abfd812819630ea9f9aec768c5321331baa38b79";
-            };
-            beamDeps  = [ decimal_1_1_2 ];
-
-            meta = {
-              description = ''Pure elixir database driver for MariaDB /
-                            MySQL.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/xerions/mariaex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    marked_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "marked";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "marked";
-              version = "0.0.1";
-              sha256 =
-                "6e16369d41355bef05b18f98230afe08dcb3ccfaaab168382513d86c19721035";
-            };
-
-            meta = {
-              description = ''CommonMark compatible Markdown parser'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    marked = marked_0_0_1;
-
-    markit_0_1_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "markit";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "markit";
-              version = "0.1.2";
-              sha256 =
-                "6304ceb1e7a5787555bc7d048bf3c9c0b432fe5378c6d630fb02d0bb871e57b5";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Access stock market data from markit.com'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/col/markit";
-            };
-          } // packageOverrides)
-      ) {};
-
-    markit = markit_0_1_2;
-
-    markit_skill_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          markit_0_1_2,
-          inflex_1_5_0,
-          alexa_0_1_14
-        }:
-          buildMix ({
-            name = "markit_skill";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "markit_skill";
-              version = "0.0.2";
-              sha256 =
-                "166d8ef88c08c21821dda379a053af761db4de5dff50226bfcb0e3a18fc855db";
-            };
-            beamDeps  = [ markit_0_1_2 inflex_1_5_0 alexa_0_1_14 ];
-
-            meta = {
-              description = ''Amazon Alexa skill that uses data from
-                            Markit.com'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/col/markit_skill";
-            };
-          } // packageOverrides)
-      ) {};
-
-    markit_skill = markit_skill_0_0_2;
-
-    maru_entity_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "maru_entity";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "maru_entity";
-              version = "0.1.2";
-              sha256 =
-                "93b1f9f3941032cdf98b999cf4db85cace7e6259a78427322c5af8a5621e45b6";
-            };
-
-            meta = {
-              description = ''Elixir copy of grape-entity'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    maru_entity = maru_entity_0_1_2;
-
-    math_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "math";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "math";
-              version = "0.2.0";
-              sha256 =
-                "75557fb9743e866f743d894102da851531ffc69b4c0f8fdd12cd749acb1a6215";
-            };
-
-            meta = {
-              longDescription = ''The Math module adds many useful functions
-                                that extend Elixir`s standard library. - General
-                                Functions • a <~> b Comparison of floats, to
-                                check if they are _nearly_ equal. •
-                                Math.pow(x, n) Arithmetic exponentiation. Works
-                                both with integer powers and floats. •
-                                Math.sqrt(x) The square root of x. •
-                                Math.nth_root(x, n) The n-th root of x. •
-                                Math.isqrt(x) The integer square root of x. •
-                                Math.gcd(a, b) The greatest common divisor of a
-                                and b. • Math.lcm(a, b) The least common
-                                multiple of a and b. • Math.factorial(n) The
-                                n-th factorial number. •
-                                Math.k_permutations(n, k) The number of distinct
-                                ways to create groups of size k from n distinct
-                                elements. • Math.k_combinations(n, k) The
-                                number of distinct ways to create groups of size
-                                k from n distinct elements where order does not
-                                matter. - Logarithms • Math.exp(x) Calculates
-                                ℯ to the xth power. • Math.log(x) Calculates
-                                the natural logarithm (base ℯ) of x. •
-                                Math.log(x, b) Calculates the base-b logarithm
-                                of x • Math.log2(x) Calculates the binary
-                                logarithm (base 2) of x. • Math.log10(x)
-                                Calculates the common logarithm (base 10) of x.
-                                • Math.e Returns a floating-point
-                                approximation of the number ℯ. - Trigonometry
-                                • Math.pi Returns a floating-point
-                                approximation of the number π. •
-                                Math.deg2rad(x) converts from degrees to
-                                radians. • Math.rad2deg(x) converts from
-                                radians to degrees. • Math.sin(x) The sine of
-                                x. • Math.cos(x) The cosine of x. •
-                                Math.tan(x) The tangent of x. • Math.asin(x)
-                                The inverse sine of x. • Math.acos(x) The
-                                inverse cosine of x. • Math.atan(x) The
-                                inverse tangent of x. • Math.atan2(x, y) The
-                                inverse tangent of x and y. This variant returns
-                                the inverse tangent in the correct quadrant, as
-                                the signs of both x and y are known. •
-                                Math.sinh(x) The hyperbolic sine of x. •
-                                Math.cosh(x) The hyperbolic cosine of x. •
-                                Math.tanh(x) The hyperbolic tangent of x. •
-                                Math.asinh(x) The inverse hyperbolic sine of x.
-                                • Math.acosh(x) The inverse hyperbolic cosine
-                                of x. • Math.atanh(x) The inverse hyperbolic
-                                tangent of x. - Working with Collections •
-                                Math.Enum.product(collection) The result of
-                                multiplying all elements in the passed
-                                collection. • Math.Enum.mean(collection) the
-                                mean of the numbers in the collection. •
-                                Math.Enum.median(collection) the median of the
-                                numbers in the collection.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/folz/math";
-            };
-          } // packageOverrides)
-      ) {};
-
-    math = math_0_2_0;
-
-    matrix_0_3_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          exprintf_0_1_6,
-          earmark_0_2_1
-        }:
-          buildMix ({
-            name = "matrix";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "matrix";
-              version = "0.3.1";
-              sha256 =
-                "3184d70b36666d52e011caf8be4590e2ecf3cc772203ec22b44d90c302592523";
-            };
-            beamDeps  = [ exprintf_0_1_6 earmark_0_2_1 ];
-
-            meta = {
-              longDescription = ''Matrix is a linear algebra library for
-                                manipulating dense matrices. Its primary design
-                                goal is ease of use.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/twist-vector/elixir-matrix.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    matrix = matrix_0_3_1;
-
-    maxwell_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, mimerl_1_0_2 }:
-          buildMix ({
-            name = "maxwell";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "maxwell";
-              version = "1.0.0";
-              sha256 =
-                "4a71f54a7645210f5274c00171a217a03a04635620d5eef52d0463a88f64d106";
-            };
-            beamDeps  = [ mimerl_1_0_2 ];
-
-            meta = {
-              longDescription = ''Maxwell is an HTTP client that provides a
-                                common interface over many adapters (such as
-                                hackney, ibrowse) and embraces the concept of
-                                Rack middleware when processing the
-                                request/response cycle.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zhongwencool/maxwell";
-            };
-          } // packageOverrides)
-      ) {};
-
-    maxwell = maxwell_1_0_0;
-
-    maybe_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "maybe";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "maybe";
-              version = "0.0.1";
-              sha256 =
-                "b1915afa2dd6a2db64ad7b20b41eeb2d3cb576cdbd20679594eb6ef76f612638";
-            };
-
-            meta = {
-              description = ''Utils to deal with errors'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zweifisch/maybe";
-            };
-          } // packageOverrides)
-      ) {};
-
-    maybe = maybe_0_0_1;
-
-    mazurka_1_0_0 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, mimetype_parser_0_1_2
-        }:
-          buildMix ({
-            name = "mazurka";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "mazurka";
-              version = "1.0.0";
-              sha256 =
-                "7f035374ceb139b7531ca24bd111ee25cbf3be11b45af1bbf663ed3b832e7b13";
-            };
-            beamDeps  = [ mimetype_parser_0_1_2 ];
-
-            meta = {
-              description = ''hypermedia api toolkit'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mazurka/mazurka";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mazurka = mazurka_1_0_0;
-
-    mazurka_dsl_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mazurka_dsl";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "mazurka_dsl";
-              version = "0.1.1";
-              sha256 =
-                "2877b27736daa1f5757ff1c2b34ec35d43c8e501b5292be5f9db7de95b88ea69";
-            };
-
-            meta = {
-              description = ''DSL for defining mazurka resources'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mazurka/mazurka_dsl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mazurka_dsl = mazurka_dsl_0_1_1;
-
-    mazurka_mediatype_0_2_0 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, etude_1_0_0_beta_2
-        }:
-          buildMix ({
-            name = "mazurka_mediatype";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "mazurka_mediatype";
-              version = "0.2.0";
-              sha256 =
-                "4ccd8b27d6405e93cb34861f211d69b79ab46c2dbc5c7874d4ee3c580a5754bb";
-            };
-            beamDeps  = [ etude_1_0_0_beta_2 ];
-
-            meta = {
-              description = ''mazurka mediatype interface'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mazurka/mazurka_mediatype";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mazurka_mediatype = mazurka_mediatype_0_2_0;
-
-    mazurka_mediatype_hyperjson_0_2_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_3_1,
-          mazurka_mediatype_0_2_0,
-          etude_1_0_0_beta_2
-        }:
-          buildMix ({
-            name = "mazurka_mediatype_hyperjson";
-            version = "0.2.3";
-            src = fetchHex {
-              pkg = "mazurka_mediatype_hyperjson";
-              version = "0.2.3";
-              sha256 =
-                "f09489f242598ece8496f50c9dfc3d1a051b6115a654ebbb9ce5336e04b2cb8d";
-            };
-            beamDeps  = [
-                          poison_1_3_1
-                          mazurka_mediatype_0_2_0
-                          etude_1_0_0_beta_2
-                        ];
-
-            meta = {
-              description = ''hyper+json mediatype compiler for mazurka'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/mazurka/mazurka_mediatype_hyperjson";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mazurka_mediatype_hyperjson = mazurka_mediatype_hyperjson_0_2_3;
-
-    mc_data_0_0_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "mc_data";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "mc_data";
-              version = "0.0.5";
-              sha256 =
-                "0ad4b4489554951f93fc9da39b8f14e5b87dada3005d6d012528cbc387d0aa27";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              description = ''Provides access to data from the game
-                            Minecraft.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/McEx/McData";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mc_data = mc_data_0_0_5;
-
-    mcup_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mcup";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "mcup";
-              version = "0.0.2";
-              sha256 =
-                "c59537882707237c961d3d69b149619ec35c808cd5e98646cbcb7985e300b975";
-            };
-
-            meta = {
-              description = ''DSL for markup. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Joe-noh/mcup";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mcup = mcup_0_0_2;
-
-    mdns_server_0_2_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "mdns_server";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "mdns_server";
-              version = "0.2.0";
-              sha256 =
-                "bc9465880e15e57033960ab6820258b87134bef69032210c67e53e3718e289d0";
-            };
-
-            meta = {
-              description = ''mDNS service discovery server'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Licenser/erlang-mdns-server";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mdns_server = mdns_server_0_2_0;
-
-    mdns_server_lib_0_2_3 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          ranch_1_1_0,
-          mdns_server_0_2_0,
-          lager_3_0_2
-        }:
-          buildRebar3 ({
-            name = "mdns_server_lib";
-            version = "0.2.3";
-            src = fetchHex {
-              pkg = "mdns_server_lib";
-              version = "0.2.3";
-              sha256 =
-                "078775ccea5d768095716ca6bd82f657601203352495d9726f4cc080c8c07695";
-            };
-
-            beamDeps  = [ ranch_1_1_0 mdns_server_0_2_0 lager_3_0_2 ];
-
-            meta = {
-              description = ''server side for mdns client server
-                            implementation'';
-              license = stdenv.lib.licenses.cddl;
-              homepage = "https://github.com/Licenser/mdns_server_lib";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mdns_server_lib = mdns_server_lib_0_2_3;
-
-    meck_0_8_3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "meck";
-            version = "0.8.3";
-            src = fetchHex {
-              pkg = "meck";
-              version = "0.8.3";
-              sha256 =
-                "53bd3873d0193d6b2b4a165cfc4b9ffc3934355c3ba19e88239ef6a027cc02b6";
-            };
-
-            meta = {
-              description = ''A mocking framework for Erlang'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/eproxus/meck";
-            };
-          } // packageOverrides)
-      ) {};
-
-    meck_0_8_4 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "meck";
-            version = "0.8.4";
-            src = fetchHex {
-              pkg = "meck";
-              version = "0.8.4";
-              sha256 =
-                "2cdfbd0edd8f62b3d2061efc03c0e490282dd2ea6de44e15d2006e83f4f8eead";
-            };
-
-            meta = {
-              description = ''A mocking framework for Erlang'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/eproxus/meck";
-            };
-          } // packageOverrides)
-      ) {};
-
-    meck = meck_0_8_4;
-
-    meld_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "meld";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "meld";
-              version = "0.1.2";
-              sha256 =
-                "3f86b810df38e0767a472829a26f92c07c986c1bcc41421eba021a5a6c174e83";
-            };
-
-            meta = {
-              description = ''create real CLIs in elixir, using mix tasks'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/conflate/meld";
-            };
-          } // packageOverrides)
-      ) {};
-
-    meld = meld_0_1_2;
-
-    mellon_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          plug_1_1_5
-        }:
-          buildMix ({
-            name = "mellon";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "mellon";
-              version = "0.1.1";
-              sha256 =
-                "2b05fca901c0b9609cdd65cfb015a7646a9ec239cf1694ee8f1384a53a5ac0b4";
-            };
-            beamDeps  = [ poison_2_1_0 plug_1_1_5 ];
-
-            meta = {
-              longDescription = ''Mellon is a Plug used in authentication of
-                                APIs. It`s flexible, you can define your own
-                                validator etc.'';
-
-              homepage = "https://github.com/sajmoon/mellon";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mellon = mellon_0_1_1;
-
-    mem_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mem";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "mem";
-              version = "0.2.0";
-              sha256 =
-                "6a97047af66ab2c4283460ae43611c9a843abb95584dca4e648ed320c7fdfa34";
-            };
-
-            meta = {
-              description = ''KV cache with TTL, LRU and Persistence support'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/falood/mem";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mem = mem_0_2_0;
-
-    memcache_client_1_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          poison_2_1_0,
-          connection_1_0_2
-        }:
-          buildMix ({
-            name = "memcache_client";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "memcache_client";
-              version = "1.1.0";
-              sha256 =
-                "e12d6add6d9ef817f7cf47d85c37c75c9ec81512a7ad88f23b50963048bce439";
-            };
-            beamDeps  = [ poolboy_1_5_1 poison_2_1_0 connection_1_0_2 ];
-
-            meta = {
-              description = ''Memcache client library utilizing the memcache
-                            binary protocol.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tsharju/memcache_client";
-            };
-          } // packageOverrides)
-      ) {};
-
-    memcache_client = memcache_client_1_1_0;
-
-    merkle_tree_1_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "merkle_tree";
-            version = "1.1.1";
-            src = fetchHex {
-              pkg = "merkle_tree";
-              version = "1.1.1";
-              sha256 =
-                "6020578ceee91ae26c63aab9bf8112fbb83cc029d25e6ad4f35b2ed4bfdcaf7a";
-            };
-
-            meta = {
-              longDescription = ''A hash tree or Merkle tree is a tree in which
-                                every non-leaf node is labelled with the hash of
-                                the labels or values (in case of leaves) of its
-                                child nodes. Hash trees are useful because they
-                                allow efficient and secure verification of the
-                                contents of large data structures.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/yosriady/merkle_tree";
-            };
-          } // packageOverrides)
-      ) {};
-
-    merkle_tree = merkle_tree_1_1_1;
-
-    messagepack_0_4_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "messagepack";
-            version = "0.4.1";
-            src = fetchHex {
-              pkg = "messagepack";
-              version = "0.4.1";
-              sha256 =
-                "cdf2d4a2af846a8c3cd43a9f80082883ff7c2c5e221ec078375102db0fb5ca2f";
-            };
-
-            meta = {
-              description = ''MessagePack for Erlang / Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/tomaon/messagepack";
-            };
-          } // packageOverrides)
-      ) {};
-
-    messagepack = messagepack_0_4_1;
-
-    messenger_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "messenger";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "messenger";
-              version = "0.0.2";
-              sha256 =
-                "dda5b1bde69852ac8f2ae7f2d10d55209fd7b6babfc4e664779e3204a9e258b8";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Facebook messenger API client for Elixir'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    messenger = messenger_0_0_2;
-
-    meta_inspector_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "meta_inspector";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "meta_inspector";
-              version = "0.0.2";
-              sha256 =
-                "60edc00c2af5ab30e2abebe5f40614421fde2861e147147b33ae54bf4beb180a";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''HTTP Metadata inspector'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    meta_inspector = meta_inspector_0_0_2;
-
-    metainvestigator_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, floki_0_8_1 }:
-          buildMix ({
-            name = "metainvestigator";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "metainvestigator";
-              version = "0.0.3";
-              sha256 =
-                "774b3973090491a9a342a68c5cf099c98581ae0f1b1d313a08a7d2030d541781";
-            };
-            beamDeps  = [ floki_0_8_1 ];
-
-            meta = {
-              description = ''A library for web scraping, inspired by
-                            MetaInspector'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nekova/metainvestigator";
-            };
-          } // packageOverrides)
-      ) {};
-
-    metainvestigator = metainvestigator_0_0_3;
-
-    meter_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "meter";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "meter";
-              version = "0.1.0";
-              sha256 =
-                "029f4f4a05b10c05b45c70671a353d780964759c3f4b90cf1531c02ef5466724";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Track your elixir application on google
-                            analytycs'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/carlo-colombo/meter";
-            };
-          } // packageOverrides)
-      ) {};
-
-    meter = meter_0_1_0;
-
-    metrics_1_0_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "metrics";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "metrics";
-              version = "1.0.1";
-              sha256 =
-                "69b09adddc4f74a40716ae54d140f93beb0fb8978d8636eaded0c31b6f099f16";
-            };
-
-            meta = {
-              description = ''A generic interface to different metrics systems
-                            in Erlang.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/benoitc/erlang-metrics";
-            };
-          } // packageOverrides)
-      ) {};
-
-    metrics_1_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "metrics";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "metrics";
-              version = "1.1.0";
-              sha256 =
-                "48bd4774cef5bd88680cf71c9db46acbe5a80f23072cb2a0a42e8f7d5bd33549";
-            };
-
-            meta = {
-              description = ''A generic interface to different metrics systems
-                            in Erlang.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/benoitc/erlang-metrics";
-            };
-          } // packageOverrides)
-      ) {};
-
-    metrics_1_2_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "metrics";
-            version = "1.2.0";
-            src = fetchHex {
-              pkg = "metrics";
-              version = "1.2.0";
-              sha256 =
-                "c27c7786b8ad0c5f941956fc413f7f31a2e26ba72ebf2fb1396cf363b0b9e70b";
-            };
-
-            meta = {
-              description = ''A generic interface to different metrics systems
-                            in Erlang.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/benoitc/erlang-metrics";
-            };
-          } // packageOverrides)
-      ) {};
-
-    metrics = metrics_1_2_0;
-
-    metrix_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, logfmt_3_0_2 }:
-          buildMix ({
-            name = "metrix";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "metrix";
-              version = "0.2.0";
-              sha256 =
-                "544fbe90988d7ac1e828287b44d88166c8aa2738ec983b1578af7d51d7b63dd7";
-            };
-            beamDeps  = [ logfmt_3_0_2 ];
-
-            meta = {
-              longDescription = ''Metrix is a library to log custom application
-                                metrics, in a well-structured, human *and*
-                                machine readable format, for use by downstream
-                                log processing systems (like Librato, Reimann,
-                                etc...)'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rwdaigle/metrix";
-            };
-          } // packageOverrides)
-      ) {};
-
-    metrix = metrix_0_2_0;
-
-    mex_0_0_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mex";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "mex";
-              version = "0.0.5";
-              sha256 =
-                "52765dc6f5d0b03dba9f08424b85cfbc96f873dfc769cdb6a26ac391ad3344e3";
-            };
-
-            meta = {
-              description = ''Macro-expansion display helper for IEx.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mrluc/mex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mex = mex_0_0_5;
-
-    microformats2_0_0_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpotion_2_2_2,
-          floki_0_7_2
-        }:
-          buildMix ({
-            name = "microformats2";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "microformats2";
-              version = "0.0.5";
-              sha256 =
-                "890ca1812738869aa65865339a730c5542949cac4b017b25fc276e81b37157b2";
-            };
-            beamDeps  = [ httpotion_2_2_2 floki_0_7_2 ];
-
-            meta = {
-              description = ''A microformats2 parser
-                            (http://microformats.org/wiki/microformats-2) for
-                            Elixir'';
-              license = stdenv.lib.licenses.agpl3;
-              homepage = "https://github.com/ckruse/microformats2-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    microformats2 = microformats2_0_0_5;
-
-    milkpotion_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          poison_2_1_0
-        }:
-          buildMix ({
-            name = "milkpotion";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "milkpotion";
-              version = "0.0.2";
-              sha256 =
-                "1106589d5bdb3d65fd18ff997760b8c3ad9bca7744ae1a0b48b2995227f0c0fd";
-            };
-            beamDeps  = [ httpoison_0_8_3 poison_2_1_0 ];
-
-            meta = {
-              description = ''milkpotion is an api wrapper for Remember the
-                            Milk'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/croesnick/milkpotion.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    milkpotion = milkpotion_0_0_2;
-
-    milliseconds_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "milliseconds";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "milliseconds";
-              version = "0.0.1";
-              sha256 =
-                "6f82b9f47590e96ed90761d6eb331a9c11a40b68216d5e4867420899420035f0";
-            };
-
-            meta = {
-              longDescription = '' Simple library to work with milliseconds.
-                                Convert text to milliseconds: convert(\"2d\")
-                                Convert milliseconds to text: convert(8640000)
-                                Calculate future time: future_time(\"6hrs\") '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/davebryson/elixir_milliseconds";
-            };
-          } // packageOverrides)
-      ) {};
-
-    milliseconds = milliseconds_0_0_1;
-
-    mime_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mime";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "mime";
-              version = "1.0.0";
-              sha256 =
-                "069f07e17e67069195b747ed8b935c547a79adf32c4f8b4cae6dec7d3f1c805c";
-            };
-
-            meta = {
-              description = ''A MIME type module for Elixir'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/elixir-lang/mime";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mime = mime_1_0_0;
-
-    mime_types_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mime_types";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "mime_types";
-              version = "0.1.1";
-              sha256 =
-                "46b4f4a52deda3ac9fa48ae6e3582efb851d6c72de4a11e4dfcc7e386dab710b";
-            };
-
-            meta = {
-              description = ''A toolbelt for working with MIME types in
-                            Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/christhekeele/mime_types";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mime_types = mime_types_0_1_1;
-
-    mimerl_1_0_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "mimerl";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "mimerl";
-              version = "1.0.2";
-              sha256 =
-                "7a4c8e1115a2732a67d7624e28cf6c9f30c66711a9e92928e745c255887ba465";
-            };
-
-            meta = {
-              description = ''Library to handle mimetypes'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/benoitc/mimerl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mimerl_1_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "mimerl";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "mimerl";
-              version = "1.1.0";
-              sha256 =
-                "def0f1922a5dcdeeee6e4f41139b364e7f0f40239774b528a0986b12bcb42ddc";
-            };
-
-            meta = {
-              description = ''Library to handle mimetypes'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/benoitc/mimerl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mimerl = mimerl_1_1_0;
-
-    mimetype_parser_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mimetype_parser";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "mimetype_parser";
-              version = "0.1.2";
-              sha256 =
-                "c495521cad6cf49fb79098e68e921c58955312df46c9c5aa5abab44224c2647d";
-            };
-
-            meta = {
-              description = ''parse mimetypes'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/mimetype_parser";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mimetype_parser = mimetype_parser_0_1_2;
-
-    mimex_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mimex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "mimex";
-              version = "0.1.0";
-              sha256 =
-                "68858d5fb6a59780c3b94a445fd994856c3f1d0f3ed8dff6a95b6aa80027e4de";
-            };
-
-            meta = {
-              description = ''MIME type utilities for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hex-sh/mimex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mimex = mimex_0_1_0;
-
-    minmaxlist_0_0_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "minmaxlist";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "minmaxlist";
-              version = "0.0.6";
-              sha256 =
-                "cc9bc50dc971c8c3743bcecdaca35330593d6466d911c656ba7d718836e68a57";
-            };
-
-            meta = {
-              longDescription = ''Elixir library extending `Enum.min_by/2`,
-                                `Enum.max_by/2` and `Enum.min_max_by/2` to
-                                return a list of results instead of just one.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/seantanly/elixir-minmaxlist";
-            };
-          } // packageOverrides)
-      ) {};
-
-    minmaxlist = minmaxlist_0_0_6;
-
-    misc_random_0_2_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "misc_random";
-            version = "0.2.6";
-            src = fetchHex {
-              pkg = "misc_random";
-              version = "0.2.6";
-              sha256 =
-                "4fe3db3bddcf55d93404fa9f5bf006800d54bfeb78bcf583376750d28ac0d7bc";
-            };
-
-            meta = {
-              longDescription = ''This is a very thin wrapper around erlang`s
-                                random:uniform method. It allows you to create
-                                random strings or numbers.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gutschilla/elixir-helper-random";
-            };
-          } // packageOverrides)
-      ) {};
-
-    misc_random = misc_random_0_2_6;
-
-    mix_apidoc_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_5_2 }:
-          buildMix ({
-            name = "mix_apidoc";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "mix_apidoc";
-              version = "0.2.0";
-              sha256 =
-                "0f6119dc530050b8344e62e82b450dcd8cdad9a370d39af17420d8e7299eb059";
-            };
-            beamDeps  = [ poison_1_5_2 ];
-
-            meta = {
-              longDescription = ''A mix task that triggers apidoc to create
-                                documentation for RESTful web APIs from inline
-                                code annotations.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sldab/mix_apidoc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mix_apidoc = mix_apidoc_0_2_0;
-
-    mix_deps_tree_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mix_deps_tree";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "mix_deps_tree";
-              version = "0.1.0";
-              sha256 =
-                "de19ea3eebf578080263f25fdf6a248fdc460aa86e41d582cc0d0379329fa6b6";
-            };
-
-            meta = {
-              description = ''Mix task to print dependency tree of an
-                            application to a terminal'';
-
-              homepage = "https://github.com/liveforeverx/mix_deps_tree";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mix_deps_tree = mix_deps_tree_0_1_0;
-
-    mix_erlang_tasks_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mix_erlang_tasks";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "mix_erlang_tasks";
-              version = "0.1.0";
-              sha256 =
-                "95d2839c422c482a70c08a8702da8242f86b773f8ab6e8602a4eb72da8da04ed";
-            };
-
-            meta = {
-              longDescription = ''This project provides a few Mix tasks that
-                                make it more convenient to use Mix as a build
-                                tool and package manager when developing
-                                applications in Erlang.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/alco/mix-erlang-tasks";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mix_erlang_tasks = mix_erlang_tasks_0_1_0;
-
-    mix_eunit_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mix_eunit";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "mix_eunit";
-              version = "0.1.2";
-              sha256 =
-                "910cd611635e845be3c57b2c6c0dac7af24c87055b3d289fe93d7df1dafaeb6c";
-            };
-
-            meta = {
-              description = ''A mix task to run eunit tests, works for umbrella
-                            projects'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/dantswain/mix_eunit";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mix_eunit = mix_eunit_0_1_2;
-
-    mix_info_0_7_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mix_info";
-            version = "0.7.2";
-            src = fetchHex {
-              pkg = "mix_info";
-              version = "0.7.2";
-              sha256 =
-                "7b4430ea649bb0c978f3b761403c068b08d9781c3f325c3f0dc57c1b44f395a2";
-            };
-
-            meta = {
-              longDescription = ''A mix task that counts directories, files,
-                                lines of code, modules, functions etc and
-                                displays the results.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pskordilakis/mix_info";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mix_info = mix_info_0_7_2;
-
-    mix_test_watch_0_2_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, fs_0_9_2 }:
-          buildMix ({
-            name = "mix_test_watch";
-            version = "0.2.6";
-            src = fetchHex {
-              pkg = "mix_test_watch";
-              version = "0.2.6";
-              sha256 =
-                "b7019e9a0eba42bc98f15be9c1402f23c2b0dab7b67e71bba8bc5b337b0ab273";
-            };
-            beamDeps  = [ fs_0_9_2 ];
-
-            meta = {
-              description = ''Automatically run tests when files change'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lpil/mix-test.watch";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mix_test_watch = mix_test_watch_0_2_6;
-
-    mixgraph_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          json_0_3_3,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "mixgraph";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "mixgraph";
-              version = "0.0.1";
-              sha256 =
-                "0c911c4e300d7e5196ff9d427b9d66d935d540309cb8a54a397641f7059f1700";
-            };
-            beamDeps  = [ json_0_3_3 httpotion_2_2_2 ];
-
-            meta = {
-              description = ''Create an interactive dependency graph for any
-                            hex package published in hex.pm'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sivsushruth/mixgraph";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mixgraph = mixgraph_0_0_1;
-
-    mixpanel_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exjsx_3_1_0 }:
-          buildMix ({
-            name = "mixpanel";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "mixpanel";
-              version = "0.0.3";
-              sha256 =
-                "7b81d80d3705e5d4451951984bac49d476e3c79131138e9ffb66538f9c51a56e";
-            };
-            beamDeps  = [ exjsx_3_1_0 ];
-
-            meta = {
-              description = ''A client for the Mixpanel HTTP API. See
-                            mixpanel.com.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/michihuber/mixpanel_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mixpanel = mixpanel_0_0_3;
-
-    mixpanel_api_ex_0_8_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "mixpanel_api_ex";
-            version = "0.8.3";
-            src = fetchHex {
-              pkg = "mixpanel_api_ex";
-              version = "0.8.3";
-              sha256 =
-                "1ff5eb4aa333495a86868873deb8fcd04c5f2e6f2560d77ac6ccbe07e2e3d7b4";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir client for the Mixpanel API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/agevio/mixpanel_api_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mixpanel_api_ex = mixpanel_api_ex_0_8_3;
-
-    mixpanel_data_client_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_3_1,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "mixpanel_data_client";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "mixpanel_data_client";
-              version = "0.0.2";
-              sha256 =
-                "7f3bbd608ae18153655f27bd50ea01ad85630d6c1cc6ab9ed336e95419f06c86";
-            };
-            beamDeps  = [ poison_1_3_1 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Client library for interacting with the Mixpanel
-                            Data API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jeregrine/mixpanel_data_client";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mixpanel_data_client = mixpanel_data_client_0_0_2;
-
-    mixunit_0_9_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mixunit";
-            version = "0.9.2";
-            src = fetchHex {
-              pkg = "mixunit";
-              version = "0.9.2";
-              sha256 =
-                "2c0e66d10d479ec95c636d2de1db04cba03574282182af0df49c297230b22d43";
-            };
-
-            meta = {
-              description = ''an eunit task for mix'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/talentdeficit/mixunit";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mixunit = mixunit_0_9_2;
-
-    mmExchangeRate_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          jsx_2_8_0,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "mmExchangeRate";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "mmExchangeRate";
-              version = "0.0.1";
-              sha256 =
-                "6daf6e74bf3ce8f9d7cc19b18b023d700201a847dde94a0eef1f263ce65efbac";
-            };
-            beamDeps  = [ jsx_2_8_0 httpotion_2_2_2 ];
-
-            meta = {
-              longDescription = ''A simple exchange rate checker and calculator
-                                based on Central Bank of Myanmar Api. '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/Arkar-Aung/mmExchangeRate";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mmExchangeRate = mmExchangeRate_0_0_1;
-
-    mmath_0_2_0_alpha4 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "mmath";
-            version = "0.2.0-alpha4";
-            src = fetchHex {
-              pkg = "mmath";
-              version = "0.2.0-alpha4";
-              sha256 =
-                "a855fe72b1939659a2856b32c74e148ed6c1d58cfb6eea5a24787995d66c05d7";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''math library for metric sequences and binary
-                            arrays.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/dalmatinerdb/mmath";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mmath_0_2_0_alpha7 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "mmath";
-            version = "0.2.0-alpha7";
-            src = fetchHex {
-              pkg = "mmath";
-              version = "0.2.0-alpha7";
-              sha256 =
-                "b4d68cce7e243b4e16f7a93cbdb16605f00c469cd9ebf7aa58c8b3214f8f8868";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''math library for metric sequences and binary
-                            arrays.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/dalmatinerdb/mmath";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mmath = mmath_0_2_0_alpha7;
-
-    mnemonex_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, the_fuzz_0_3_0 }:
-          buildMix ({
-            name = "mnemonex";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "mnemonex";
-              version = "1.1.0";
-              sha256 =
-                "e3b0bf58cdee4d18cdc324d3bb6f6241724e6d38b4fcb24fc04e2dae243339b9";
-            };
-            beamDeps  = [ the_fuzz_0_3_0 ];
-
-            meta = {
-              description = ''mnemonicode encoder/decoder'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/mnemonex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mnemonex = mnemonex_1_1_0;
-
-    mnemonic_slugs_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mnemonic_slugs";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "mnemonic_slugs";
-              version = "0.0.1";
-              sha256 =
-                "d5200aaf06da3f9f307b58464f5eca2ed1a0dc379a12fe4f42444bb1e30a4bd8";
-            };
-
-            meta = {
-              description = ''MnemonicSlugs is an Elixir library for generating
-                            memorable slugs.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/devshane/mnemonic_slugs";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mnemonic_slugs = mnemonic_slugs_0_0_1;
-
-    mochiweb_2_12_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "mochiweb";
-            version = "2.12.2";
-            src = fetchHex {
-              pkg = "mochiweb";
-              version = "2.12.2";
-              sha256 =
-                "d3e681d4054b74a96cf2efcd09e94157ab83a5f55ddc4ce69f90b8144673bd7a";
-            };
-
-            meta = {
-              description = ''MochiWeb is an Erlang library for building
-                            lightweight HTTP servers. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mochi/mochiweb";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mochiweb = mochiweb_2_12_2;
-
-    mochiweb_html_2_15_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "mochiweb_html";
-            version = "2.15.0";
-            src = fetchHex {
-              pkg = "mochiweb_html";
-              version = "2.15.0";
-              sha256 =
-                "7651a4ef29bd6d69819b37b6aa12c7616c5cf75e67ccd849cfb499e2bbbf0ce6";
-            };
-
-            meta = {
-              description = ''Mochiweb HTML parser'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/philss/mochiweb_html";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mochiweb_html = mochiweb_html_2_15_0;
-
-    mock_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, meck_0_8_4 }:
-          buildMix ({
-            name = "mock";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "mock";
-              version = "0.1.3";
-              sha256 =
-                "bf7cf50d528394d870cdecac4920ab719cec0af98eff95759b57cab0e5ee143e";
-            };
-            beamDeps  = [ meck_0_8_4 ];
-
-            meta = {
-              longDescription = ''A mocking libary for the Elixir language. We
-                                use the Erlang meck library to provide module
-                                mocking functionality for Elixir. It uses macros
-                                in Elixir to expose the functionality in a
-                                convenient manner for integrating in Elixir
-                                tests.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jjh42/mock";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mock = mock_0_1_3;
-
-    module_mocker_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "module_mocker";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "module_mocker";
-              version = "0.2.0";
-              sha256 =
-                "ce8aa59f0c58ce7d333a1853f6a3a106fe0cbbe79f6f9aeb72370d66ed454f5b";
-            };
-
-            meta = {
-              longDescription = ''ModuleMocker allows to use different module
-                                in development and test environment. It allows
-                                convention to mock module for test'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rohanpujaris/module_mocker";
-            };
-          } // packageOverrides)
-      ) {};
-
-    module_mocker = module_mocker_0_2_0;
-
-    mogrify_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mogrify";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "mogrify";
-              version = "0.3.0";
-              sha256 =
-                "490631d662a0303d468b48868929df99cc62081b5711c3a6b3eb7b0b2dac21e5";
-            };
-
-            meta = {
-              description = ''ImageMagick command line wrapper.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/route/mogrify";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mogrify = mogrify_0_3_0;
-
-    mojoauth_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_1_0_2 }:
-          buildMix ({
-            name = "mojoauth";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "mojoauth";
-              version = "1.0.2";
-              sha256 =
-                "72d8b3fdff6d6571d7dcc9ad46b249823c84e0321920a0e9d6f39ee5f9fc2f23";
-            };
-            beamDeps  = [ timex_1_0_2 ];
-
-            meta = {
-              longDescription = ''MojoAuth is a set of standard approaches to
-                                cross-app authentication based on HMAC.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/adhearsion/mojo-auth.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mojoauth = mojoauth_1_0_2;
-
-    moment_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "moment";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "moment";
-              version = "0.1.0";
-              sha256 =
-                "0cc098c8ba88f768ffd41e4bc4bb45b559d49361a2f8f7a39c686020da3f1842";
-            };
-
-            meta = {
-              description = ''Parse, validate, manipulate, and display dates in
-                            Elixir.'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/atabary/moment";
-            };
-          } // packageOverrides)
-      ) {};
-
-    moment = moment_0_1_0;
-
-    mon_handler_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, dialyze_0_2_1 }:
-          buildMix ({
-            name = "mon_handler";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "mon_handler";
-              version = "1.0.2";
-              sha256 =
-                "d18942f95750b94e3da1d9fca7a2ea4b1b1d27c017feff76cb109b29bb308f58";
-            };
-            beamDeps  = [ dialyze_0_2_1 ];
-
-            meta = {
-              longDescription = ''A minimal GenServer that monitors a given
-                                GenEvent handler. This server will handle exits
-                                of the Handler and attempt to re-add it to the
-                                manager when unexpected exits occur. Exits for
-                                :normal, :shutdown or :swapped reasons will not
-                                attempt a re-add to the manager.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tattdcodemonkey/mon_handler";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mon_handler = mon_handler_1_0_2;
-
-    monad_1_0_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "monad";
-            version = "1.0.5";
-            src = fetchHex {
-              pkg = "monad";
-              version = "1.0.5";
-              sha256 =
-                "d8ebe20971160e96bd6cdf11b5e8b5c24b70fddde3d198e5f7c3b5ebfbc78d6e";
-            };
-
-            meta = {
-              description = ''Monads and do-syntax for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rmies/monad";
-            };
-          } // packageOverrides)
-      ) {};
-
-    monad = monad_1_0_5;
-
-    monadex_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "monadex";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "monadex";
-              version = "1.0.2";
-              sha256 =
-                "968784f2789fcb30b118399e51736f2265ca6b2823cc8fcabd73d6e4ac23e082";
-            };
-
-            meta = {
-              description = ''Improve pipelines with monads.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rob-brown/MonadEx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    monadex = monadex_1_0_2;
-
-    mondo_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          plug_1_1_5,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "mondo";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "mondo";
-              version = "0.1.0";
-              sha256 =
-                "f557216314e098137f5140f1194e2eba7a2a030d78affc23ea5943f586ab1095";
-            };
-            beamDeps  = [ poison_2_1_0 plug_1_1_5 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Elixir client for the Mondo API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/stevedomin/mondo_elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mondo = mondo_0_1_0;
-
-    mongodb_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          connection_1_0_2
-        }:
-          buildMix ({
-            name = "mongodb";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "mongodb";
-              version = "0.1.1";
-              sha256 =
-                "714f0543288c42bc42bf3ee6ac5f52db3fbc0b152610aa2536b51c244652abe0";
-            };
-            beamDeps  = [ poolboy_1_5_1 connection_1_0_2 ];
-
-            meta = {
-              description = ''MongoDB driver for Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/ericmj/mongodb";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mongodb = mongodb_0_1_1;
-
-    monk_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "monk";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "monk";
-              version = "0.1.3";
-              sha256 =
-                "35e6a2eea7090612fa25a003fb95ac120f27087f203445bbc33ac18682ddd724";
-            };
-
-            meta = {
-              description = ''Monk helps to distinguish good from evil with an
-                            simple ok/error monad'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/niahoo/monk";
-            };
-          } // packageOverrides)
-      ) {};
-
-    monk = monk_0_1_3;
-
-    morph_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "morph";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "morph";
-              version = "0.1.0";
-              sha256 =
-                "a20a6bfda56cb8f2d9904e2ea4b2b0a4159ab2692181919f6eb4fe9f52abf3f2";
-            };
-
-            meta = {
-              description = ''Lightweight string transformations for Elixir.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/cmoncrief/elixir-morph";
-            };
-          } // packageOverrides)
-      ) {};
-
-    morph = morph_0_1_0;
-
-    mortgage_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mortgage";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "mortgage";
-              version = "0.0.2";
-              sha256 =
-                "fbd6e7dcf2d8213b4b1ab3b00904482a6aadf32625245bdc02eb76b7cd265173";
-            };
-
-            meta = {
-              description = ''A set of functions for working with mortgages and
-                            mortgage notes.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/geolessel/mortgage";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mortgage = mortgage_0_0_2;
-
-    moxie_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "moxie";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "moxie";
-              version = "0.0.1";
-              sha256 =
-                "193e18ce0888f01fe2b43d0dcf79af5f48e50eba3a73609703cb4c04bea2ae46";
-            };
-
-            meta = {
-               license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/molossus/moxie";
-            };
-          } // packageOverrides)
-      ) {};
-
-    moxie = moxie_0_0_1;
-
-    mpinyin_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mpinyin";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "mpinyin";
-              version = "0.0.2";
-              sha256 =
-                "1de0911391e6a76a91166f5210d4254165692ea28c00d4f153763d0a5757cb92";
-            };
-
-            meta = {
-              description = ''Pinyin module for Elixir. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Hor/mpinyin";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mpinyin = mpinyin_0_0_2;
-
-    mpower_1_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "mpower";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "mpower";
-              version = "1.0.1";
-              sha256 =
-                "d08a6ec51f1da683507ed08d0787a726eb3e56dd16084fffc279a5391fa02014";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir wrapper for MPowerPayments API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/abakhi/mpower";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mpower = mpower_1_0_1;
-
-    mr_roboto_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "mr_roboto";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "mr_roboto";
-              version = "1.0.0";
-              sha256 =
-                "80c5af8f07bd85f28b60e350a5cfc92d1a5c2bcde9a0c3d93fcaa378a033a371";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A simple robots.txt service'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    mr_roboto = mr_roboto_1_0_0;
-
-    msgpack_0_5_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "msgpack";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "msgpack";
-              version = "0.5.0";
-              sha256 =
-                "520ae767b3c3c0796d2913c92f463bc8b4dee091880734f5b99a90921e18b704";
-            };
-
-            meta = {
-              description = ''MessagePack serializer/deserializer'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "http://msgpack.org";
-            };
-          } // packageOverrides)
-      ) {};
-
-    msgpack = msgpack_0_5_0;
-
-    msgpax_0_8_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "msgpax";
-            version = "0.8.2";
-            src = fetchHex {
-              pkg = "msgpax";
-              version = "0.8.2";
-              sha256 =
-                "aa0baa382383160d90275a1b5d8f72c457a2feed89cbb1bd080a5c3821389507";
-            };
-
-            meta = {
-              longDescription = ''This library provides an API for serializing
-                                and de-serializing Elixir terms using the
-                                MessagePack format'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/lexmag/msgpax";
-            };
-          } // packageOverrides)
-      ) {};
-
-    msgpax = msgpax_0_8_2;
-
-    mtx_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "mtx";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "mtx";
-              version = "1.0.0";
-              sha256 =
-                "3bdcb209fe3cdfc5a6b5b95f619ecd123b7ee1d9203ace2178c8ff73be5bb90f";
-            };
-
-            meta = {
-              description = ''Metrics Client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/synrc/mtx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mtx = mtx_1_0_0;
-
-    multidef_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "multidef";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "multidef";
-              version = "0.2.1";
-              sha256 =
-                "719dfdb9206ea34fc7b49c282b30adab752f9d1efb22678907d54fa0b54c50c6";
-            };
-
-            meta = {
-              longDescription = ''Lets you define multiple heads for the same
-                                function: defmodule Test do import MultiDef mdef
-                                fred do { :init, val } -> fred {:double, val} {
-                                :double, val } -> IO.puts(val*2) a, b -> a+b end
-                                end IO.inspect Test.fred 1, 2 #=> 3 IO.inspect
-                                Test.fred { :init, 4 } #=> 8 '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/pragdave/mdef";
-            };
-          } // packageOverrides)
-      ) {};
-
-    multidef = multidef_0_2_1;
-
-    multiset_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "multiset";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "multiset";
-              version = "0.0.4";
-              sha256 =
-                "f713b5102d17963fc516e0017725d716dade0b1fec979f0e3a53b8d203748c45";
-            };
-
-            meta = {
-              description = ''Multisets for Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/hilverd/multiset-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    multiset = multiset_0_0_4;
-
-    murdoch_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3,
-          goth_0_0_3
-        }:
-          buildMix ({
-            name = "murdoch";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "murdoch";
-              version = "0.0.1";
-              sha256 =
-                "77ec44ca76d6b4a14df7222104a36cb29ed25f7d52fb3ffe30807ddc82a2d9ad";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 goth_0_0_3 ];
-
-            meta = {
-              longDescription = ''A library for interacting with Google Cloud
-                                Pub/Sub (PubSub). Supports both publication and
-                                pull subscription'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/peburrows/murdoch";
-            };
-          } // packageOverrides)
-      ) {};
-
-    murdoch = murdoch_0_0_1;
-
-    murmur_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "murmur";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "murmur";
-              version = "0.2.1";
-              sha256 =
-                "7e38b2f136d4e8039abb88f6cbdf50c939408d3819be4b18b639a968ee9c2bce";
-            };
-
-            meta = {
-              longDescription = ''Murmur is a pure Elixir implementation of the
-                                non-cryptographic hash Murmur3. It aims to
-                                implement the x86_32bit, x86_128bit and
-                                x64_128bit variants.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gmcabrita/murmur";
-            };
-          } // packageOverrides)
-      ) {};
-
-    murmur_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "murmur";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "murmur";
-              version = "1.0.0";
-              sha256 =
-                "5e81af1fe3c7a166830e5a695e2f2253a5255888c2f510d206d103914b4e28da";
-            };
-
-            meta = {
-              longDescription = ''Murmur is a pure Elixir implementation of the
-                                non-cryptographic hash Murmur3. It aims to
-                                implement the x86_32bit, x86_128bit and
-                                x64_128bit variants.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gmcabrita/murmur";
-            };
-          } // packageOverrides)
-      ) {};
-
-    murmur = murmur_1_0_0;
-
-    mustache_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mustache";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "mustache";
-              version = "0.0.2";
-              sha256 =
-                "0d91f0a6221f482e736987c59032e84f6bade6ae9179e595592e2cc0b728b441";
-            };
-
-            meta = {
-              description = ''Mustache templates for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/schultyy/Mustache.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mustache = mustache_0_0_2;
-
-    mutant_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mutant";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "mutant";
-              version = "0.0.2";
-              sha256 =
-                "c875062e082242b79c85356993ad3cfd7d550392d34fc6da23a132495b0dcb6f";
-            };
-
-            meta = {
-              description = ''Now you can create mutable structs, use this with
-                            care and only as a last resort'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/hackersguildco/Mutant";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mutant = mutant_0_0_2;
-
-    mysql_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "mysql";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "mysql";
-              version = "1.0.0";
-              sha256 =
-                "34b8e9252e150d329798a0d7f7054f40c08703ccdd7e37dfc5116fe388513251";
-            };
-
-            meta = {
-              description = ''MySQL/OTP – MySQL driver for Erlang/OTP'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/mysql-otp/mysql-otp";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mysql = mysql_1_0_0;
-
-    mysqlex_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, mysql_1_0_0 }:
-          buildMix ({
-            name = "mysqlex";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "mysqlex";
-              version = "0.0.1";
-              sha256 =
-                "5df9c80e9ff9a61fe9ddb4c8883963686f66e21168b64acfa55b14c50e9305ee";
-            };
-            beamDeps  = [ mysql_1_0_0 ];
-
-            meta = {
-              longDescription = ''An Ecto-compatible wrapper around the
-                                mysql-otp library.
-                                https://github.com/mysql-otp/mysql-otp'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/tjheeta/mysqlex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mysqlex = mysqlex_0_0_1;
-
-    n2o_2_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "n2o";
-            version = "2.3.0";
-            src = fetchHex {
-              pkg = "n2o";
-              version = "2.3.0";
-              sha256 =
-                "fca4f0a259fda332784d6d7948f8aadec5fb6a7695d5ac79b849b0ae547fb7b8";
-            };
-
-            meta = {
-              description = ''N2O Application Server'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/synrc/n2o";
-            };
-          } // packageOverrides)
-      ) {};
-
-    n2o = n2o_2_3_0;
-
-    nadia_0_4_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "nadia";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "nadia";
-              version = "0.4.0";
-              sha256 =
-                "e76217333ad6d02ec971bfa781e70268285fc417aebb486318e0584affccb08d";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Telegram Bot API Wrapper written in Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zhyu/nadia";
-            };
-          } // packageOverrides)
-      ) {};
-
-    nadia = nadia_0_4_0;
-
-    naive_bayes_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "naive_bayes";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "naive_bayes";
-              version = "0.1.3";
-              sha256 =
-                "4b65f199852dcb95ba483b7eeae0afed36931418854aadf6b8235197a985d29e";
-            };
-
-            meta = {
-              description = ''An Elixir implementation of Naive Bayes'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ashleyw/naive_bayes";
-            };
-          } // packageOverrides)
-      ) {};
-
-    naive_bayes = naive_bayes_0_1_3;
-
-    named_args_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "named_args";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "named_args";
-              version = "0.1.0";
-              sha256 =
-                "d90285d6fab53c66762e6b3cec655d79df24251e8ed277faa4b308d6f2789c1e";
-            };
-
-            meta = {
-              description = ''Ensures default maps and keyword lists have the
-                            defaults specified.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mgwidmann/named_args";
-            };
-          } // packageOverrides)
-      ) {};
-
-    named_args = named_args_0_1_0;
-
-    narp_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "narp";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "narp";
-              version = "0.0.1";
-              sha256 =
-                "90800be330ed49563b24d891a578678865ce108cd77fa2427e09dbb6b1bac737";
-            };
-
-            meta = {
-              description = ''Narp is an easy and flexible way to authorize
-                            function calls in elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/faber-lotto/narp";
-            };
-          } // packageOverrides)
-      ) {};
-
-    narp = narp_0_0_1;
-
-    nat_set_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "nat_set";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "nat_set";
-              version = "0.0.1";
-              sha256 =
-                "cc6ed65c754153d7c98c9825370780831cfbe638d162cb4ae2178eadcdd00611";
-            };
-
-            meta = {
-              description = ''Represent sets of natural numbers compactly in
-                            Elixir using bitwise operations'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/hilverd/nat-set-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    nat_set = nat_set_0_0_1;
-
-    nativegen_0_4_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "nativegen";
-            version = "0.4.1";
-            src = fetchHex {
-              pkg = "nativegen";
-              version = "0.4.1";
-              sha256 =
-                "54c36ca3c0333f04b84f8b15fa028fcecfe77614954c78e87b22ed56e977f46f";
-            };
-
-            meta = {
-              description = ''Accessible REST API code generator for native
-                            app.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/yoavlt/nativegen";
-            };
-          } // packageOverrides)
-      ) {};
-
-    nativegen = nativegen_0_4_1;
-
-    nats_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          json_0_3_3
-        }:
-          buildMix ({
-            name = "nats";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "nats";
-              version = "0.0.1";
-              sha256 =
-                "5568e91f56f65388ad6cb92ddbd70cec5227dadea9d12ec558e93bfe71c9bf78";
-            };
-            beamDeps  = [ poolboy_1_5_1 json_0_3_3 ];
-
-            meta = {
-              description = ''A NATS client written in elixir supporting
-                            pub/sub for microservices'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/aforward/elixir_nats";
-            };
-          } // packageOverrides)
-      ) {};
-
-    nats = nats_0_0_1;
-
-    nats_msg_0_4_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "nats_msg";
-            version = "0.4.1";
-            src = fetchHex {
-              pkg = "nats_msg";
-              version = "0.4.1";
-              sha256 =
-                "8e21a78bf2ae76d7702bcc03eb87bdddac1b99edebfc99db98e8e94a7a5361c4";
-            };
-
-            meta = {
-              description = ''Pure Erlang NATS Protocol Message
-                            Encoder/Decoder'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/yuce/nats_msg";
-            };
-          } // packageOverrides)
-      ) {};
-
-    nats_msg = nats_msg_0_4_1;
-
-    natsio_0_1_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "natsio";
-            version = "0.1.4";
-            src = fetchHex {
-              pkg = "natsio";
-              version = "0.1.4";
-              sha256 =
-                "3ed391e3e5f494828da2cb4949e661df782004cfe8273b9f1685ba4bc858187e";
-            };
-
-            meta = {
-              description = ''NATS framework for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nats-io/elixir-nats";
-            };
-          } // packageOverrides)
-      ) {};
-
-    natsio = natsio_0_1_4;
-
-    natural_sort_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "natural_sort";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "natural_sort";
-              version = "0.3.0";
-              sha256 =
-                "6c3476edf395c487a8b55d104458e0f029ca2adb7a0373d12a7a08643f7e7172";
-            };
-
-            meta = {
-              description = ''Sort a list of strings containing numbers in a
-                            natural manner. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/DanCouper/natural_sort";
-            };
-          } // packageOverrides)
-      ) {};
-
-    natural_sort = natural_sort_0_3_0;
-
-    navigation_history_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "navigation_history";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "navigation_history";
-              version = "0.2.0";
-              sha256 =
-                "9fbddedd831930c3f2e784c53442558d90d68040f9921dfa9441da63d6b8dacc";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''Navigation history tracking plug'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/tuvistavie/plug-navigation-history";
-            };
-          } // packageOverrides)
-      ) {};
-
-    navigation_history = navigation_history_0_2_0;
-
-    navigation_tree_0_4_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "navigation_tree";
-            version = "0.4.4";
-            src = fetchHex {
-              pkg = "navigation_tree";
-              version = "0.4.4";
-              sha256 =
-                "a4e6aad3224ad9c463a1ac0412463a18ac71b7a78ea16303ad72f43f1fb217c6";
-            };
-
-            meta = {
-              longDescription = ''A navigation tree representation with helpers
-                                to generate HTML out of it - depending of
-                                userroles. Also creates nice HTML navbars for
-                                Bootstrap. Implemented as Agent to hold config
-                                state.'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/gutschilla/elixir-navigation-tree";
-            };
-          } // packageOverrides)
-      ) {};
-
-    navigation_tree = navigation_tree_0_4_4;
-
-    ndc_ex_sdk_0_2_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_2_1_6,
-          httpotion_2_2_2,
-          ibrowse_4_2_2,
-          pipe_0_0_2,
-          xml_builder_0_0_8
-        }:
-          buildMix ({
-            name = "ndc_ex_sdk";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "ndc_ex_sdk";
-              version = "0.2.1";
-              sha256 =
-                "2d17a23afbbe4f348abb6c1e9fb787ff609ba678828f2cd41dedb6a79b9c8232";
-            };
-            beamDeps  = [
-                          timex_2_1_6
-                          httpotion_2_2_2
-                          ibrowse_4_2_2
-                          pipe_0_0_2
-                          xml_builder_0_0_8
-                        ];
-
-            meta = {
-              longDescription = ''This is an Elixir package that wrapps any
-                                NDC-compliant API. It`s host-agnostic and quite
-                                flexible-through-configuration so that it can
-                                reach NDC hosts with a certain flexibility'';
-              license = stdenv.lib.licenses.free;
-            };
-          } // packageOverrides)
-      ) {};
-
-    ndc_ex_sdk = ndc_ex_sdk_0_2_1;
-
-    neat_ex_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, json_0_3_3 }:
-          buildMix ({
-            name = "neat_ex";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "neat_ex";
-              version = "1.1.0";
-              sha256 =
-                "42d08b8c1bb5245d19864f683df77354ee466b285bac48abed3dd3471a738b21";
-            };
-            beamDeps  = [ json_0_3_3 ];
-
-            meta = {
-              longDescription = ''This project provides the means to define,
-                                simulate, and serialize
-                                Artificial-Neural-Networks (ANNs), as well as
-                                the means to develop them through use of the
-                                Neuro-Evolution of Augmenting Toplogies (NEAT)
-                                algorithm created by Dr. Kenneth Stanley.
-                                Neuro-Evolution, unlike back-propogation, easily
-                                allows the usage of recurrent neural networks
-                                instead of just feed-forward networks, and
-                                fitness functions instead of just training data.
-                                Additionally, since NEAT augments topologies,
-                                all the engine needs to start is the
-                                input/output layout, and a fitness function.'';
-              license = stdenv.lib.licenses.asl20;
-            };
-          } // packageOverrides)
-      ) {};
-
-    neat_ex = neat_ex_1_1_0;
-
-    nectar_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "nectar";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "nectar";
-              version = "0.0.1";
-              sha256 =
-                "dffc5f1c68c83d9eb83ca1c8868d923beaccfdf36ae2e5122dc7bc8edd5665f5";
-            };
-
-            meta = {
-              description = ''Placeholder package for nectar ecommerce'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    nectar = nectar_0_0_1;
-
-    nerves_io_neopixel_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "nerves_io_neopixel";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "nerves_io_neopixel";
-              version = "0.2.0";
-              sha256 =
-                "662ca0af01330399eba9aff9806c086027ec5b3a2e235af4cd909282a6d09afa";
-            };
-
-            meta = {
-              description = ''Drive WS2812B \"NeoPixel\" RGB LED strips from a
-                            Raspberry Pi using Elixir.'';
-              license = with stdenv.lib.licenses; [ mit bsd2 ];
-              homepage = "https://github.com/GregMefford/nerves_io_neopixel";
-            };
-          } // packageOverrides)
-      ) {};
-
-    nerves_io_neopixel = nerves_io_neopixel_0_2_0;
-
-    nerves_system_0_1_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          porcelain_2_0_1,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "nerves_system";
-            version = "0.1.4";
-            src = fetchHex {
-              pkg = "nerves_system";
-              version = "0.1.4";
-              sha256 =
-                "2ad32ff5a6d9a827fb89f93a9c0626add1c72ffaf9068f3cea94fa5fd0eff591";
-            };
-            beamDeps  = [ porcelain_2_0_1 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''Elixir compilers and scripts for building
-                                Nerves Systems. For useable system
-                                configurations see nerves_system_*'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nerves-project/nerves_system";
-            };
-          } // packageOverrides)
-      ) {};
-
-    nerves_system = nerves_system_0_1_4;
-
-    nerves_system_br_0_5_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "nerves_system_br";
-            version = "0.5.2";
-            src = fetchHex {
-              pkg = "nerves_system_br";
-              version = "0.5.2";
-              sha256 =
-                "43747294af52161eb7d58269a18d1927d7fe66185047fbfae204938d9ebe56c3";
-            };
-
-            meta = {
-              description = ''Nerves System BR - Buildroot based build platform
-                            for Nerves Systems'';
-              license = with stdenv.lib.licenses; [ asl20 free ];
-              homepage = "https://github.com/nerves-project/nerves_system_br";
-            };
-          } // packageOverrides)
-      ) {};
-
-    nerves_system_br = nerves_system_br_0_5_2;
-
-    nerves_toolchain_0_6_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "nerves_toolchain";
-            version = "0.6.2";
-            src = fetchHex {
-              pkg = "nerves_toolchain";
-              version = "0.6.2";
-              sha256 =
-                "0e2c841389de2b3a9d527dee288e5a8d01883cea424edf951e70e7d9855f45f1";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''Elixir compilers and scripts for building
-                                Nerves Toolchains. For useable toolchain
-                                configurations see nerves_toolchain_*'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nerves-project/nerves_toolchain";
-            };
-          } // packageOverrides)
-      ) {};
-
-    nerves_toolchain = nerves_toolchain_0_6_2;
-
-    nerves_uart_0_0_6 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, elixir_make_0_1_0
-        }:
-          buildMix ({
-            name = "nerves_uart";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "nerves_uart";
-              version = "0.0.6";
-              sha256 =
-                "1de94781598204b33f21ac27346390421f377c18b9503c86de60265b37573768";
-            };
-            beamDeps  = [ elixir_make_0_1_0 ];
-
-            meta = {
-              description = ''Discover and use UARTs and serial ports in
-                            Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nerves-project/nerves_uart";
-            };
-          } // packageOverrides)
-      ) {};
-
-    nerves_uart = nerves_uart_0_0_6;
-
-    nest_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "nest";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "nest";
-              version = "0.0.1";
-              sha256 =
-                "4092651c14022a285eb4ffb8b6e9c3d6c5937729644fcc88b43f74324bc3bac3";
-            };
-
-            meta = {
-              longDescription = ''A library for using the Nest API, allowing
-                                integration with Nest Thermostats and other Nest
-                                devices.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/adamzaninovich/nest";
-            };
-          } // packageOverrides)
-      ) {};
-
-    nest = nest_0_0_1;
-
-    netrc_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "netrc";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "netrc";
-              version = "0.0.2";
-              sha256 =
-                "a82b1702d8702a51b17e1756261b316ae3a72ac07bbf04e3a1258cc1210f6000";
-            };
-
-            meta = {
-              description = ''Read netrc files'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ma2gedev/netrcex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    netrc = netrc_0_0_2;
-
-    netstrings_2_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "netstrings";
-            version = "2.0.1";
-            src = fetchHex {
-              pkg = "netstrings";
-              version = "2.0.1";
-              sha256 =
-                "f6a3727dba6ae5aa3371ffddf7adf6aaf46bf387e84873f65152083ecf821845";
-            };
-
-            meta = {
-              description = ''Netstrings implementaton'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/netstrings_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    netstrings = netstrings_2_0_1;
-
-    neural_net_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "neural_net";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "neural_net";
-              version = "1.0.0";
-              sha256 =
-                "164cead198d6f8e2ba396346c4c4f8ec8c5b6e6ae00d6915eec902c436779239";
-            };
-
-            meta = {
-              longDescription = ''NeuralNet is an A.I. library that allows for
-                                the construction and training of complex
-                                recurrent neural networks. Architectures such as
-                                LSTM or GRU can be specified in under 20 lines
-                                of code. Any neural network that can be built
-                                with the NeuralNet DSL can be trainined with
-                                automatically implemented BPTT (back-propagation
-                                through time).'';
-              license = stdenv.lib.licenses.asl20;
-            };
-          } // packageOverrides)
-      ) {};
-
-    neural_net = neural_net_1_0_0;
-
-    neural_network_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "neural_network";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "neural_network";
-              version = "0.1.0";
-              sha256 =
-                "80e84eaf4e0ff5455651c6c7cef484b9eefd60d6bd8e59606eb72a42cf18587c";
-            };
-
-            meta = {
-              longDescription = ''A neural network made up of layers of neurons
-                                connected to each other to form a relationship
-                                allowing it to learn.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kblake/neural-net-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    neural_network = neural_network_0_1_0;
-
-    news_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "news";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "news";
-              version = "0.3.0";
-              sha256 =
-                "b8759a3cb0bb40e86d5a5ea65b911a066da4ec197b097be88fb67f6358838124";
-            };
-
-            meta = {
-              description = ''Publish elixir and erlang new weekly'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zhongwencool/news";
-            };
-          } // packageOverrides)
-      ) {};
-
-    news = news_0_3_0;
-
-    ngram_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ngram";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "ngram";
-              version = "0.0.1";
-              sha256 =
-                "13185be68166d8314ae63f70eceb58a4e00b441d3294633450d4f8a7c565e218";
-            };
-
-            meta = {
-              description = ''n-gram tokenization and distance calculations'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ardcore/ngram";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ngram = ngram_0_0_1;
-
-    nile_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "nile";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "nile";
-              version = "0.1.3";
-              sha256 =
-                "73a2c8be8507bb39de74eb3fa5ae40e3c40cabef30cd884f67ab6d3400a7bea4";
-            };
-
-            meta = {
-              description = ''Elixir stream extensions'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/nile";
-            };
-          } // packageOverrides)
-      ) {};
-
-    nile = nile_0_1_3;
-
-    ninjaproxies_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "ninjaproxies";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "ninjaproxies";
-              version = "0.2.0";
-              sha256 =
-                "5524329d00944690b362d30fef9c4032c03c401cc44d0ad9e98e147f5792fade";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Ninjaproxies client library for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zensavona/ninjaproxies";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ninjaproxies = ninjaproxies_0_2_0;
-
-    njord_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "njord";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "njord";
-              version = "0.1.1";
-              sha256 =
-                "b438430dbf6ceaf2bede01a285c5032be3041cbedd7c1552653d75179fab4dfb";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A wrapper over HTTPoison to build client APIs.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gmtprime/njord";
-            };
-          } // packageOverrides)
-      ) {};
-
-    njord = njord_0_1_1;
-
-    noise_0_0_4 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "noise";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "noise";
-              version = "0.0.4";
-              sha256 =
-                "2a448e5aff72edd08a587de16c9887ca80ffcde00004eaa2f94dae56536958be";
-            };
-
-            meta = {
-              description = ''A pseudo-random noise generation library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/joshforisha/noise";
-            };
-          } // packageOverrides)
-      ) {};
-
-    noise = noise_0_0_4;
-
-    normalize_email_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, is_email_0_0_2 }:
-          buildMix ({
-            name = "normalize_email";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "normalize_email";
-              version = "0.0.1";
-              sha256 =
-                "ac5864ecf0d002ecbc56f9296bff7c01fc1d7e2e84e2529f7726f1a068f5d584";
-            };
-            beamDeps  = [ is_email_0_0_2 ];
-
-            meta = {
-              description = ''Normalize an email address'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/johnotander/normalize_email";
-            };
-          } // packageOverrides)
-      ) {};
-
-    normalize_email = normalize_email_0_0_1;
-
-    normalize_url_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "normalize_url";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "normalize_url";
-              version = "0.1.1";
-              sha256 =
-                "7d1c75f4bf5156636e8d0b5c6addb0cae802b970f8412f4b0429b3547220d88e";
-            };
-
-            meta = {
-              description = ''Normalize a url'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/johnotander/normalize_url";
-            };
-          } // packageOverrides)
-      ) {};
-
-    normalize_url = normalize_url_0_1_1;
-
-    not_qwerty123_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, gettext_0_11_0 }:
-          buildMix ({
-            name = "not_qwerty123";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "not_qwerty123";
-              version = "1.1.0";
-              sha256 =
-                "4997296d742f72fe95f8933cba92ab6cee3147888dc9bbd7b703c7f970e8ab58";
-            };
-            beamDeps  = [ gettext_0_11_0 ];
-
-            meta = {
-              description = ''Library to check password strength and generate
-                            random passwords.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/riverrun/notqwerty123";
-            };
-          } // packageOverrides)
-      ) {};
-
-    not_qwerty123 = not_qwerty123_1_1_0;
-
-    number_0_4_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "number";
-            version = "0.4.1";
-            src = fetchHex {
-              pkg = "number";
-              version = "0.4.1";
-              sha256 =
-                "773d28c837acf17b0056deb54b7d966a3d6a9d853e88c08829b5732cb7029fb9";
-            };
-
-            meta = {
-              description = ''Convert numbers to various string formats, such
-                            as currency'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/danielberkompas/number";
-            };
-          } // packageOverrides)
-      ) {};
-
-    number = number_0_4_1;
-
-    numerix_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "numerix";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "numerix";
-              version = "0.0.4";
-              sha256 =
-                "b837acc1c095fe580cc69314b72c9171a0d7d6f8734f81ee2ec1f917614c997f";
-            };
-
-            meta = {
-              description = ''A collection of (potentially) useful mathematical
-                            functions'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/safwank/Numerix";
-            };
-          } // packageOverrides)
-      ) {};
-
-    numerix = numerix_0_0_4;
-
-    oauth2_0_3_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          plug_1_1_5,
-          httpoison_0_8_3,
-          hackney_1_6_0
-        }:
-          buildMix ({
-            name = "oauth2";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "oauth2";
-              version = "0.3.0";
-              sha256 =
-                "ee23e6fb6ac84abce23713ba93f1df2fd368c9ad7b9288f0ef6fcec0e0249043";
-            };
-            beamDeps  = [
-                          poison_1_5_2 plug_1_1_5 httpoison_0_8_3 hackney_1_6_0
-                        ];
-
-            meta = {
-              description = ''An Elixir OAuth 2.0 Client Library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/scrogson/oauth2";
-            };
-          } // packageOverrides)
-      ) {};
-
-    oauth2_erlang_0_6_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "oauth2_erlang";
-            version = "0.6.1";
-            src = fetchHex {
-              pkg = "oauth2_erlang";
-              version = "0.6.1";
-              sha256 =
-                "dc60e92de379fd27c3b9296e2368e97797233a092297d41f47f3a72846b2a974";
-            };
-
-            meta = {
-              description = ''Erlang OAuth 2.0 implementation'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kivra/oauth2";
-            };
-          } // packageOverrides)
-      ) {};
-
-    oauth2_erlang = oauth2_erlang_0_6_1;
-
-    oauther_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "oauther";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "oauther";
-              version = "1.0.2";
-              sha256 =
-                "2b65e6408600d5daed7bb1b108533624b6c34491f0278b44013400aa7b551e4d";
-            };
-
-            meta = {
-              description = ''Library to authenticate with OAuth 1.0
-                            protocol.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/lexmag/oauther";
-            };
-          } // packageOverrides)
-      ) {};
-
-    oauther = oauther_1_0_2;
-
-    octet_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "octet";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "octet";
-              version = "0.0.2";
-              sha256 =
-                "12c7d7cff035f48139e7304913e7c227ce5bf95508ad8096ed510328d916ede3";
-            };
-
-            meta = {
-              description = ''Octet string converter'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kiennt/octet";
-            };
-          } // packageOverrides)
-      ) {};
-
-    octet = octet_0_0_2;
-
-    octokit_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_1_0_2,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "octokit";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "octokit";
-              version = "0.1.0";
-              sha256 =
-                "1c761130e94dbbe16a7751ee1289e1334c9208222da03a8ae9fd77c50f5e969b";
-            };
-            beamDeps  = [ timex_1_0_2 poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Elixir library for accessing the GitHub
-                            API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lee-dohm/octokit.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    octokit = octokit_0_1_0;
-
-    odgn_json_pointer_1_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "odgn_json_pointer";
-            version = "1.2.0";
-            src = fetchHex {
-              pkg = "odgn_json_pointer";
-              version = "1.2.0";
-              sha256 =
-                "fd99e3d11e4d2a52fd3b4ee5d3d1fb1f1d316ebaf1b7e699e563c813cc7f8e77";
-            };
-
-            meta = {
-              description = ''This is an implementation of JSON Pointer (RFC
-                            6901) for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/odogono/elixir-jsonpointer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    odgn_json_pointer = odgn_json_pointer_1_2_0;
-
-    odin_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "odin";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "odin";
-              version = "0.0.1";
-              sha256 =
-                "17951e0c8c73f10b38e4110e6ecefe507b4ea6203bcea7d55e34320be60b5a4a";
-            };
-
-            meta = {
-              description = ''elixir toolkit for building command-line
-                            interfaces.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/plus-eg/odin";
-            };
-          } // packageOverrides)
-      ) {};
-
-    odin = odin_0_0_1;
-
-    odt_potion_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "odt_potion";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "odt_potion";
-              version = "0.0.1";
-              sha256 =
-                "f2c429129dc1e636dbd3563750c667315aff650ddfe7aefe06991299f76f35bd";
-            };
-
-            meta = {
-              description = ''Substitute placeholders in ODT`s with custom
-                            information'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/andrewcottage/odt_potion";
-            };
-          } // packageOverrides)
-      ) {};
-
-    odt_potion = odt_potion_0_0_1;
-
-    og_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "og";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "og";
-              version = "0.1.0";
-              sha256 =
-                "0b858c07cb6d6d40eca28e3462c03213aeb1f3f1a22bd98e53c2bda445ee98b7";
-            };
-
-            meta = {
-              description = ''Og is a small collection of logger helper
-                            functions in elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/stephenmoloney/og";
-            };
-          } // packageOverrides)
-      ) {};
-
-    og = og_0_1_0;
-
-    ok_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ok";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "ok";
-              version = "0.1.3";
-              sha256 =
-                "e5ac8a719f097467925d492da2cd2ad9543dfd8729739fa4a32a671337eb08bb";
-            };
-
-            meta = {
-              description = ''Effecient error handling in elixir pipelines.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/CrowdHailer/OK";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ok = ok_0_1_3;
-
-    ok_jose_2_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ok_jose";
-            version = "2.0.0";
-            src = fetchHex {
-              pkg = "ok_jose";
-              version = "2.0.0";
-              sha256 =
-                "55377aa3f9b6e563aeb14b3960e4d2a697a059799e8d8ee390059faeaab219eb";
-            };
-
-            meta = {
-              description = ''Pipe functions that produce ok/error tuples.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/vic/ok_jose";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ok_jose = ok_jose_2_0_0;
-
-    one_signal_0_0_6 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "one_signal";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "one_signal";
-              version = "0.0.6";
-              sha256 =
-                "d90ec5f9e43d164e2942422d3c1e9a6b26a956ea135eb1a316380e12ef6b27d1";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir wrapper of OneSignal'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/yoavlt/one_signal";
-            };
-          } // packageOverrides)
-      ) {};
-
-    one_signal = one_signal_0_0_6;
-
-    onetime_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_1_0_2 }:
-          buildMix ({
-            name = "onetime";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "onetime";
-              version = "1.0.0";
-              sha256 =
-                "28481e7e239caa0002a42178af46cb80c3501faca7c1b953558e9d8dbba76c4c";
-            };
-            beamDeps  = [ timex_1_0_2 ];
-
-            meta = {
-              description = ''An onetime key-value store'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ryo33/onetime-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    onetime = onetime_1_0_0;
-
-    oop_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "oop";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "oop";
-              version = "0.1.0";
-              sha256 =
-                "eee8595a9f8bee5967850b143070d1a6c9b819c69ea19c82ae7c353e5991785e";
-            };
-
-            meta = {
-              description = ''OOP in Elixir!'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/wojtekmach/oop";
-            };
-          } // packageOverrides)
-      ) {};
-
-    oop = oop_0_1_0;
-
-    opbeat_0_3_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "opbeat";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "opbeat";
-              version = "0.3.0";
-              sha256 =
-                "20977e8ae08a1789326a3e5c0c8fa3265dd0e6ddc1fb6abe25c3a33d3fc9e692";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir client for opbeat'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/teodor-pripoae/opbeat";
-            };
-          } // packageOverrides)
-      ) {};
-
-    opbeat = opbeat_0_3_0;
-
-    open_graphx_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          floki_0_8_1
-        }:
-          buildMix ({
-            name = "open_graphx";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "open_graphx";
-              version = "0.0.2";
-              sha256 =
-                "2eef951c4fbb8a01f11ed3ab6ca62dc695a84baf9ae0fbe7698058eac8020b70";
-            };
-            beamDeps  = [ httpoison_0_8_3 floki_0_8_1 ];
-
-            meta = {
-              description = ''Load Open Graph Protocol'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/yoavlt/open_graphx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    open_graphx = open_graphx_0_0_2;
-
-    openmaize_jwt_0_9_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "openmaize_jwt";
-            version = "0.9.0";
-            src = fetchHex {
-              pkg = "openmaize_jwt";
-              version = "0.9.0";
-              sha256 =
-                "1c07dc9646a6270d9a21669ca27b55453e3af568724715a26feef395d5b105ab";
-            };
-            beamDeps  = [ poison_2_1_0 plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''JSON Web Token library for use with the Openmaize
-                            authentication library.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/riverrun/openmaizejwt";
-            };
-          } // packageOverrides)
-      ) {};
-
-    openmaize_jwt = openmaize_jwt_0_9_0;
-
-    openstack_0_0_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          maybe_0_0_1,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "openstack";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "openstack";
-              version = "0.0.5";
-              sha256 =
-                "f3387f15fea0ae51eacc7c7b3667ac5cc611c479ae48a7ce8ea61d5ae1c6ba57";
-            };
-            beamDeps  = [ poison_1_5_2 maybe_0_0_1 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Openstack Client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zweifisch/openstack.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    openstack = openstack_0_0_5;
-
-    openstax_keystone_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_2_1_6,
-          poison_1_5_2,
-          httpoison_0_8_3,
-          connection_1_0_2
-        }:
-          buildMix ({
-            name = "openstax_keystone";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "openstax_keystone";
-              version = "0.1.1";
-              sha256 =
-                "0ca484da2caef05a6aa4ce71c009f249142cc83f504160c179e783e9639c7de9";
-            };
-            beamDeps  = [
-                          timex_2_1_6
-                          poison_1_5_2
-                          httpoison_0_8_3
-                          connection_1_0_2
-                        ];
-
-            meta = {
-              description = ''OpenStack Keystone client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mspanc/openstax_keystone";
-            };
-          } // packageOverrides)
-      ) {};
-
-    openstax_keystone = openstax_keystone_0_1_1;
-
-    openstax_swift_0_1_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "openstax_swift";
-            version = "0.1.4";
-            src = fetchHex {
-              pkg = "openstax_swift";
-              version = "0.1.4";
-              sha256 =
-                "244bf77997b366950ec9852b2a65ab58bb1370e86028ae5efe8f84668384e903";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''OpenStack Swift client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mspanc/openstax_swift";
-            };
-          } // packageOverrides)
-      ) {};
-
-    openstax_swift = openstax_swift_0_1_4;
-
-    ordered_list_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ordered_list";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ordered_list";
-              version = "0.1.0";
-              sha256 =
-                "6b6410f35d1bda7335fc0c5f16e2b6f5a6a8c162363073931347dc184521159d";
-            };
-
-            meta = {
-              description = ''Sorting and reordering positions in a list.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/aarondufall/ordered_list";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ordered_list = ordered_list_0_1_0;
-
-    os_utils_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "os_utils";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "os_utils";
-              version = "0.3.0";
-              sha256 =
-                "b49e32630b3f198b5fe4f6858aa03d1236d659564f98d522c9e646c045e13b64";
-            };
-
-            meta = {
-              description = ''OS utilities for Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/orderthruchaos/os_utils";
-            };
-          } // packageOverrides)
-      ) {};
-
-    os_utils = os_utils_0_3_0;
-
-    osc_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "osc";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "osc";
-              version = "0.1.1";
-              sha256 =
-                "41830bf1494e6f2419ab8e35d11c0f650aab1d37b45d1b3fdfcc3682e191324c";
-            };
-
-            meta = {
-              description = ''OSC encoder/decoder for elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/osc_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    osc = osc_0_1_1;
-
-    pact_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pact";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "pact";
-              version = "0.2.0";
-              sha256 =
-                "a19000dcfd6c6b220e508ed44e9040d83e4814db2f6f74b11de1a4597a8de05e";
-            };
-
-            meta = {
-              description = ''Elixir dependency registry for better testing and
-                            cleaner code'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/BlakeWilliams/pact";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pact = pact_0_2_0;
-
-    pagarmex_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "pagarmex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "pagarmex";
-              version = "0.1.0";
-              sha256 =
-                "9678030fc6b9ffe0d312967f85a3dacd4ef70e4b14f6eea7d8c6c3fc3796816e";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A PagarMe Library for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gullitmiranda/pagarmex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pagarmex = pagarmex_0_1_0;
-
-    pagexduty_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          exjsx_3_1_0
-        }:
-          buildMix ({
-            name = "pagexduty";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "pagexduty";
-              version = "0.1.0";
-              sha256 =
-                "7292a63eeb27637ff19f91f50910d2bbbc860e1eb0413aa5a5035ef32b41b232";
-            };
-            beamDeps  = [ httpoison_0_8_3 exjsx_3_1_0 ];
-
-            meta = {
-              description = ''A Pagerduty client for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ride/pagexduty";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pagexduty = pagexduty_0_1_0;
-
-    paginex_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "paginex";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "paginex";
-              version = "0.0.1";
-              sha256 =
-                "4fdc1a0bb02fbd910d24c59caae6d5793fd24a2a29d6498c04a332095e616770";
-            };
-
-            meta = {
-              description = ''Exposes a pagination struct that can be helpful
-                            to render the pagination html.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bhserna/paginex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    paginex = paginex_0_0_1;
-
-    painstaking_0_5_8 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exoddic_1_3_1 }:
-          buildMix ({
-            name = "painstaking";
-            version = "0.5.8";
-            src = fetchHex {
-              pkg = "painstaking";
-              version = "0.5.8";
-              sha256 =
-                "f9de5ab6139fdda653df0a90e57fe229728a25f3611bf520c9433edd2ab81318";
-            };
-            beamDeps  = [ exoddic_1_3_1 ];
-
-            meta = {
-              description = ''Bet stake sizing recommendations'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/painstaking";
-            };
-          } // packageOverrides)
-      ) {};
-
-    painstaking = painstaking_0_5_8;
-
-    palette_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "palette";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "palette";
-              version = "0.0.2";
-              sha256 =
-                "0ad5bbd207b4462078888882b494de937690659bb72ca34ff247b1c9c4784033";
-            };
-
-            meta = {
-              description = ''A handy library for colouring strings.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lpil/palette";
-            };
-          } // packageOverrides)
-      ) {};
-
-    palette = palette_0_0_2;
-
-    pandex_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pandex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "pandex";
-              version = "0.1.0";
-              sha256 =
-                "a9c6b401be16af5f385c4ff8fc7e3eb9686e2829b0855854de428ff2bd23e34f";
-            };
-
-            meta = {
-              longDescription = ''Pandex is a lightweight Elixir wrapper for
-                                [Pandoc](http://pandoc.org). Pandex enables you
-                                to convert Markdown, CommonMark, HTML, Latex,
-                                json, html to HTML, HTML5, opendocument, rtf,
-                                texttile, asciidoc, markdown, json and others.
-                                Pandex has no dependencies other than Pandoc
-                                itself.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/filterkaapi/pandex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pandex = pandex_0_1_0;
-
-    pangu_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pangu";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "pangu";
-              version = "0.1.0";
-              sha256 =
-                "2634cc2463421757aca0a76665de83940d4fda12f8ed316ae929bb29f64d06c5";
-            };
-
-            meta = {
-              description = ''Paranoid text spacing in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/cataska/pangu.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pangu = pangu_0_1_0;
-
-    parabaikElixirConverter_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "parabaikElixirConverter";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "parabaikElixirConverter";
-              version = "0.0.1";
-              sha256 =
-                "ac72f871ac393ca2e42d11f9103019f6270209b1b0fe58d6f110f5dd66c387e4";
-            };
-
-            meta = {
-              longDescription = ''ParabaikElixirConverter is just a Elixir
-                                version of Parabaik converter. It can convert
-                                from Unicode to Zawgyi-One and Zawgyi-One to
-                                Unicode vice versa. '';
-              license = stdenv.lib.licenses.asl20;
-              homepage =
-                "https://github.com/Arkar-Aung/ParabaikElixirConverter";
-            };
-          } // packageOverrides)
-      ) {};
-
-    parabaikElixirConverter = parabaikElixirConverter_0_0_1;
-
-    parallel_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "parallel";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "parallel";
-              version = "0.0.3";
-              sha256 =
-                "d9b5e98c1892f5376b4dfa28c48a3a17029f86a28d1f9ec2f7c1a2747f256a4d";
-            };
-
-            meta = {
-              description = ''Straightforward parallel processing for Elixir'';
-
-              homepage = "https://github.com/Anonyfox/parallel";
-            };
-          } // packageOverrides)
-      ) {};
-
-    parallel = parallel_0_0_3;
-
-    parallel_stream_1_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "parallel_stream";
-            version = "1.0.3";
-            src = fetchHex {
-              pkg = "parallel_stream";
-              version = "1.0.3";
-              sha256 =
-                "8b0090b13a42343ad709ed088111fd40a9e4c2d1819ef6c1e601347134ed34d0";
-            };
-
-            meta = {
-              description = ''Parallel stream operations for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/beatrichartz/parallel_stream";
-            };
-          } // packageOverrides)
-      ) {};
-
-    parallel_stream = parallel_stream_1_0_3;
-
-    paratize_2_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "paratize";
-            version = "2.1.3";
-            src = fetchHex {
-              pkg = "paratize";
-              version = "2.1.3";
-              sha256 =
-                "7dc6135524c65473f680ec3ade55c2f65b77ad40451ffd2bbd4128066b037d84";
-            };
-
-            meta = {
-              description = ''Elixir library providing some handy parallel
-                            processing facilities.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/seantanly/elixir-paratize";
-            };
-          } // packageOverrides)
-      ) {};
-
-    paratize = paratize_2_1_3;
-
-    parse_torrent_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          earmark_0_2_1,
-          bencode_0_3_0
-        }:
-          buildMix ({
-            name = "parse_torrent";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "parse_torrent";
-              version = "0.2.0";
-              sha256 =
-                "444d49f20ede110e33e0817134ef3f0b843a7af01c88e9c168acc4892ae2d320";
-            };
-            beamDeps  = [ earmark_0_2_1 bencode_0_3_0 ];
-
-            meta = {
-              description = ''Parses a .torrent file and returns a map'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/preciz/parse_torrent";
-            };
-          } // packageOverrides)
-      ) {};
-
-    parse_torrent = parse_torrent_0_2_0;
-
-    parselix_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "parselix";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "parselix";
-              version = "0.1.0";
-              sha256 =
-                "c728426e1361e94918a7b24d45b86f00e0e7225e9086b02074ac7b33a4307406";
-            };
-
-            meta = {
-              description = ''A Parser Combinator Library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ryo33/Parselix";
-            };
-          } // packageOverrides)
-      ) {};
-
-    parselix = parselix_0_1_0;
-
-    parsey_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "parsey";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "parsey";
-              version = "0.0.1";
-              sha256 =
-                "5d2db82a9f9109e3ae95058d7405ff379c88635ef2393dda27d76b13cd28d155";
-            };
-
-            meta = {
-              description = ''A library to parse non-complex nested inputs with
-                            a given ruleset.'';
-              license = stdenv.lib.licenses.bsd2;
-              homepage = "https://github.com/ScrimpyCat/Parsey";
-            };
-          } // packageOverrides)
-      ) {};
-
-    parsey = parsey_0_0_1;
-
-    pass_0_3_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          json_web_token_0_2_5
-        }:
-          buildMix ({
-            name = "pass";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "pass";
-              version = "0.3.0";
-              sha256 =
-                "e2d44e9a94ce802b0723cd6e8c149c85c696e8ff3bf939f4c81ebd08938d0496";
-            };
-            beamDeps  = [ plug_1_1_5 json_web_token_0_2_5 ];
-
-            meta = {
-              description = ''A simple authentication manager for Plug
-                            applications.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/elixir-extracts/pass";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pass = pass_0_3_0;
-
-    pathway_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_5_2 }:
-          buildMix ({
-            name = "pathway";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "pathway";
-              version = "0.1.0";
-              sha256 =
-                "ae734bc8db0d91c0876e15b7e22e8d7616701eff94b1bd2930d2783a1b11c01d";
-            };
-            beamDeps  = [ poison_1_5_2 ];
-
-            meta = {
-              description = ''A HTTP client library for the Trak.io REST API.
-                            '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/novabyte/pathway";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pathway = pathway_0_1_0;
-
-    pattern_tap_0_2_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pattern_tap";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "pattern_tap";
-              version = "0.2.2";
-              sha256 =
-                "2d17fe4c076b12efe39a362ade88d11d8bed204009027755802213db9feb3675";
-            };
-
-            meta = {
-              description = ''Macro for tapping into a pattern match while
-                            using the pipe operator '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mgwidmann/elixir-pattern_tap";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pattern_tap = pattern_tap_0_2_2;
-
-    pavlov_0_2_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, meck_0_8_4 }:
-          buildMix ({
-            name = "pavlov";
-            version = "0.2.3";
-            src = fetchHex {
-              pkg = "pavlov";
-              version = "0.2.3";
-              sha256 =
-                "4d38e96b7581261a49f00d2046603ad3c9af6d52abd26d16bbf6a0a5a82c9643";
-            };
-            beamDeps  = [ meck_0_8_4 ];
-
-            meta = {
-              longDescription = ''Pavlov is a BDD library for your Elixir
-                                projects, allowing you to write expressive unit
-                                tests that tell the story of how your
-                                application behaves. The syntax tries to follow
-                                RSpec`s wherever possible.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sproutapp/pavlov";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pavlov = pavlov_0_2_3;
-
-    pbkdf2_2_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "pbkdf2";
-            version = "2.0.0";
-            src = fetchHex {
-              pkg = "pbkdf2";
-              version = "2.0.0";
-              sha256 =
-                "1e793ce6fdb0576613115714deae9dfc1d1537eaba74f07efb36de139774488d";
-            };
-
-            meta = {
-              description = ''Erlang PBKDF2 Key Derivation Function'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/basho/erlang-pbkdf2";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pbkdf2 = pbkdf2_2_0_0;
-
-    pbkdf2_nif_0_3_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "pbkdf2_nif";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "pbkdf2_nif";
-              version = "0.3.0";
-              sha256 =
-                "7ad61389164cceac87e2bed9d8f184cd713cca85d51e096604c40bf86d96a8b7";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''PBKDF2 NIF implementation'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/barrel-db/erlang-pbkdf2-nif";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pbkdf2_nif = pbkdf2_nif_0_3_0;
-
-    pc_1_2_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "pc";
-            version = "1.2.0";
-            src = fetchHex {
-              pkg = "pc";
-              version = "1.2.0";
-              sha256 =
-                "ef0f59d26a25af0a5247ef1a06d28d8300f8624647b02dc521ac79a7eceb8883";
-            };
-
-            meta = {
-              description = ''a rebar3 port compiler for native code'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/blt/port_compiler";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pc = pc_1_2_0;
-
-    pdf2htmlex_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pdf2htmlex";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "pdf2htmlex";
-              version = "0.2.0";
-              sha256 =
-                "50885e995d25362b1f25c74796c0627657147d4d10ccb4be736be3b06b8a44a3";
-            };
-
-            meta = {
-              description = ''Convert PDF docs to beautiful HTML files without
-                            losing text or format.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ricn/pdf2htmlex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pdf2htmlex = pdf2htmlex_0_2_0;
-
-    pdf_generator_0_3_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          porcelain_2_0_1,
-          misc_random_0_2_6
-        }:
-          buildMix ({
-            name = "pdf_generator";
-            version = "0.3.3";
-            src = fetchHex {
-              pkg = "pdf_generator";
-              version = "0.3.3";
-              sha256 =
-                "1aeb29a3b4821de0f86985e65661c7dedae28d2c924ef42677e1f02093607856";
-            };
-            beamDeps  = [ porcelain_2_0_1 misc_random_0_2_6 ];
-
-            meta = {
-              longDescription = ''A wrapper for wkhtmltopdf (HTML to PDF) and
-                                PDFTK (adds in encryption) for use in Elixir
-                                projects.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gutschilla/elixir-pdf-generator";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pdf_generator = pdf_generator_0_3_3;
-
-    peon_2_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "peon";
-            version = "2.0.0";
-            src = fetchHex {
-              pkg = "peon";
-              version = "2.0.0";
-              sha256 =
-                "3d87e626f5d014563d1cf319c0fe8576c8eb3f4399ecc9a0d7fb2385a180aaab";
-            };
-
-            meta = {
-              description = ''Use Elixir maps as a document storage format.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/supernintendo/peon";
-            };
-          } // packageOverrides)
-      ) {};
-
-    peon = peon_2_0_0;
-
-    permission_ex_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "permission_ex";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "permission_ex";
-              version = "0.2.0";
-              sha256 =
-                "efaf05029f498689b93e254f120bb01dd7bafd205a23e4246b70e97565af097e";
-            };
-
-            meta = {
-              description = ''Permission management and checking library for
-                            Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/OvermindDL1/permission_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    permission_ex = permission_ex_0_2_0;
-
-    petick_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "petick";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "petick";
-              version = "0.0.1";
-              sha256 =
-                "77ca306a379109aeb98528fdc5642dccc0b66379e67058814470d0cf30053586";
-            };
-
-            meta = {
-              description = ''Periodic timer'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/niku/petick";
-            };
-          } // packageOverrides)
-      ) {};
-
-    petick = petick_0_0_1;
-
-    pg2pubsub_0_2_13 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pg2pubsub";
-            version = "0.2.13";
-            src = fetchHex {
-              pkg = "pg2pubsub";
-              version = "0.2.13";
-              sha256 =
-                "a2c3ef4dcf031c71c75781ec49236220f405e836f4ee384bdcfbbf8abd6fc4db";
-            };
-
-            meta = {
-              description = ''A PubSub implementation for Elixir, using PG2
-                            (Erlang process groups).'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kbremner/pg2pubsub";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pg2pubsub = pg2pubsub_0_2_13;
-
-    pgapp_0_0_1 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          epgsql_3_1_1
-        }:
-          buildRebar3 ({
-            name = "pgapp";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "pgapp";
-              version = "0.0.1";
-              sha256 =
-                "5155404f5caa82d6b4f052703cdadddfbc2089e9512bfeef72092933ec1e521d";
-            };
-
-            beamDeps  = [ poolboy_1_5_1 epgsql_3_1_1 ];
-
-            meta = {
-              description = ''epgsql application'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    pgapp = pgapp_0_0_1;
-
-    phasedb_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          inflex_1_5_0,
-          heap_1_0_0,
-          calendar_0_12_4
-        }:
-          buildMix ({
-            name = "phasedb";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "phasedb";
-              version = "0.0.2";
-              sha256 =
-                "d9d7d5f7317ad0ce20da3b95e26b286d45d91a61a63a684fba42681a5ced68ee";
-            };
-            beamDeps  = [
-                          poison_2_1_0 inflex_1_5_0 heap_1_0_0 calendar_0_12_4
-                        ];
-
-            meta = {
-              description = ''A real-time time series database.'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    phasedb = phasedb_0_0_2;
-
-    phasedb_client_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          websocket_client_1_1_0,
-          table_rex_0_8_0,
-          poison_2_1_0,
-          phasedb_0_0_2,
-          calendar_0_12_4
-        }:
-          buildMix ({
-            name = "phasedb_client";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "phasedb_client";
-              version = "0.0.1";
-              sha256 =
-                "11019f0c5c2ecbfe578150434f064c84a54752093d004a9cc15296fa054b94fa";
-            };
-            beamDeps  = [
-                          websocket_client_1_1_0
-                          table_rex_0_8_0
-                          poison_2_1_0
-                          phasedb_0_0_2
-                          calendar_0_12_4
-                        ];
-
-            meta = {
-              description = ''A real-time time series database - command line
-                            client.'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    phasedb_client = phasedb_client_0_0_1;
-
-    phasedb_server_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          phasedb_0_0_2,
-          cowboy_1_0_4,
-          calendar_0_12_4
-        }:
-          buildMix ({
-            name = "phasedb_server";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "phasedb_server";
-              version = "0.0.1";
-              sha256 =
-                "dfde579bb29ed0d805276effb4f7a27d6a302a9615881051fb25eba8cf16da05";
-            };
-            beamDeps  = [ phasedb_0_0_2 cowboy_1_0_4 calendar_0_12_4 ];
-
-            meta = {
-              description = ''A real-time time series database.'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    phasedb_server = phasedb_server_0_0_1;
-
-    phoenix_1_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "phoenix";
-            version = "1.0.4";
-            src = fetchHex {
-              pkg = "phoenix";
-              version = "1.0.4";
-              sha256 =
-                "591d5f7f3a6f5407e8491a92dc6a2d0b7b94ef4f3526ad8ef4eb82660e6f69f6";
-            };
-            beamDeps  = [ poison_1_5_2 plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              longDescription = ''Productive. Reliable. Fast. A productive web
-                                framework that does not compromise speed and
-                                maintainability.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/phoenixframework/phoenix";
-            };
-          } // packageOverrides)
-      ) {};
-
-    phoenix_generator_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, inflex_0_3_0 }:
-          buildMix ({
-            name = "phoenix_generator";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "phoenix_generator";
-              version = "0.2.1";
-              sha256 =
-                "2be3753fba7b4a9afa461d270ab5111d76d1e5997b8e1587344051d85b6a1a36";
-            };
-            beamDeps  = [ inflex_0_3_0 ];
-
-            meta = {
-              description = ''A collection of boilerplate generators for the
-                            Phoenix web framework.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/etufe/phoenix_generator";
-            };
-          } // packageOverrides)
-      ) {};
-
-    phoenix_generator = phoenix_generator_0_2_1;
-
-    phoenix_jsroutes_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "phoenix_jsroutes";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "phoenix_jsroutes";
-              version = "0.0.1";
-              sha256 =
-                "f1f94ced7edb338d802290265e25784e32ad9e5f51eea65286f22663d831e44e";
-            };
-
-            meta = {
-              description = ''Brings phoenix router helpers to your javascript
-                            code.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tiagoengel/phoenix-jsroutes";
-            };
-          } // packageOverrides)
-      ) {};
-
-    phoenix_jsroutes = phoenix_jsroutes_0_0_1;
-
-    phoenix_pubsub_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "phoenix_pubsub";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "phoenix_pubsub";
-              version = "0.0.1";
-              sha256 =
-                "ea9f1853699e838965155af063f536f440afacadca316fb657858b3ac40da2eb";
-            };
-
-            meta = {
-              description = ''Distributed PubSub and Presence platform'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/phoenixframework/phoenix_pubsub";
-            };
-          } // packageOverrides)
-      ) {};
-
-    phoenix_pubsub_1_0_0_rc_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "phoenix_pubsub";
-            version = "1.0.0-rc.0";
-            src = fetchHex {
-              pkg = "phoenix_pubsub";
-              version = "1.0.0-rc.0";
-              sha256 =
-                "94765c0866ffe55f76894daa5e5adcc30822d3710718b0c03980db8f093b575f";
-            };
-
-            meta = {
-              description = ''Distributed PubSub and Presence platform'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/phoenixframework/phoenix_pubsub";
-            };
-          } // packageOverrides)
-      ) {};
-
-    phoenix_pubsub = phoenix_pubsub_1_0_0_rc_0;
-
-    phoenix_pubsub_vernemq_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "phoenix_pubsub_vernemq";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "phoenix_pubsub_vernemq";
-              version = "0.0.3";
-              sha256 =
-                "92c228aee119d21c68b0b43250414686dee16986cb4d0039608612abd0d22824";
-            };
-
-            meta = {
-              description = ''The VerneMQ MQTT pubsub adapter for the Phoenix
-                            framework'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/larshesel/phoenix_pubsub_vernemq";
-            };
-          } // packageOverrides)
-      ) {};
-
-    phoenix_pubsub_vernemq = phoenix_pubsub_vernemq_0_0_3;
-
-    phoenix_webpack_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "phoenix_webpack";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "phoenix_webpack";
-              version = "0.1.0";
-              sha256 =
-                "9a5b53836b60bfc3baf36e9aa85b48cfc227f004419b81c195e5e08936562ba7";
-            };
-
-            meta = {
-              description = ''Easily generate webpack configs for phoenix'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/keathley/phoenix_webpack";
-            };
-          } // packageOverrides)
-      ) {};
-
-    phoenix_webpack = phoenix_webpack_0_1_0;
-
-    phone_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "phone";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "phone";
-              version = "0.2.0";
-              sha256 =
-                "af836882ba2e1b8feec420d181a15ac3c9a9230f9f7a87753e33e2da8a591d22";
-            };
-
-            meta = {
-              description = ''Get useful info from telephone numbers.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/fcevado/phone";
-            };
-          } // packageOverrides)
-      ) {};
-
-    phone = phone_0_2_0;
-
-    phst_transform_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "phst_transform";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "phst_transform";
-              version = "1.0.0";
-              sha256 =
-                "f18683a70d858a9d9459881458f985d13233a3c04e6b0005458a51e560fdfd84";
-            };
-
-            meta = {
-              longDescription = ''An Elixir Protocol and implementation for
-                                creating a tranform of any elixir data.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/philosophers-stone/transform";
-            };
-          } // packageOverrides)
-      ) {};
-
-    phst_transform = phst_transform_1_0_0;
-
-    pigeon_0_7_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "pigeon";
-            version = "0.7.0";
-            src = fetchHex {
-              pkg = "pigeon";
-              version = "0.7.0";
-              sha256 =
-                "16d2745d952553088248185d5371b42a17c9885293f54e7c7871d8a256e182be";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''HTTP2-compliant wrapper for sending iOS
-                                (APNS) and Android (GCM) push notifications.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/codedge-llc/pigeon";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pigeon = pigeon_0_7_0;
-
-    piliponi_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "piliponi";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "piliponi";
-              version = "0.0.1";
-              sha256 =
-                "1729646601f1f12aff154e0401063298ec54bfd745f9137a64f63384f106a645";
-            };
-
-            meta = {
-              description = ''Simple mobile phone formatter for the
-                            Philippines'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/wetoolaguer/piliponi";
-            };
-          } // packageOverrides)
-      ) {};
-
-    piliponi = piliponi_0_0_1;
-
-    pinboardixir_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "pinboardixir";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "pinboardixir";
-              version = "0.2.0";
-              sha256 =
-                "360050f089cd50515bf51a5634420beab54bb7ec3b2063d49d91179182e423d7";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A Pinboard client in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ElaWorkshop/pinboardixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pinboardixir = pinboardixir_0_2_0;
-
-    pinglix_1_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_0_19_5,
-          poison_1_4_0,
-          plug_1_1_5
-        }:
-          buildMix ({
-            name = "pinglix";
-            version = "1.1.1";
-            src = fetchHex {
-              pkg = "pinglix";
-              version = "1.1.1";
-              sha256 =
-                "bff8166655cc143518c0089aca104755ab188816707fb73a5739dd094f45e895";
-            };
-            beamDeps  = [ timex_0_19_5 poison_1_4_0 plug_1_1_5 ];
-
-            meta = {
-              longDescription = ''Plug compatible health check system in Elixir
-                                based on
-                                https://github.com/jbarnette/pinglish.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pvdvreede/pinglix";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pinglix = pinglix_1_1_1;
-
-    pinyin_0_1_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pinyin";
-            version = "0.1.4";
-            src = fetchHex {
-              pkg = "pinyin";
-              version = "0.1.4";
-              sha256 =
-                "e0fc3dc148bc938ad12f5aefabf017620eb314ca4cf045b91ad195c557d5fa96";
-            };
-
-            meta = {
-              description = ''chinese pinyin library'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/lidashuang/pinyin";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pinyin = pinyin_0_1_4;
-
-    pipe_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pipe";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "pipe";
-              version = "0.0.2";
-              sha256 =
-                "ad6d90981606bb04d040c0af49cf493417994214ce6e74ac572dc2ee67e2c064";
-            };
-
-            meta = {
-              description = ''An Elixir extension that extends the pipe (|>)
-                            operator through macros. '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/batate/elixir-pipes";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pipe = pipe_0_0_2;
-
-    pipe_here_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pipe_here";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "pipe_here";
-              version = "1.0.0";
-              sha256 =
-                "95558a60ec7736685029e1b28b1c7cd7c7eae714fab779406aa2512c0f29c51e";
-            };
-
-            meta = {
-              description = ''An Elixir macro for easily piping arguments at
-                            any position.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/vic/pipe_here";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pipe_here = pipe_here_1_0_0;
-
-    pipe_while_ok_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pipe_while_ok";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "pipe_while_ok";
-              version = "0.0.2";
-              sha256 =
-                "b62708d0a0b82f421f937b99c5ff21a966e21d9a1f42ba75b8788100ac2c6567";
-            };
-
-            meta = {
-              description = ''PipeWhileOk =========== Moved to
-                            https://githib.com/pragdave/exlibris '';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/pragdave/pipe_while_ok";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pipe_while_ok = pipe_while_ok_0_0_2;
-
-    pipette_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, mock_0_1_3 }:
-          buildMix ({
-            name = "pipette";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "pipette";
-              version = "0.0.4";
-              sha256 =
-                "8742ea9b115071c3aa7cec4ddacfa161ff63fd647e0491ac442cb118d7198e26";
-            };
-            beamDeps  = [ mock_0_1_3 ];
-
-            meta = {
-              description = ''new_data = pipette(data, template)'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/liquidz/pipette";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pipette = pipette_0_0_4;
-
-    pipper_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pipper";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "pipper";
-              version = "1.0.0";
-              sha256 =
-                "a6b5100f6bab060674e5a828dcfb1b7c12e65739186e54809a23320a5550e149";
-            };
-
-            meta = {
-              description = ''Provides a \"pipe-equals\" operator'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/drewblas/pipper";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pipper = pipper_1_0_0;
-
-    pkcs7_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pkcs7";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "pkcs7";
-              version = "1.0.2";
-              sha256 =
-                "0e4faa65411e204b7952712d58f657335109ecbb24cf79163dc96458ba8d6518";
-            };
-
-            meta = {
-              description = ''PKCS7 binary padding for erlang'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/pkcs7.erl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pkcs7 = pkcs7_1_0_2;
-
-    plaid_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "plaid";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "plaid";
-              version = "0.0.1";
-              sha256 =
-                "1168a916f1a2fa5528b7891fe32784a1c415dbd5fc8b05bb9a7571f887f3ee9e";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Client for Plaid, the finance API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/travisjeffery/plaid";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plaid = plaid_0_0_1;
-
-    plantuml_mix_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "plantuml_mix";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "plantuml_mix";
-              version = "0.0.1";
-              sha256 =
-                "6d064ebc3be722642875ea5e2ce63a5678b95d96353c3605f6e83684651947f0";
-            };
-
-            meta = {
-              longDescription = ''Add plantuml task to mix. Execute mix
-                                plantuml --help for options. Requires that the
-                                env var PLANTUML_JAR points to a valid PlantUML
-                                jar file. Requires Java > 1.6 installed on the
-                                system.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/binarytemple/plantuml_mix";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plantuml_mix = plantuml_mix_0_0_1;
-
-    plist_0_0_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "plist";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "plist";
-              version = "0.0.4";
-              sha256 =
-                "533836ee86188fa2a0aed92410534851aac3cb46ee0919c98553b1f38a63aa1a";
-            };
-
-            meta = {
-              description = ''An Elixir library to parse files in Apple`s
-                            property list formats'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ciaran/plist";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plist = plist_0_0_4;
-
-    plivo_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "plivo";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "plivo";
-              version = "0.0.1";
-              sha256 =
-                "e710b4132ece4f648b772dc540dd1ba7d0fb241fe2f271639cf0764bdb024848";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An elixir client for Plivo API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/aarvay/plivo-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plivo = plivo_0_0_1;
-
-    plug_0_11_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, cowboy_1_0_4 }:
-          buildMix ({
-            name = "plug";
-            version = "0.11.3";
-            src = fetchHex {
-              pkg = "plug";
-              version = "0.11.3";
-              sha256 =
-                "82834fa130af2520b9dad4a271f4fe5c25a456cf2334aae35ef84989efec65e3";
-            };
-            beamDeps  = [ cowboy_1_0_4 ];
-
-            meta = {
-              description = ''A specification and conveniences for composable
-                            modules between web applications'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/elixir-lang/plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_0_12_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, cowboy_1_0_4 }:
-          buildMix ({
-            name = "plug";
-            version = "0.12.2";
-            src = fetchHex {
-              pkg = "plug";
-              version = "0.12.2";
-              sha256 =
-                "b26e8c636fc5b83e0b69767fb3cb2c693703b7f8c1eed11091e57f6e7caebc2d";
-            };
-            beamDeps  = [ cowboy_1_0_4 ];
-
-            meta = {
-              description = ''A specification and conveniences for composable
-                            modules between web applications'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/elixir-lang/plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_0_13_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, cowboy_1_0_4 }:
-          buildMix ({
-            name = "plug";
-            version = "0.13.1";
-            src = fetchHex {
-              pkg = "plug";
-              version = "0.13.1";
-              sha256 =
-                "50b7ef7c753e703b04ed79bc254ed0fbe07db3ed90894598d377c41e15f4490b";
-            };
-            beamDeps  = [ cowboy_1_0_4 ];
-
-            meta = {
-              description = ''A specification and conveniences for composable
-                            modules between web applications'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/elixir-lang/plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_0_14_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, cowboy_1_0_4 }:
-          buildMix ({
-            name = "plug";
-            version = "0.14.0";
-            src = fetchHex {
-              pkg = "plug";
-              version = "0.14.0";
-              sha256 =
-                "bacee77168bce635d959d8c41e0723936fba41170edf11665deaf30ee668303d";
-            };
-            beamDeps  = [ cowboy_1_0_4 ];
-
-            meta = {
-              description = ''A specification and conveniences for composable
-                            modules between web applications'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/elixir-lang/plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_0_8_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, cowboy_1_0_4 }:
-          buildMix ({
-            name = "plug";
-            version = "0.8.4";
-            src = fetchHex {
-              pkg = "plug";
-              version = "0.8.4";
-              sha256 =
-                "22c18f351cb30df9ca0b33bedd545bdbbc7eee60f1321cfcfe703228355ff2ec";
-            };
-            beamDeps  = [ cowboy_1_0_4 ];
-
-            meta = {
-              description = ''A specification and conveniences for composable
-                            modules between web applications'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/elixir-lang/plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_0_9_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, cowboy_1_0_4 }:
-          buildMix ({
-            name = "plug";
-            version = "0.9.0";
-            src = fetchHex {
-              pkg = "plug";
-              version = "0.9.0";
-              sha256 =
-                "2715df7f9e2650d1725576f5a683317d8dcaf656f524c14b384d7a54d74a09d1";
-            };
-            beamDeps  = [ cowboy_1_0_4 ];
-
-            meta = {
-              description = ''A specification and conveniences for composable
-                            modules between web applications'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/elixir-lang/plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_1_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, cowboy_1_0_4 }:
-          buildMix ({
-            name = "plug";
-            version = "1.0.3";
-            src = fetchHex {
-              pkg = "plug";
-              version = "1.0.3";
-              sha256 =
-                "31d1cc267cf48e3db8ce00b7a7bb6ced41c04d8f3593a61318f9a7f721997f6e";
-            };
-            beamDeps  = [ cowboy_1_0_4 ];
-
-            meta = {
-              description = ''A specification and conveniences for composable
-                            modules between web applications'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/elixir-lang/plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_1_1_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, cowboy_1_0_4 }:
-          buildMix ({
-            name = "plug";
-            version = "1.1.5";
-            src = fetchHex {
-              pkg = "plug";
-              version = "1.1.5";
-              sha256 =
-                "706871cb3d66c8c44cad4bceaa1f500eba34d5400450b9d63163d9dd4de88d3d";
-            };
-            beamDeps  = [ cowboy_1_0_4 ];
-
-            meta = {
-              description = ''A specification and conveniences for composable
-                            modules between web applications'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/elixir-lang/plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug = plug_1_1_5;
-
-    plug_accept_language_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "plug_accept_language";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "plug_accept_language";
-              version = "0.1.0";
-              sha256 =
-                "5535c842805ba980f3bf5fa5cde202fd3375c049e3681e206de1976c5765765a";
-            };
-
-            meta = {
-              description = ''parse the accept-language header'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/plug_accept_language";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_accept_language = plug_accept_language_0_1_0;
-
-    plug_accesslog_0_11_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          tzdata_0_5_8,
-          timex_2_1_6,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "plug_accesslog";
-            version = "0.11.0";
-            src = fetchHex {
-              pkg = "plug_accesslog";
-              version = "0.11.0";
-              sha256 =
-                "86ee180fd234a3c6d413153764f2a9e2d57171d3e89df2643a276b8760bcc867";
-            };
-            beamDeps  = [ tzdata_0_5_8 timex_2_1_6 plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Plug for writing access logs'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/mneudert/plug_accesslog";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_accesslog = plug_accesslog_0_11_0;
-
-    plug_assign_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_0_3 }:
-          buildMix ({
-            name = "plug_assign";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "plug_assign";
-              version = "1.0.0";
-              sha256 =
-                "293a2885e8d23fce64b9f81019882e14512d57cf82b863f9be860157e5f79708";
-            };
-            beamDeps  = [ plug_1_0_3 ];
-
-            meta = {
-              description = ''A simple plug to allow setting variables in a
-                            connection.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nshafer/plug_assign";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_assign = plug_assign_1_0_0;
-
-    plug_cloudflare_1_3_0 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5, cidr_1_0_0
-        }:
-          buildMix ({
-            name = "plug_cloudflare";
-            version = "1.3.0";
-            src = fetchHex {
-              pkg = "plug_cloudflare";
-              version = "1.3.0";
-              sha256 =
-                "641df2e40267446172c43b2f52dd9a1cbcd1f24dccd101bda29732a13335ab21";
-            };
-            beamDeps  = [ plug_1_1_5 cidr_1_0_0 ];
-
-            meta = {
-              description = ''Convert CloudFlare`s CF-Connecting-IP header to
-                            Plug.Conn`s remote_ip field.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/c-rack/plug_cloudflare";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_cloudflare = plug_cloudflare_1_3_0;
-
-    plug_forwarded_peer_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "plug_forwarded_peer";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "plug_forwarded_peer";
-              version = "0.0.2";
-              sha256 =
-                "c2466e0f0ef75a0d925a957fa50dfcded2c4788fe67857a675411e7184ae5ec3";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              longDescription = ''Very simple plug which reads
-                                `X-Forwarded-For` or `Forwarded` header
-                                according to rfc7239 and fill `conn.remote_ip`
-                                with the root client ip.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/awetzel/plug_forwarded_peer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_forwarded_peer = plug_forwarded_peer_0_0_2;
-
-    plug_fprof_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "plug_fprof";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "plug_fprof";
-              version = "0.0.1";
-              sha256 =
-                "4c5e6171ab7ebb29b6d473f8c5fd758a11ade5847d31add676c944a302ab006c";
-            };
-
-            meta = {
-              description = ''A Plug that adds fprof tracing to requests, to
-                            allow for easy profiling.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/obmarg/plug_fprof";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_fprof = plug_fprof_0_0_1;
-
-    plug_geoip2_0_4_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          geolix_0_10_1
-        }:
-          buildMix ({
-            name = "plug_geoip2";
-            version = "0.4.2";
-            src = fetchHex {
-              pkg = "plug_geoip2";
-              version = "0.4.2";
-              sha256 =
-                "2a6443040e07e677b0ff7749d2cdf7797a97254466f6740aee11544a18f4993a";
-            };
-            beamDeps  = [ plug_1_1_5 geolix_0_10_1 ];
-
-            meta = {
-              longDescription = ''Adds geo location to a Plug connection based
-                                upon the client IP address by using MaxMind`s
-                                GeoIP2 database.'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_geoip2 = plug_geoip2_0_4_2;
-
-    plug_heartbeat_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "plug_heartbeat";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "plug_heartbeat";
-              version = "0.2.0";
-              sha256 =
-                "23cb357dad510695b6bb339fdbf5d3fc8581546124f7389d63c9cf723e4ad40f";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''A tiny plug for responding to heartbeat requests
-                            '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/whatyouhide/plug_heartbeat";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_heartbeat = plug_heartbeat_0_2_0;
-
-    plug_media_type_router_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "plug_media_type_router";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "plug_media_type_router";
-              version = "0.0.2";
-              sha256 =
-                "e5f72ee4fd1a43321532e3165b3609a1184ba2d576279a1a63e17afba084f12b";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              longDescription = ''An Elixir Plug for routing requests to other
-                                Plugs based on the request`s Media Type'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/cazrin/plug_media_type_router";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_media_type_router = plug_media_type_router_0_0_2;
-
-    plug_pagecache_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "plug_pagecache";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "plug_pagecache";
-              version = "0.2.0";
-              sha256 =
-                "8f33202de45d772dd1f416a10d43f8e2daabf937d459e010fa9c850834e1877f";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Plug for full page response caching'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/mneudert/plug_pagecache";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_pagecache = plug_pagecache_0_2_0;
-
-    plug_rails_cookie_session_store_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "plug_rails_cookie_session_store";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "plug_rails_cookie_session_store";
-              version = "0.1.0";
-              sha256 =
-                "e08041d2ad4884826d8296a5560609df04a936ceca492d094f06458699ac69da";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Rails compatible Plug session store'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/cconstantin/plug_rails_cookie_session_store";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_rails_cookie_session_store =
-      plug_rails_cookie_session_store_0_1_0;
-
-    plug_range_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "plug_range";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "plug_range";
-              version = "0.0.2";
-              sha256 =
-                "0dbe3c166e01180913f07a5e4c46cd9427f3e797dd7be515871631b0ed60b9eb";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''An elixir plug that serves HTTP range requests'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/TheSquad/plug_range";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_range = plug_range_0_0_2;
-
-    plug_redirect_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "plug_redirect";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "plug_redirect";
-              version = "0.1.2";
-              sha256 =
-                "f5fb2653ed39cf843bcc3cb13ba2bf547b1f66ef7c24f963551acd0b8e1c4705";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''A plug builder for redirecting requests.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lpil/plug-redirect";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_redirect = plug_redirect_0_1_2;
-
-    plug_redirect_https_0_0_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "plug_redirect_https";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "plug_redirect_https";
-              version = "0.0.6";
-              sha256 =
-                "73f1b3172183005f0fb59a43c50a94a708c06ffcc35a7387967d87e001369068";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''Plug to redirect http requests to https requests
-                            behind a reverse proxy'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/stocks29/plug_redirect_https.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_redirect_https = plug_redirect_https_0_0_6;
-
-    plug_require_header_0_8_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          plug_1_1_5
-        }:
-          buildMix ({
-            name = "plug_require_header";
-            version = "0.8.0";
-            src = fetchHex {
-              pkg = "plug_require_header";
-              version = "0.8.0";
-              sha256 =
-                "b721158316f6d2efd4b24bd05a8a1c06caa699ee25249185c8c4f03f9204b283";
-            };
-            beamDeps  = [ poison_1_5_2 plug_1_1_5 ];
-
-            meta = {
-              description = ''An Elixir Plug for requiring and extracting a
-                            given header.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/DevL/plug_require_header";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_require_header = plug_require_header_0_8_0;
-
-    plug_response_header_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "plug_response_header";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "plug_response_header";
-              version = "0.2.1";
-              sha256 =
-                "82fd11fc70d925ed5a608ac13a9f604a80e24827f6603999d6a0f3f123862048";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''This plug allows manipulation of HTTP response
-                            headers'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/c-rack/plug_response_header";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_response_header = plug_response_header_0_2_1;
-
-    plug_ribbon_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "plug_ribbon";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "plug_ribbon";
-              version = "0.2.1";
-              sha256 =
-                "34fcbffb6fc3adde6bb167506934ab19787d2fff82b6bf93918e0000159bfe9d";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''Injects a ribbon to your web application
-                            depending on the environment'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://git.io/plug_ribbon";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_ribbon = plug_ribbon_0_2_1;
-
-    plug_runtime_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "plug_runtime";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "plug_runtime";
-              version = "1.0.0";
-              sha256 =
-                "58e213a40fe339771ab93520da56c2108488cfd9e99c7e92def367567ce225a7";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              longDescription = ''A simple Plug to measure the runtime of a
-                                request. Results will be in the X-Runtime
-                                header.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/mje113/plug_runtime";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_runtime = plug_runtime_1_0_0;
-
-    plug_statsd_0_4_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          ex_statsd_0_5_3
-        }:
-          buildMix ({
-            name = "plug_statsd";
-            version = "0.4.1";
-            src = fetchHex {
-              pkg = "plug_statsd";
-              version = "0.4.1";
-              sha256 =
-                "af3158b9d43101e39e22472fcea98180911298c92a735d5ff14dce309e5e30f2";
-            };
-            beamDeps  = [ plug_1_1_5 ex_statsd_0_5_3 ];
-
-            meta = {
-              description = ''A (Phoenix) plug for sending request counts and
-                            response times to statsd'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jeffweiss/plug_statsd";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_statsd = plug_statsd_0_4_1;
-
-    plug_test_helpers_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_0_8_4,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "plug_test_helpers";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "plug_test_helpers";
-              version = "0.1.0";
-              sha256 =
-                "f542d679a33d42147612164ade572fa973344b4550ffcbbb0ef540492c9e97fe";
-            };
-            beamDeps  = [ plug_0_8_4 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Helpers to test your Plugs with ExUnit'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/xavier/plug_test_helpers";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_test_helpers = plug_test_helpers_0_1_0;
-
-    plug_utm_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "plug_utm";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "plug_utm";
-              version = "0.0.2";
-              sha256 =
-                "d473d6b360f5a9189cee2a0f95c06ffb1cb9495a9bb8c729a631c2fa33ed5fc9";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''UTM tracking parameters to cookies'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/honeypotio/plug_utm";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_utm = plug_utm_0_0_2;
-
-    plug_wait1_0_1_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_3_1,
-          plug_0_13_1,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "plug_wait1";
-            version = "0.1.5";
-            src = fetchHex {
-              pkg = "plug_wait1";
-              version = "0.1.5";
-              sha256 =
-                "33d45e8c5dba4b9639c115b079581954877184c2c7ab394b80514cfd4199bb15";
-            };
-            beamDeps  = [ poison_1_3_1 plug_0_13_1 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Plug adapter for the wait1 protocol'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/wait1/plug_wait1";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_wait1 = plug_wait1_0_1_5;
-
-    plug_x_forwarded_for_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "plug_x_forwarded_for";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "plug_x_forwarded_for";
-              version = "0.1.0";
-              sha256 =
-                "7a12dff0f850855ae85d70ed0e71aff5ec55dad6c52fc46d6ba21119e6183b33";
-            };
-
-            meta = {
-              description = ''x-forwarded-for plug middleware'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/plug_x_forwarded_for";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_x_forwarded_for = plug_x_forwarded_for_0_1_0;
-
-    plugin_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "plugin";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "plugin";
-              version = "0.1.0";
-              sha256 =
-                "f596a2e9e14081884a841d1805e024d435c6a27e5e38b9c64214017659560fad";
-            };
-
-            meta = {
-              longDescription = ''Like Plug, only without web-specific logic
-                                and without a typed Conn-datastructure'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ruby2elixir/plugin";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plugin = plugin_0_1_0;
-
-    plugs_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "plugs";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "plugs";
-              version = "0.1.1";
-              sha256 =
-                "d11f4122bcd3fd83ac1b442ebf908ebb1f1ad535fa305446c90cf2ce51222c07";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''A collection of Plug middleware for web
-                            applications'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sugar-framework/plugs";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plugs = plugs_0_1_1;
-
-    plugsnag_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, bugsnag_1_2_0 }:
-          buildMix ({
-            name = "plugsnag";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "plugsnag";
-              version = "1.1.0";
-              sha256 =
-                "aa3a9e587042f5519d8309fc4cf764a0262eda0da752ddf87c5fcfea176208ad";
-            };
-            beamDeps  = [ bugsnag_1_2_0 ];
-
-            meta = {
-              description = ''Bugsnag reporter for Elixir`s Plug'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jarednorman/plugsnag";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plugsnag = plugsnag_1_1_0;
-
-    plumber_girl_0_9_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "plumber_girl";
-            version = "0.9.6";
-            src = fetchHex {
-              pkg = "plumber_girl";
-              version = "0.9.6";
-              sha256 =
-                "2a9faf9980cae59e11a6f9cf151a634cd809de220293bbbaba849f216c247a45";
-            };
-
-            meta = {
-              description = ''PlumberGirl takes care of your Elixir piping
-                            issues!'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ruby2elixir/plumber_girl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plumber_girl = plumber_girl_0_9_6;
-
-    pmbag_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "pmbag";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "pmbag";
-              version = "1.0.0";
-              sha256 =
-                "9f12262ac93faf29c00e3da5f5836086542fbcfa0539bf733ab3e5cca0d34872";
-            };
-
-            meta = {
-              description = ''Erlang Private Mail Bag.'';
-              license = stdenv.lib.licenses.mpl20;
-              homepage = "https://github.com/potatosalad/pmbag";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pmbag = pmbag_1_0_0;
-
-    pobox_1_0_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "pobox";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "pobox";
-              version = "1.0.2";
-              sha256 =
-                "372090633c2565cd645acf2d1e2354c0791d5a5dc2f74885795b8807d402fe88";
-            };
-
-            meta = {
-              description = ''External buffer processes to protect against
-                            mailbox overflow'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ferd/pobox/";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pobox = pobox_1_0_2;
-
-    pocketeer_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "pocketeer";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "pocketeer";
-              version = "0.1.1";
-              sha256 =
-                "886367d81a41a7668805e06877aedfa1b9b4f1506ef1b42e95a4b3bf722d8e76";
-            };
-            beamDeps  = [ poison_2_1_0 httpotion_2_2_2 ];
-
-            meta = {
-              description = ''An Elixir client for the Pocket API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://www.github.com/justahero/pocketeer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pocketeer = pocketeer_0_1_1;
-
-    pocketex_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_3_1,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "pocketex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "pocketex";
-              version = "0.1.0";
-              sha256 =
-                "b832df8e3f3102b69892cc5cfab4418de876a6ecc5780805458b9946aa407cbf";
-            };
-            beamDeps  = [ poison_1_3_1 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Pocketex is an Elixir client for the Pocket read
-                            later service (getpocket.com) '';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/essenciary/pocketex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pocketex = pocketex_0_1_0;
-
-    poison_1_3_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "poison";
-            version = "1.3.1";
-            src = fetchHex {
-              pkg = "poison";
-              version = "1.3.1";
-              sha256 =
-                "fbd78dd3e5abbadc17ddd89905002f6d20a03046f7555a6098d28a9f14feaf58";
-            };
-
-            meta = {
-              description = ''An incredibly fast, pure Elixir JSON library'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/devinus/poison";
-            };
-          } // packageOverrides)
-      ) {};
-
-    poison_1_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "poison";
-            version = "1.4.0";
-            src = fetchHex {
-              pkg = "poison";
-              version = "1.4.0";
-              sha256 =
-                "b2715aaeb9f549f4e30739d43993e3c1b1053a4ed69d50c660621bdd1eb96606";
-            };
-
-            meta = {
-              description = ''An incredibly fast, pure Elixir JSON library'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/devinus/poison";
-            };
-          } // packageOverrides)
-      ) {};
-
-    poison_1_5_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "poison";
-            version = "1.5.0";
-            src = fetchHex {
-              pkg = "poison";
-              version = "1.5.0";
-              sha256 =
-                "a31ffdaf77494ff12d6c2c9cb03235d4373596d2faf62ee5b99c1ae479618400";
-            };
-
-            meta = {
-              description = ''An incredibly fast, pure Elixir JSON library'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/devinus/poison";
-            };
-          } // packageOverrides)
-      ) {};
-
-    poison_1_5_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "poison";
-            version = "1.5.2";
-            src = fetchHex {
-              pkg = "poison";
-              version = "1.5.2";
-              sha256 =
-                "4afc59dcadf71be7edc8b934b39f554ec7b31e2b1b1a4767383a663f86958ce3";
-            };
-
-            meta = {
-              description = ''An incredibly fast, pure Elixir JSON library'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/devinus/poison";
-            };
-          } // packageOverrides)
-      ) {};
-
-    poison_2_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "poison";
-            version = "2.0.1";
-            src = fetchHex {
-              pkg = "poison";
-              version = "2.0.1";
-              sha256 =
-                "7f34906a0839f3b49b9b7647461c5144787611f599e8d743214280761699df2b";
-            };
-
-            meta = {
-              description = ''An incredibly fast, pure Elixir JSON library'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/devinus/poison";
-            };
-          } // packageOverrides)
-      ) {};
-
-    poison_2_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "poison";
-            version = "2.1.0";
-            src = fetchHex {
-              pkg = "poison";
-              version = "2.1.0";
-              sha256 =
-                "002caaf939b97c84533ef0f621d3ed414ed703fcd03c91ec0dd62043df102c63";
-            };
-
-            meta = {
-              description = ''An incredibly fast, pure Elixir JSON library'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/devinus/poison";
-            };
-          } // packageOverrides)
-      ) {};
-
-    poison = poison_2_1_0;
-
-    poker_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "poker";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "poker";
-              version = "0.0.2";
-              sha256 =
-                "9599ef62b0a2e1b15ff2697cb1603dd7be00911d8a613e1d01cfdf8c8b5d63b3";
-            };
-
-            meta = {
-              description = ''An Elixir library to work with Poker hands.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/wojtekmach/poker_elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    poker = poker_0_0_2;
-
-    poloniex_0_0_8 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          vex_0_5_5,
-          poison_2_1_0,
-          httpoison_0_8_3,
-          exconstructor_1_0_2
-        }:
-          buildMix ({
-            name = "poloniex";
-            version = "0.0.8";
-            src = fetchHex {
-              pkg = "poloniex";
-              version = "0.0.8";
-              sha256 =
-                "7890a5f26178ec224379fa4160092d55f9098131eaab8711a75ef1fe6808cc83";
-            };
-            beamDeps  = [
-                          vex_0_5_5
-                          poison_2_1_0
-                          httpoison_0_8_3
-                          exconstructor_1_0_2
-                        ];
-
-            meta = {
-              longDescription = ''WIP Poloniex API wrapper for Elixir. Provides
-                                access to market data including trading pairs
-                                between ETH, BTC, DOGE, LTC and others.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/cyberpunk-ventures/poloniex_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    poloniex = poloniex_0_0_8;
-
-    poly1305_0_4_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          equivalex_0_1_0,
-          chacha20_0_3_2
-        }:
-          buildMix ({
-            name = "poly1305";
-            version = "0.4.1";
-            src = fetchHex {
-              pkg = "poly1305";
-              version = "0.4.1";
-              sha256 =
-                "b0f804a21e3c1f57cd37b6e439107a1eaf8d7a2404717fb95d21eb3f134973bb";
-            };
-            beamDeps  = [ equivalex_0_1_0 chacha20_0_3_2 ];
-
-            meta = {
-              description = ''Poly1305 message authentication'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/poly1305_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    poly1305 = poly1305_0_4_1;
-
-    polyglot_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "polyglot";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "polyglot";
-              version = "0.0.1";
-              sha256 =
-                "83aaf990f322ea5c314b469932e87db7175374b0e0b28d078defba60dca0fb78";
-            };
-
-            meta = {
-              longDescription = ''Polyglot is a localization library for Elixir
-                                that provides reusable formatting rules and
-                                translations for a large number of languages.'';
-              license = with stdenv.lib.licenses; [ mit free ];
-              homepage = "https://github.com/padde/polyglot";
-            };
-          } // packageOverrides)
-      ) {};
-
-    polyglot = polyglot_0_0_1;
-
-    polyline_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, vector_0_3_0 }:
-          buildMix ({
-            name = "polyline";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "polyline";
-              version = "0.1.0";
-              sha256 =
-                "6df2ebd1a5f55d6f680924200175bc5473beadd013acec72d201fcec18d31afd";
-            };
-            beamDeps  = [ vector_0_3_0 ];
-
-            meta = {
-              description = ''Encoding and decoding of Polylines'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pkinney/polyline_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    polyline = polyline_0_1_0;
-
-    polyvox_id3_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "polyvox_id3";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "polyvox_id3";
-              version = "0.2.1";
-              sha256 =
-                "2bb3e3b9edde6630160857563c992f7e9ea56d11d263172c95161b4275f6b48c";
-            };
-
-            meta = {
-              description = ''A podcast-centric ID3 library for parsing and
-                            writing ID3 tags.'';
-              license = stdenv.lib.licenses.gpl3;
-              homepage = "https://github.com/polyvox/polyvox_id3";
-            };
-          } // packageOverrides)
-      ) {};
-
-    polyvox_id3 = polyvox_id3_0_2_1;
-
-    pool_ring_0_1_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pool_ring";
-            version = "0.1.5";
-            src = fetchHex {
-              pkg = "pool_ring";
-              version = "0.1.5";
-              sha256 =
-                "a5d965379d8cb05e772e606951ba1b33c45b58a0809ba9f44eff453ea43068ce";
-            };
-
-            meta = {
-              description = ''create a pool based on a hash ring'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/pool_ring";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pool_ring = pool_ring_0_1_5;
-
-    pool_sup_0_2_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, croma_0_4_4 }:
-          buildMix ({
-            name = "pool_sup";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "pool_sup";
-              version = "0.2.2";
-              sha256 =
-                "73cebc2ad393a7ef92c6787b8b581051ddc299372d25bc1175d94dee0ec28e90";
-            };
-            beamDeps  = [ croma_0_4_4 ];
-
-            meta = {
-              description = ''A supervisor specialized to manage pool of
-                            workers'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    pool_sup = pool_sup_0_2_2;
-
-    poolboy_1_4_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "poolboy";
-            version = "1.4.1";
-            src = fetchHex {
-              pkg = "poolboy";
-              version = "1.4.1";
-              sha256 =
-                "b112f2bfa13010f751ecc013f74af0601eb41315bb0ccfa5eed641d73fbbe899";
-            };
-
-            meta = {
-              description = ''A hunky Erlang worker pool factory'';
-              license = with stdenv.lib.licenses; [ unlicense asl20 ];
-              homepage = "https://github.com/devinus/poolboy";
-            };
-          } // packageOverrides)
-      ) {};
-
-    poolboy_1_4_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "poolboy";
-            version = "1.4.2";
-            src = fetchHex {
-              pkg = "poolboy";
-              version = "1.4.2";
-              sha256 =
-                "6133b67251080f32ffed4f71913cd2998fd6f02fa076677aadf7278b62853938";
-            };
-
-            meta = {
-              description = ''A hunky Erlang worker pool factory'';
-              license = with stdenv.lib.licenses; [ unlicense asl20 ];
-              homepage = "https://github.com/devinus/poolboy";
-            };
-          } // packageOverrides)
-      ) {};
-
-    poolboy_1_5_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "poolboy";
-            version = "1.5.1";
-            src = fetchHex {
-              pkg = "poolboy";
-              version = "1.5.1";
-              sha256 =
-                "8f7168911120e13419e086e78d20e4d1a6776f1eee2411ac9f790af10813389f";
-            };
-
-            meta = {
-              description = ''A hunky Erlang worker pool factory'';
-              license = with stdenv.lib.licenses; [ unlicense asl20 ];
-              homepage = "https://github.com/devinus/poolboy";
-            };
-          } // packageOverrides)
-      ) {};
-
-    poolboy = poolboy_1_5_1;
-
-    pooler_1_5_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "pooler";
-            version = "1.5.0";
-            src = fetchHex {
-              pkg = "pooler";
-              version = "1.5.0";
-              sha256 =
-                "f493b4b947967fa4250dd1f96e86a5440ecab51da114d2c256cced58ad991908";
-            };
-
-            meta = {
-              description = ''An OTP Process Pool Application'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/seth/pooler";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pooler = pooler_1_5_0;
-
-    pop3mail_0_1_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pop3mail";
-            version = "0.1.6";
-            src = fetchHex {
-              pkg = "pop3mail";
-              version = "0.1.6";
-              sha256 =
-                "ca8496c92a3c0caa479836f254980c2af69a66a29e08cea45a164874801c54da";
-            };
-
-            meta = {
-              longDescription = ''Pop3 client to download email (including
-                                attachments) from the inbox. Decodes multipart
-                                content, quoted-printables, base64 and
-                                encoded-words. Uses an Erlang pop3 client with
-                                SSL support derived from the epop package. Add
-                                this dependency in mix.exs: {:erlpop, github:
-                                \"trifork/erlpop\"}'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nico-amsterdam/pop3mail";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pop3mail = pop3mail_0_1_6;
-
-    populator_0_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "populator";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "populator";
-              version = "0.4.0";
-              sha256 =
-                "4f2b2720676db740139ebd69ca0c26b111721d7d049f185f0e5a50cfca18085d";
-            };
-
-            meta = {
-              description = ''Supervisor population control library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rubencaro/populator";
-            };
-          } // packageOverrides)
-      ) {};
-
-    populator = populator_0_4_0;
-
-    porcelain_2_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "porcelain";
-            version = "2.0.1";
-            src = fetchHex {
-              pkg = "porcelain";
-              version = "2.0.1";
-              sha256 =
-                "dbe57a57c3917654694ea6be7e756e26345a59d2974fe6ec861a71f469767ad9";
-            };
-
-            meta = {
-              longDescription = ''Porcelain implements a saner approach to
-                                launching and communicating with external OS
-                                processes from Elixir. Built on top of Erlang`s
-                                ports, it provides richer functionality and
-                                simpler API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/alco/porcelain";
-            };
-          } // packageOverrides)
-      ) {};
-
-    porcelain = porcelain_2_0_1;
-
-    porter_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "porter";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "porter";
-              version = "0.0.1";
-              sha256 =
-                "81ef97a1d6eb495b6a919cdaae4268a49a3591903424d4ed00f67104d09e89dd";
-            };
-
-            meta = {
-              longDescription = ''Porter provides an OTP application that runs
-                                the specified system command using the Erlang
-                                Port library and then streams the results back
-                                to you.'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    porter = porter_0_0_1;
-
-    posexional_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "posexional";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "posexional";
-              version = "0.2.1";
-              sha256 =
-                "c3cedc2c99ed10c400be538e558fcb09cdb675d972d3f5deb33d4029b916da82";
-            };
-
-            meta = {
-              description = ''A library to manage positional files'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/primait/posexional";
-            };
-          } // packageOverrides)
-      ) {};
-
-    posexional = posexional_0_2_1;
-
-    positive_13_3_7 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "positive";
-            version = "13.3.7";
-            src = fetchHex {
-              pkg = "positive";
-              version = "13.3.7";
-              sha256 =
-                "516964039cbae4e64226d9e50787f32134f3411bc0ae8cedf26488ba004616be";
-            };
-
-            meta = {
-              description = ''Library: check if an integer is positive'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jlouis/positive";
-            };
-          } // packageOverrides)
-      ) {};
-
-    positive = positive_13_3_7;
-
-    postgrex_0_9_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, decimal_1_1_2 }:
-          buildMix ({
-            name = "postgrex";
-            version = "0.9.1";
-            src = fetchHex {
-              pkg = "postgrex";
-              version = "0.9.1";
-              sha256 =
-                "9c9a4ffca145479b343d7a51730557305425aab69e8d31cc32f348f85996fb5a";
-            };
-            beamDeps  = [ decimal_1_1_2 ];
-
-            meta = {
-              description = ''PostgreSQL driver for Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/ericmj/postgrex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pot_0_9_4 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "pot";
-            version = "0.9.4";
-            src = fetchHex {
-              pkg = "pot";
-              version = "0.9.4";
-              sha256 =
-                "ba6814a8e2be50d64ee65612cf627aba4784555054c22ac5066e6543f349887c";
-            };
-
-            meta = {
-              longDescription = ''POT is an Erlang library for generating
-                                Google Authenticator compatible one time
-                                passwords.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/yuce/pot";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pot = pot_0_9_4;
-
-    power_assert_0_0_8 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "power_assert";
-            version = "0.0.8";
-            src = fetchHex {
-              pkg = "power_assert";
-              version = "0.0.8";
-              sha256 =
-                "b4e1d27ab8e05f01d458ba84c4caced1f9b0209b3178dfcf4334e857a8aa6cd0";
-            };
-
-            meta = {
-              description = ''Power Assert in Elixir. Shows evaluation results
-                            each expression.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/ma2gedev/power_assert_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    power_assert = power_assert_0_0_8;
-
-    ppg_0_1_3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, evel_0_1_1 }:
-          buildRebar3 ({
-            name = "ppg";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "ppg";
-              version = "0.1.3";
-              sha256 =
-                "8bbd51b5c1f2e08636839ad6f6151b3ad2a5c46e3fe8bdb1f33f79a2b57d1e13";
-            };
-
-            beamDeps  = [ evel_0_1_1 ];
-
-            meta = {
-              description = ''Plumtree based Process Group'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sile/ppg";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ppg = ppg_0_1_3;
-
-    pqueue_1_5_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "pqueue";
-            version = "1.5.1";
-            src = fetchHex {
-              pkg = "pqueue";
-              version = "1.5.1";
-              sha256 =
-                "7ba01afe6b50ea4b239fa770f9e2c2db4871b3927ac44aea180d1fd52601b317";
-            };
-
-            meta = {
-              description = ''Erlang Priority Queue Implementation'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/okeuday/pqueue";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pqueue = pqueue_1_5_1;
-
-    pragmatic_0_1_7 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pragmatic";
-            version = "0.1.7";
-            src = fetchHex {
-              pkg = "pragmatic";
-              version = "0.1.7";
-              sha256 =
-                "a86e89bf594108715bf7db70ccb93eb2a020367a9bb6c441ca74d3eb92c35fa3";
-            };
-
-            meta = {
-              longDescription = ''A small, simple library to deal with the
-                                practical issues arising from using Elixir on
-                                Windows'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/OnorioCatenacci/pragmatic";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pragmatic = pragmatic_0_1_7;
-
-    prefecture_jp_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "prefecture_jp";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "prefecture_jp";
-              version = "0.0.2";
-              sha256 =
-                "ffc29fc76ee098b5f6c7c93db3736916cc23b0ace424dd8c0f946570aeb75c22";
-            };
-
-            meta = {
-              description = ''PrefectureJp is a library for Japanese
-                            prefecture.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ymmtmsys/prefecture_jp";
-            };
-          } // packageOverrides)
-      ) {};
-
-    prefecture_jp = prefecture_jp_0_0_2;
-
-    prelude_0_0_1 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, etude_1_0_0_beta_0
-        }:
-          buildMix ({
-            name = "prelude";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "prelude";
-              version = "0.0.1";
-              sha256 =
-                "805c5a43a043864b4793f4aeff574b88e9eaac18e49d93cb71cbd6270283bde9";
-            };
-            beamDeps  = [ etude_1_0_0_beta_0 ];
-
-            meta = {
-              description = ''a preprocessor/compiler toolset for erlang and
-                            elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/prelude";
-            };
-          } // packageOverrides)
-      ) {};
-
-    prelude = prelude_0_0_1;
-
-    presentex_0_0_10 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "presentex";
-            version = "0.0.10";
-            src = fetchHex {
-              pkg = "presentex";
-              version = "0.0.10";
-              sha256 =
-                "86479a0b79146dadc3f224d2023d06d7f4f87fd455a3267bbd11759ebde1404c";
-            };
-
-            meta = {
-              description = ''An Elixir -> HTML/JavaScript presentation
-                            generation tool. '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/Cobenian/Presentex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    presentex = presentex_0_0_10;
-
-    pretty_hex_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pretty_hex";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "pretty_hex";
-              version = "0.0.1";
-              sha256 =
-                "ab91a38480049af4811ffdaf15dbee9370acb9b20cdc870281d2006a8fe928b4";
-            };
-
-            meta = {
-              description = ''A binary hex dumping library in Elixir. '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/polsab/pretty_hex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pretty_hex = pretty_hex_0_0_1;
-
-    pricing_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_1_0_2,
-          porcelain_2_0_1
-        }:
-          buildMix ({
-            name = "pricing";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "pricing";
-              version = "0.0.1";
-              sha256 =
-                "82e0438611507f600bd799c986872588f88627fdcf7a15d4031d779c9d1cd4d7";
-            };
-            beamDeps  = [ timex_1_0_2 porcelain_2_0_1 ];
-
-            meta = {
-              description = ''Pricing financial instruments in Elixir'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/arthurcolle/pricing";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pricing = pricing_0_0_1;
-
-    priority_queue_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "priority_queue";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "priority_queue";
-              version = "1.0.0";
-              sha256 =
-                "ba3dc420a5898d863803455c05ad870c6b6f3adb12b50ebea6cd6aeed1b358b7";
-            };
-
-            meta = {
-              description = ''Priority Queue for Elixir. Heap implementation'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/ewildgoose/elixir_priority_queue";
-            };
-          } // packageOverrides)
-      ) {};
-
-    priority_queue = priority_queue_1_0_0;
-
-    progress_bar_1_5_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "progress_bar";
-            version = "1.5.0";
-            src = fetchHex {
-              pkg = "progress_bar";
-              version = "1.5.0";
-              sha256 =
-                "36fa99f89b876078a19f9d929dd74a043a5e34bbf8d62cda5d9cd26e2ce94426";
-            };
-
-            meta = {
-              description = ''Command-line progress bars and spinners.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/henrik/progress_bar";
-            };
-          } // packageOverrides)
-      ) {};
-
-    progress_bar = progress_bar_1_5_0;
-
-    project_info_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "project_info";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "project_info";
-              version = "1.0.0";
-              sha256 =
-                "749553b710d363e5b900a6d3d37da7c461b8f7a977c9da814124f5862cf209a0";
-            };
-
-            meta = {
-              longDescription = ''A mix task to get info about the current mix
-                                project such as name or version number. Useful
-                                to automate tasks using a CI server or a build
-                                script.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/nubleer/project_info";
-            };
-          } // packageOverrides)
-      ) {};
-
-    project_info = project_info_1_0_0;
-
-    prometheus_0_2_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "prometheus";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "prometheus";
-              version = "0.2.0";
-              sha256 =
-                "9fbf8aeee723667f86f1d24bbe2562a4db4322ef850d5d6cc353d15c54f64937";
-            };
-
-            meta = {
-              description = ''Prometheus monitoring system and time series
-                            database client in Erlang.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/deadtrickster/prometheus.erl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    prometheus = prometheus_0_2_0;
-
-    prometheus_plugs_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          prometheus_0_2_0,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "prometheus_plugs";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "prometheus_plugs";
-              version = "0.0.3";
-              sha256 =
-                "b15e425ba78e1c76368b66b22f5e22d283fa3cff26f3a4d45a2498cb5db6c0ff";
-            };
-            beamDeps  = [ prometheus_0_2_0 plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Prometheus monitoring system client Plugs. Http
-                            metrics collector and exporter'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/deadtrickster/prometheus-plugs";
-            };
-          } // packageOverrides)
-      ) {};
-
-    prometheus_plugs = prometheus_plugs_0_0_3;
-
-    prop_types_0_0_11 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, tipo_0_0_3 }:
-          buildMix ({
-            name = "prop_types";
-            version = "0.0.11";
-            src = fetchHex {
-              pkg = "prop_types";
-              version = "0.0.11";
-              sha256 =
-                "d786fbef06701e21871f39c9c1bb3354966f24cd606d1b1fd7bff1cc97d2873f";
-            };
-            beamDeps  = [ tipo_0_0_3 ];
-
-            meta = {
-              description = ''Property Type validations and checkers for elixir
-                            apps'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bakasho/prop_types";
-            };
-          } // packageOverrides)
-      ) {};
-
-    prop_types = prop_types_0_0_11;
-
-    proper_case_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "proper_case";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "proper_case";
-              version = "0.1.1";
-              sha256 =
-                "63c279ad8721fb91175f74a03584fda2baaea6f5d79d5e899dddfd934e924d8a";
-            };
-
-            meta = {
-              longDescription = ''An Elixir library that converts keys in maps
-                                between `snake_case` and `camel_case`. Useful as
-                                a plug in Phoenix for converting incoming params
-                                from JavaScript`s `camelCase` to Elixir`s
-                                `snake_case`'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/johnnyji/proper_case";
-            };
-          } // packageOverrides)
-      ) {};
-
-    proper_case = proper_case_0_1_1;
-
-    proplist_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "proplist";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "proplist";
-              version = "1.1.0";
-              sha256 =
-                "6fc73362d15b4810f4979ddf72ec53c1efc020657a57b7cdd1f682bd38c08298";
-            };
-
-            meta = {
-              description = ''Proplist provides the complete Keyword API, but
-                            for Proplists.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/knrz/proplist";
-            };
-          } // packageOverrides)
-      ) {};
-
-    proplist = proplist_1_1_0;
-
-    proto_def_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          estree_2_3_0
-        }:
-          buildMix ({
-            name = "proto_def";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "proto_def";
-              version = "0.0.4";
-              sha256 =
-                "155b17cd62296cc1d5ee0333a87df4b25616a6dff7863a8e7ad219437db5a37e";
-            };
-            beamDeps  = [ poison_2_1_0 estree_2_3_0 ];
-
-            meta = {
-              longDescription = ''ProtoDef compiler for Elixir. (mostly)
-                                Compatible with
-                                https://github.com/ProtoDef-io/ProtoDef.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ProtoDef-io/elixir-protodef";
-            };
-          } // packageOverrides)
-      ) {};
-
-    proto_def = proto_def_0_0_4;
-
-    providers_1_4_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, getopt_0_8_2 }:
-          buildRebar3 ({
-            name = "providers";
-            version = "1.4.1";
-            src = fetchHex {
-              pkg = "providers";
-              version = "1.4.1";
-              sha256 =
-                "dfd88305670a3d942c08a2d852eeb4c20ec40ee2ba589339a48083ac74f14e36";
-            };
-
-            beamDeps  = [ getopt_0_8_2 ];
-
-            meta = {
-              description = ''Providers provider.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tsloughter/providers";
-            };
-          } // packageOverrides)
-      ) {};
-
-    providers_1_6_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, getopt_0_8_2 }:
-          buildRebar3 ({
-            name = "providers";
-            version = "1.6.0";
-            src = fetchHex {
-              pkg = "providers";
-              version = "1.6.0";
-              sha256 =
-                "0f6876529a613d34224de8c61d3660388eb981142360f2699486d8536050ce2f";
-            };
-
-            beamDeps  = [ getopt_0_8_2 ];
-
-            meta = {
-              description = ''Providers provider.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tsloughter/providers";
-            };
-          } // packageOverrides)
-      ) {};
-
-    providers = providers_1_6_0;
-
-    proxy_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          httpoison_0_8_3,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "proxy";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "proxy";
-              version = "0.0.1";
-              sha256 =
-                "74691b18a0918d6e14df1f254ee9f342a547bc280151a4d88a540839ae75bbae";
-            };
-            beamDeps  = [ plug_1_1_5 httpoison_0_8_3 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Proxy plug for upstream servers'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/chadwpry/elixir-proxy";
-            };
-          } // packageOverrides)
-      ) {};
-
-    proxy = proxy_0_0_1;
-
-    public_suffix_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, idna_2_0_0 }:
-          buildMix ({
-            name = "public_suffix";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "public_suffix";
-              version = "0.3.0";
-              sha256 =
-                "ffced61dca1d881ed91b4c6ee675e707bd1dbff14adb48adebf0bebbaeccae48";
-            };
-            beamDeps  = [ idna_2_0_0 ];
-
-            meta = {
-              longDescription = ''Operate on domain names using the public
-                                suffix rules provided by
-                                https://publicsuffix.org/.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/seomoz/publicsuffix-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    public_suffix = public_suffix_0_3_0;
-
-    publicsuffix_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "publicsuffix";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "publicsuffix";
-              version = "0.0.1";
-              sha256 =
-                "c20351c883ab00a424c6eace4adb23726fbf242240bc63f583f4c07cbe0a824b";
-            };
-
-            meta = {
-              description = ''Domain name parser for Elixir based on the Public
-                            Suffix List.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/weppos/publicsuffix-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    publicsuffix = publicsuffix_0_0_1;
-
-    pubnub_ex_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "pubnub_ex";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "pubnub_ex";
-              version = "0.0.2";
-              sha256 =
-                "83d270cfe2be6728fb96d9145371a87ddc876a97f91cdca2584cc82c2a0b91cb";
-            };
-            beamDeps  = [ httpoison_0_8_3 exjsx_3_2_0 ];
-
-            meta = {
-              description = ''A pubsub tool for pubnub.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ryuone/pubnub_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pubnub_ex = pubnub_ex_0_0_2;
-
-    pubsub_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "pubsub";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "pubsub";
-              version = "0.0.2";
-              sha256 =
-                "2072bf67d5d4b6d41c81f0e89697d72ca323c5640e883b0d0cec7d43cf6c8ae8";
-            };
-
-            meta = {
-              description = ''Publish-Subscribe utility'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/simonewebdesign/elixir_pubsub";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pubsub = pubsub_0_0_2;
-
-    qdate_0_4_3 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          erlware_commons_0_20_0,
-          erlang_localtime_1_0_0
-        }:
-          buildRebar3 ({
-            name = "qdate";
-            version = "0.4.3";
-            src = fetchHex {
-              pkg = "qdate";
-              version = "0.4.3";
-              sha256 =
-                "0bbad4929a7cf2432c832fe45310080776c64973037c5b1aa21bbe05dbc61401";
-            };
-
-            beamDeps  = [ erlware_commons_0_20_0 erlang_localtime_1_0_0 ];
-
-            meta = {
-              description = ''Simple Date and Timezone handling for Erlang'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/choptastic/qdate";
-            };
-          } // packageOverrides)
-      ) {};
-
-    qdate = qdate_0_4_3;
-
-    qiita_ex_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "qiita_ex";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "qiita_ex";
-              version = "0.0.2";
-              sha256 =
-                "0bb9a5535c0915c426ff13350b907cbd2b455bb99d8bcb8324ffadb6c9bcf1eb";
-            };
-            beamDeps  = [ httpoison_0_8_3 exjsx_3_2_0 ];
-
-            meta = {
-              description = ''Qiita API v2 Interface for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ma2gedev/qiita_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    qiita_ex = qiita_ex_0_0_2;
-
-    qiniu_0_3_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "qiniu";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "qiniu";
-              version = "0.3.0";
-              sha256 =
-                "f47360528cd289be5f5bb444d289e90f5f330a3230c9386f5a7aecd019a73081";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Qiniu Resource (Cloud) Storage SDK for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tony612/qiniu";
-            };
-          } // packageOverrides)
-      ) {};
-
-    qiniu = qiniu_0_3_0;
-
-    qlc_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "qlc";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "qlc";
-              version = "1.0.0";
-              sha256 =
-                "80df25fc032ced6f8c0c21df4099434db09d6de87ee32237719c776974ad15cc";
-            };
-
-            meta = {
-              description = ''QLC interface for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/k1complete/qlc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    qlc = qlc_1_0_0;
-
-    quantum_1_7_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_2_1_6 }:
-          buildMix ({
-            name = "quantum";
-            version = "1.7.1";
-            src = fetchHex {
-              pkg = "quantum";
-              version = "1.7.1";
-              sha256 =
-                "55a74be6a021816fe78d9a4a9450281e027302806313c9fa6e51694d44106c0a";
-            };
-            beamDeps  = [ timex_2_1_6 ];
-
-            meta = {
-              description = ''Cron-like job scheduler for Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/c-rack/quantum-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    quantum = quantum_1_7_1;
-
-    quark_1_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "quark";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "quark";
-              version = "1.0.2";
-              sha256 =
-                "c24950acc4d6f44aff612302871b2cff5f56d6b702285bc04e7b71179e5b13c7";
-            };
-
-            meta = {
-              description = ''Common combinators for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/robot-overlord/quark";
-            };
-          } // packageOverrides)
-      ) {};
-
-    quark = quark_1_0_2;
-
-    queue_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "queue";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "queue";
-              version = "0.0.1";
-              sha256 =
-                "a383d4b4a64e7639e66f314ae9e38e387453bcce6c96173e3d90b497c82bed9b";
-            };
-
-            meta = {
-              description = ''Elixir wrapper for erlang double sided FIFO
-                            queue'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    queue = queue_0_0_1;
-
-    queuex_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "queuex";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "queuex";
-              version = "0.2.0";
-              sha256 =
-                "e40b25befc34ecff962c92536e6a520967dd2d6031cb70a58be62269a6aec623";
-            };
-
-            meta = {
-              description = ''Priority Queue'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/falood/queuex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    queuex = queuex_0_2_0;
-
-    quickrand_1_5_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "quickrand";
-            version = "1.5.1";
-            src = fetchHex {
-              pkg = "quickrand";
-              version = "1.5.1";
-              sha256 =
-                "0b3dcc6ddb23319c1f6a5ed143778864b8ad2f0ebd693a2d121cf5ae0c4db507";
-            };
-
-            meta = {
-              longDescription = ''Quick Random Number Generation: Provides a
-                                simple interface to call efficient random number
-                                generation functions based on the context.
-                                Proper random number seeding is enforced.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/okeuday/quickrand";
-            };
-          } // packageOverrides)
-      ) {};
-
-    quickrand = quickrand_1_5_1;
-
-    quintana_0_2_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex, folsom_0_8_3 }:
-          buildRebar3 ({
-            name = "quintana";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "quintana";
-              version = "0.2.1";
-              sha256 =
-                "d4683eb33c71f6cab3b17b896b4fa9180f17a0a8b086440bfe0c5675182f0194";
-            };
-
-            beamDeps  = [ folsom_0_8_3 ];
-
-            meta = {
-              description = ''Wrapper around some Folsom functions'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    quintana = quintana_0_2_1;
-
-    ra_0_3_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ra";
-            version = "0.3.2";
-            src = fetchHex {
-              pkg = "ra";
-              version = "0.3.2";
-              sha256 =
-                "696cc4fd2dc1a36c705af7e7a1551bd054ad245841fccbc5d9d210f375c2dcf4";
-            };
-
-            meta = {
-              description = ''Ra is a framework for building command line
-                            applications.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/NobbZ/ra";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ra = ra_0_3_2;
-
-    rabbitElixir_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exjsx_3_1_0 }:
-          buildMix ({
-            name = "rabbitElixir";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "rabbitElixir";
-              version = "1.0.1";
-              sha256 =
-                "bc0ddae7fa0b869a6688db2e5d909d375ff0692a959aa768eed586bcfd2d0a2f";
-            };
-            beamDeps  = [ exjsx_3_1_0 ];
-
-            meta = {
-              description = ''Another Zawgyi <=> Unicode Converter '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Rabbit-Converter/Rabbit-Elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    rabbitElixir = rabbitElixir_1_0_1;
-
-    rabbit_common_3_5_6 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "rabbit_common";
-            version = "3.5.6";
-            src = fetchHex {
-              pkg = "rabbit_common";
-              version = "3.5.6";
-              sha256 =
-                "9335ab3ebc4e8e140d7bc9b1b0e7ee99c0aa87d0a746b704184121ba35c04f1c";
-            };
-
-            meta = {
-              longDescription = ''Includes modules which are a runtime
-                                dependency of the RabbitMQ/AMQP Erlang client
-                                and are common to the RabbitMQ server.'';
-              license = stdenv.lib.licenses.mpl11;
-              homepage = "https://github.com/jbrisbin/rabbit_common";
-            };
-          } // packageOverrides)
-      ) {};
-
-    rabbit_common = rabbit_common_3_5_6;
-
-    rails_4_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "rails";
-            version = "4.2.0";
-            src = fetchHex {
-              pkg = "rails";
-              version = "4.2.0";
-              sha256 =
-                "731692769aa106a20c87b12dca15336fd1d16a7f02e2615ad76f6ce83a2b0b46";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              longDescription = ''A plug to get your plug/phoenix applications
-                                performance more in line with Rails.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/BlakeWilliams/rails";
-            };
-          } // packageOverrides)
-      ) {};
-
-    rails = rails_4_2_0;
-
-    ralitobu_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ralitobu";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ralitobu";
-              version = "0.1.0";
-              sha256 =
-                "c131ef38e9f9e438e7479ba34430c7c874d1646670d6636a8cc98db2f113d075";
-            };
-
-            meta = {
-              description = ''The Rate Limiter with Token Bucket algorithm'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/asaaki/ralitobu";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ralitobu = ralitobu_0_1_0;
-
-    ralitobu_plug_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          ralitobu_0_1_0,
-          plug_1_1_5
-        }:
-          buildMix ({
-            name = "ralitobu_plug";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ralitobu_plug";
-              version = "0.1.0";
-              sha256 =
-                "f6c425f0dea74222243ffb3d4aaefd24b5ee0547ec71ac78896f1cfe02821e74";
-            };
-            beamDeps  = [ ralitobu_0_1_0 plug_1_1_5 ];
-
-            meta = {
-              description = ''Elixir Plug for Ralitobu, the Rate Limiter with
-                            Token Bucket algorithm'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/asaaki/ralitobu_plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ralitobu_plug = ralitobu_plug_0_1_0;
-
-    ranch_1_1_0 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "ranch";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "ranch";
-              version = "1.1.0";
-              sha256 =
-                "98ade939e63e6567da5dec5bc5bd93cbdc53d53f8b1aa998adec60dc4057f048";
-            };
-
-            meta = {
-              description = ''Socket acceptor pool for TCP protocols.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/ninenines/ranch";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ranch_1_2_1 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "ranch";
-            version = "1.2.1";
-            src = fetchHex {
-              pkg = "ranch";
-              version = "1.2.1";
-              sha256 =
-                "f602d057615ce737945c239e9c8155d3f5300fc5b1255abf81f2a9d0d08e5b04";
-            };
-
-            meta = {
-              description = ''Socket acceptor pool for TCP protocols.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/ninenines/ranch";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ranch = ranch_1_2_1;
-
-    random_string_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "random_string";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "random_string";
-              version = "0.0.1";
-              sha256 =
-                "4a90483956764f6ad3d928e27d2e6a1e830bc53b28ded5464c715eb2ec6b8ed8";
-            };
-
-            meta = {
-              description = ''Generates random string (or a stream of
-                            characters) of desired character sets.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sylph01/random_string";
-            };
-          } // packageOverrides)
-      ) {};
-
-    random_string = random_string_0_0_1;
-
-    range_extras_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "range_extras";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "range_extras";
-              version = "0.1.0";
-              sha256 =
-                "edc50d31341e1370d009df8b51d7d0e355a966068520ff38e88b8b542953e15c";
-            };
-
-            meta = {
-              description = ''Elixir range utilities: constant-time random
-                            sampling and set operations.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/lnikkila/elixir-range-extras";
-            };
-          } // packageOverrides)
-      ) {};
-
-    range_extras = range_extras_0_1_0;
-
-    rankmatcher_0_1_5 = callPackage
-      (
-        {
-          buildRebar3, packageOverrides ? {}, fetchHex, libsnarlmatch_0_1_7
-        }:
-          buildRebar3 ({
-            name = "rankmatcher";
-            version = "0.1.5";
-            src = fetchHex {
-              pkg = "rankmatcher";
-              version = "0.1.5";
-              sha256 =
-                "304704fcc294c636d80f030001495ada0e6b66a36c7a2f785964c8f491e3f197";
-            };
-
-            beamDeps  = [ libsnarlmatch_0_1_7 ];
-
-            meta = {
-              description = ''Library to rank and match lists'';
-              license = stdenv.lib.licenses.cddl;
-              homepage = "https://github.com/dalmatinerdb/mstore";
-            };
-          } // packageOverrides)
-      ) {};
-
-    rankmatcher = rankmatcher_0_1_5;
-
-    rapidax_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "rapidax";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "rapidax";
-              version = "0.0.3";
-              sha256 =
-                "9912b79b3d2729465bf66315bd955e031aeb038f05a63faa2dc0414026edb18c";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Rapidly develop your API client - based on
-                            rapidash gem'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/victorlcampos/rapidax";
-            };
-          } // packageOverrides)
-      ) {};
-
-    rapidax = rapidax_0_0_3;
-
-    ratio_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ratio";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "ratio";
-              version = "1.0.0";
-              sha256 =
-                "bd20f7aff8c5052a59037a66b603df55a7f23db1b23e7f8287bd331c0d9b8e9c";
-            };
-
-            meta = {
-              longDescription = ''This library allows you to use Rational
-                                numbers in Elixir, to enable exact calculations
-                                with all numbers big and small. It defines the
-                                new <|> operator, (optionally) overrides the
-                                arithmetic +, -, * and / operators to work with
-                                ints, floats and Rational numbers all alike.
-                                Floats are also automatically coerced into
-                                Rationals whenever possible. And don`t worry: If
-                                you don`t like operator-overloading: There are
-                                longhand function aliases available too.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/qqwy/elixir-rational";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ratio = ratio_1_0_0;
-
-    rational_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, earmark_0_2_1 }:
-          buildMix ({
-            name = "rational";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "rational";
-              version = "0.2.0";
-              sha256 =
-                "640093486afd882e5283d4269d9ab624369239016fed67e3b8038845322107b7";
-            };
-            beamDeps  = [ earmark_0_2_1 ];
-
-            meta = {
-              longDescription = ''Rational is a module for exact representation
-                                and manipulation of rational fractions, that is,
-                                those fractions that can be exactly represented
-                                by a ratio of integers (e.g., 1/3 or
-                                4176/22687).'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/twist-vector/elixir-rational.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    rational = rational_0_2_0;
-
-    ratx_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ratx";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "ratx";
-              version = "0.1.0";
-              sha256 =
-                "fbf933ff32fdc127200880f5b567820bf03504ade1bd697ffbc0535dbafc23d6";
-            };
-
-            meta = {
-              description = ''Rate limiter and overload protection for erlang
-                            and elixir applications. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/liveforeverx/ratx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ratx = ratx_0_1_0;
-
-    ravel_0_0_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ravel";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "ravel";
-              version = "0.0.6";
-              sha256 =
-                "a8fc97393216e2c4429982deefb77b48031ca7feca1f81835451af8977d4932e";
-            };
-
-            meta = {
-              description = ''Extendable validation for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/revati/ravel";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ravel = ravel_0_0_6;
-
-    ravenex_0_0_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          uuid_1_1_4,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "ravenex";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "ravenex";
-              version = "0.0.5";
-              sha256 =
-                "909039771fc414dd95d72d3e57c474f5ba7e593c9a9b448e3849ea68aa9d58cc";
-            };
-            beamDeps  = [ uuid_1_1_4 poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''Ravenex is an Elixir client for Sentry.
-                                Automatically send error notifications to
-                                Sentry. Easily connects with Phoenix through
-                                adding a logger or Plug.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hayesgm/ravenex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ravenex = ravenex_0_0_5;
-
-    raxx_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "raxx";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "raxx";
-              version = "0.0.1";
-              sha256 =
-                "b4a2fbb7d4e85932626656d38adb4de95d47bce04255a9c5b7c2562a27f92111";
-            };
-            beamDeps  = [ httpoison_0_8_3 cowboy_1_0_4 ];
-
-            meta = {
-              longDescription = ''A Elixir webserver interface, for stateless
-                                HTTP. Raxx exists to simplify handling the HTTP
-                                request-response cycle. It deliberately does not
-                                handle other communication styles that are part
-                                of the modern web.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/crowdhailer/raxx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    raxx = raxx_0_0_1;
-
-    react_on_elixir_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          poison_1_5_2
-        }:
-          buildMix ({
-            name = "react_on_elixir";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "react_on_elixir";
-              version = "0.0.4";
-              sha256 =
-                "5747938079acd15a39768a77ab013b199d429d725397fcd1e8313abf6eeb7c3b";
-            };
-            beamDeps  = [ poolboy_1_5_1 poison_1_5_2 ];
-
-            meta = {
-              description = ''Server render react components from Elixir'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/gauravtiwari/react_on_elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    react_on_elixir = react_on_elixir_0_0_4;
-
-    read_repos_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "read_repos";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "read_repos";
-              version = "0.0.1";
-              sha256 =
-                "f981ea689d21956e1470d947ba24c5480e808fdf1a9da4cd148e5a4e1247e8b4";
-            };
-
-            meta = {
-              description = ''Simple master-slave library for Ecto.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kenta-aktsk/read_repos";
-            };
-          } // packageOverrides)
-      ) {};
-
-    read_repos = read_repos_0_0_1;
-
-    readability_0_5_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          floki_0_8_1
-        }:
-          buildMix ({
-            name = "readability";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "readability";
-              version = "0.5.0";
-              sha256 =
-                "82b03705957be376e748029a9ac94a699f5dac072fdef662c46258c83d7e1a3e";
-            };
-            beamDeps  = [ httpoison_0_8_3 floki_0_8_1 ];
-
-            meta = {
-              description = ''Readability library for extracting and curating
-                            articles.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/keepcosmos/readability";
-            };
-          } // packageOverrides)
-      ) {};
-
-    readability = readability_0_5_0;
-
-    readit_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "readit";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "readit";
-              version = "0.0.3";
-              sha256 =
-                "a3f99c65e9ef62c625c81150735b7456db71e350cf892ee1119d3839cfab361e";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A Simple Read-Only Reddit API Client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/adamzaninovich/readit";
-            };
-          } // packageOverrides)
-      ) {};
-
-    readit = readit_0_0_3;
-
-    reap_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, jsex_2_0_0 }:
-          buildMix ({
-            name = "reap";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "reap";
-              version = "0.1.3";
-              sha256 =
-                "e260540500a29ac9945db512a550cd9b56ba4295b4aa3c1b408ad62720e7807b";
-            };
-            beamDeps  = [ jsex_2_0_0 ];
-
-            meta = {
-              description = ''A library for working with the refheap API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Raynes/reap";
-            };
-          } // packageOverrides)
-      ) {};
-
-    reap = reap_0_1_3;
-
-    reaxive_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "reaxive";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "reaxive";
-              version = "0.1.0";
-              sha256 =
-                "d185c80da34499999000f6aaab3ab891cdff34cb3a2079835e8e6f5b4e813fa2";
-            };
-
-            meta = {
-              longDescription = ''Reaxive is a library inspired by Reactive
-                                Extensions and ELM to provide functional
-                                reactive programming to Elixir. It allows for
-                                active sequences of events and a set of
-                                stream-reducer like transformations such as map
-                                or filter. '';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/alfert/reaxive";
-            };
-          } // packageOverrides)
-      ) {};
-
-    reaxive = reaxive_0_1_0;
-
-    rebar3_appup_plugin_1_1_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "rebar3_appup_plugin";
-            version = "1.1.1";
-            src = fetchHex {
-              pkg = "rebar3_appup_plugin";
-              version = "1.1.1";
-              sha256 =
-                "ea6d33c962770187021c528d0472a4f0b123c4adaf3242afb33465b796a34497";
-            };
-
-            meta = {
-              description = ''A rebar3 plugin for handling .appup files'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lrascao/rebar3_appup_plugin";
-            };
-          } // packageOverrides)
-      ) {};
-
-    rebar3_appup_plugin = rebar3_appup_plugin_1_1_1;
-
-    rebar3_asn1_compiler_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "rebar3_asn1_compiler";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "rebar3_asn1_compiler";
-              version = "1.0.0";
-              sha256 =
-                "25ec1d5c97393195650ac8c7a06a267a886a1479950ee047c43b5228c07b30b9";
-            };
-
-            meta = {
-              description = ''Compile ASN.1 modules with Rebar3'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pyykkis/rebar3_asn1_compiler";
-            };
-          } // packageOverrides)
-      ) {};
-
-    rebar3_asn1_compiler = rebar3_asn1_compiler_1_0_0;
-
-    spell_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_4_0,
-          msgpax_0_8_2
-        }:
-          buildMix ({
-            name = "spell";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "spell";
-              version = "0.1.0";
-              sha256 =
-                "c768ada54d3cbda57d63344b0b9c91520362700dde4b939a825358f01f1dbfa9";
-            };
-            beamDeps  = [ poison_1_4_0 msgpax_0_8_2 ];
-
-            meta = {
-              longDescription = ''Spell is an extensible Elixir WAMP client.
-                                Spell supports the client subscriber, publisher,
-                                callee, and caller roles.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/MyMedsAndMe/spell";
-            };
-          } // packageOverrides)
-      ) {};
-
-    spell = spell_0_1_0;
-
-    spex_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "spex";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "spex";
-              version = "0.1.2";
-              sha256 =
-                "102a1a74e19cd68c843ba45ac8580f44b5b8e4cc572e206e143cab56f369fb93";
-            };
-
-            meta = {
-              description = ''Validate your Elixir values against value-based
-                            specs'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/codegram/spex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    spex = spex_0_1_2;
-
-    spf_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "spf";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "spf";
-              version = "0.0.1";
-              sha256 =
-                "64126066eaac871e08a1ece2721e0fccb36220b28a4c6b03f08f0d4d459909a3";
-            };
-
-            meta = {
-              description = ''SPF implementation in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hex-sh/spf";
-            };
-          } // packageOverrides)
-      ) {};
-
-    spf = spf_0_0_1;
-
-    spherical_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "spherical";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "spherical";
-              version = "0.0.1";
-              sha256 =
-                "eaa7f1a4d265a0a6d0b8e23b530882dda0e68e35780a5af50ac6a2d9d2ba2fac";
-            };
-
-            meta = {
-              description = ''An spherical geometry library for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/arpunk/spherical";
-            };
-          } // packageOverrides)
-      ) {};
-
-    spherical = spherical_0_0_1;
-
-    spotify_ex_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          plug_1_1_5,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "spotify_ex";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "spotify_ex";
-              version = "0.0.4";
-              sha256 =
-                "f2e8647410096d34d9baecf8d9622896214320641ed72c11c711f9a463e4a961";
-            };
-            beamDeps  = [ poison_1_5_2 plug_1_1_5 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Elixir wrapper for Spotify API O-Auth.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://www.github.com/jsncmgs1/spotify_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    spotify_ex = spotify_ex_0_0_4;
-
-    spout_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "spout";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "spout";
-              version = "0.0.1";
-              sha256 =
-                "5389628219cfa6df18ba366cb668055e44e97eccfea38d385d0581c489f3926a";
-            };
-
-            meta = {
-              longDescription = ''A TAP producer that integrates with existing
-                                ExUnit tests via an ExUnit formatter'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Stratus3D/Spout";
-            };
-          } // packageOverrides)
-      ) {};
-
-    spout = spout_0_0_1;
-
-    spreedly_0_1_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "spreedly";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "spreedly";
-              version = "0.1.2";
-              sha256 =
-                "b5c770da8627fb1a3a570ffeec1a15e9ee1d643383f26018855ac028471e1329";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A wrapper for the Spreedly API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/duff/spreedly-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    spreedly = spreedly_0_1_2;
-
-    sqlcx_1_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          esqlcipher_1_0_0,
-          decimal_1_1_2
-        }:
-          buildMix ({
-            name = "sqlcx";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "sqlcx";
-              version = "1.1.0";
-              sha256 =
-                "203c9b39da2e359322c9d83bb64d2559dd26e0f22a03d493bfc817120c394e8d";
-            };
-            beamDeps  = [ esqlcipher_1_0_0 decimal_1_1_2 ];
-
-            meta = {
-              description = ''A thin Elixir wrapper around esqlcipher'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/FelixKiunke/sqlcx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    sqlcx = sqlcx_1_1_0;
-
-    sqlitex_0_8_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          pipe_0_0_2,
-          esqlite_0_2_2,
-          decimal_1_1_2
-        }:
-          buildMix ({
-            name = "sqlitex";
-            version = "0.8.3";
-            src = fetchHex {
-              pkg = "sqlitex";
-              version = "0.8.3";
-              sha256 =
-                "44daaeb135178165d0a6cd6754e4af05e56e5d2943c0b1108df7df718745ec0f";
-            };
-            beamDeps  = [ pipe_0_0_2 esqlite_0_2_2 decimal_1_1_2 ];
-
-            meta = {
-              description = ''A thin Elixir wrapper around esqlite'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mmmries/sqlitex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    sqlitex_1_0_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          esqlite_0_2_2,
-          decimal_1_1_2
-        }:
-          buildMix ({
-            name = "sqlitex";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "sqlitex";
-              version = "1.0.0";
-              sha256 =
-                "cbd7310e900841aa2dc6071b497330e730de1cd9618003006e0af48afb24d5f8";
-            };
-            beamDeps  = [ esqlite_0_2_2 decimal_1_1_2 ];
-
-            meta = {
-              description = ''A thin Elixir wrapper around esqlite'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mmmries/sqlitex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    sqlitex = sqlitex_1_0_0;
-
-    sshex_2_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "sshex";
-            version = "2.1.0";
-            src = fetchHex {
-              pkg = "sshex";
-              version = "2.1.0";
-              sha256 =
-                "303bd8fd007bf2d10ddfae83b74acafc747f24908c2590b098ba2e85c570c58b";
-            };
-
-            meta = {
-              description = ''Simple SSH helpers for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/rubencaro/sshex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    sshex = sshex_2_1_0;
-
-    ssl_verify_fun_1_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "ssl_verify_fun";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "ssl_verify_fun";
-              version = "1.1.0";
-              sha256 =
-                "6c0e0d857fdb031ba67b0a791202bee116bea2313db7b649839000847591ba1e";
-            };
-
-            meta = {
-              description = ''SSL verification functions for Erlang'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/deadtrickster/ssl_verify_fun.erl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ssl_verify_fun = ssl_verify_fun_1_1_0;
-
-    stache_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "stache";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "stache";
-              version = "0.2.1";
-              sha256 =
-                "475e80a2b6e713a75d0a085b067489e2fc1606751aab47413e12a33cf2ae4712";
-            };
-
-            meta = {
-              description = ''Mustache templates in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/cwbriones/stache";
-            };
-          } // packageOverrides)
-      ) {};
-
-    stache = stache_0_2_1;
-
-    stackd_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "stackd";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "stackd";
-              version = "0.0.1";
-              sha256 =
-                "41749dc834f92af4954988b5e9155d45fcbf63224ecfcabce6f1fc80f3aff8f9";
-            };
-
-            meta = {
-              description = ''Stackd'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    stackd = stackd_0_0_1;
-
-    stash_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "stash";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "stash";
-              version = "1.0.0";
-              sha256 =
-                "ac68a470ed2a292b59c1dbf286a97e8b25ec72adaeeb3734c183dc54b659f7d6";
-            };
-
-            meta = {
-              description = ''Simple ETS backed key/value store for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zackehh/stash";
-            };
-          } // packageOverrides)
-      ) {};
-
-    stash = stash_1_0_0;
-
-    stathat_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "stathat";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "stathat";
-              version = "0.0.3";
-              sha256 =
-                "2d3663d1bbbf13fbae688a89656dd53f747e69d23ec73bcfd8835c2ca9d09c35";
-            };
-
-            meta = {
-              description = ''StatHat client library.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/travisjeffery/stathat";
-            };
-          } // packageOverrides)
-      ) {};
-
-    stathat = stathat_0_0_3;
-
-    statistics_0_4_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "statistics";
-            version = "0.4.1";
-            src = fetchHex {
-              pkg = "statistics";
-              version = "0.4.1";
-              sha256 =
-                "726d8791e9bafb08b3ceeb5b08df6664f29a73a0e6ac0db835500b686a153bd5";
-            };
-
-            meta = {
-              description = ''Functions for descriptive statistics and common
-                            distributions'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/msharp/elixir-statistics";
-            };
-          } // packageOverrides)
-      ) {};
-
-    statistics = statistics_0_4_1;
-
-    statix_0_7_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "statix";
-            version = "0.7.0";
-            src = fetchHex {
-              pkg = "statix";
-              version = "0.7.0";
-              sha256 =
-                "0439c5698eaef7c2de213d9bff5681eeccc1dec789931e9ae73b9d2b2968234b";
-            };
-
-            meta = {
-              description = ''An Elixir client for StatsD compatible
-                            servers.'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/lexmag/statix";
-            };
-          } // packageOverrides)
-      ) {};
-
-    statix = statix_0_7_0;
-
-    std_json_io_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          porcelain_2_0_1,
-          poolboy_1_5_1,
-          poison_1_5_2,
-          fs_0_9_2
-        }:
-          buildMix ({
-            name = "std_json_io";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "std_json_io";
-              version = "0.1.0";
-              sha256 =
-                "14f1c18c31a0b0b3ffb1e654247925335059eec9c800d81dd6379166e7403d1e";
-            };
-            beamDeps  = [ porcelain_2_0_1 poolboy_1_5_1 poison_1_5_2 fs_0_9_2
-                      ];
-
-            meta = {
-              description = ''Application for managing and communicating with
-                            IO servers via JSON'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    std_json_io = std_json_io_0_1_0;
-
-    steamex_0_0_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          sweet_xml_0_6_1,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "steamex";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "steamex";
-              version = "0.0.5";
-              sha256 =
-                "4a290c432c0480cf372fece76cc4f09e231261fda64ef5027e8855e16aa5a2f6";
-            };
-            beamDeps  = [ sweet_xml_0_6_1 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Steam API and Auth (with Phoenix/Plug
-                            integration) for Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/antipax/steamex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    steamex = steamex_0_0_5;
-
-    stemex_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "stemex";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "stemex";
-              version = "0.1.1";
-              sha256 =
-                "219b8e81fedba5a9bb978b8f7eaf230e77f2702d58e409adcca998fde1788521";
-            };
-
-            meta = {
-              longDescription = ''Stemex is a NIF wrapper above snowball
-                                containing stemmers for : danish, dutch,
-                                english, finnish, french, german, hungarian,
-                                italian, kraaij_pohlmann, lovins, norwegian,
-                                portuguese, romanian, russian, spanish, swedish,
-                                turkish.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/awetzel/stemex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    stemex = stemex_0_1_1;
-
-    stillir_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "stillir";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "stillir";
-              version = "1.0.0";
-              sha256 =
-                "04afdee2e5123b6da11fcc28c38d581f74db0cbe1faa1c36ed4f364797b588c0";
-            };
-
-            meta = {
-              description = ''Read Unix env vars into application config'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/heroku/stillir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    stillir = stillir_1_0_0;
-
-    stockastic_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "stockastic";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "stockastic";
-              version = "0.0.2";
-              sha256 =
-                "f180915a21d4aa4a64f660696b77c5788334d4bae2639a58814565af0d75ca56";
-            };
-            beamDeps  = [ httpoison_0_8_3 exjsx_3_2_0 ];
-
-            meta = {
-              description = ''Simple Elixir wrapper for the Stockfighter API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/shanewilton/stockastic";
-            };
-          } // packageOverrides)
-      ) {};
-
-    stockastic = stockastic_0_0_2;
-
-    stockfighter_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "stockfighter";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "stockfighter";
-              version = "0.0.1";
-              sha256 =
-                "d72726cf055068e2b62ef9091ec17ab9292b60bc7f4a7306c17cad6d022a3bd7";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''a simple wrapper of stockfighter http api'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lerencao/stockfighter";
-            };
-          } // packageOverrides)
-      ) {};
-
-    stockfighter = stockfighter_0_0_1;
-
-    stopwatch_0_0_7 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_1_0_2 }:
-          buildMix ({
-            name = "stopwatch";
-            version = "0.0.7";
-            src = fetchHex {
-              pkg = "stopwatch";
-              version = "0.0.7";
-              sha256 =
-                "de20ad70ca3b0f70d0a2000858e80c0afd4163101e18d0428ee62a58e7c8360a";
-            };
-            beamDeps  = [ timex_1_0_2 ];
-
-            meta = {
-              description = ''The stopwatch provides an easy api to measure
-                            elapsed time and profile code.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/matteosister/stopwatch";
-            };
-          } // packageOverrides)
-      ) {};
-
-    stopwatch = stopwatch_0_0_7;
-
-    stream_runner_1_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "stream_runner";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "stream_runner";
-              version = "1.1.0";
-              sha256 =
-                "3c2da3658440ba57224cd484de4b0d8b128e5463413ac05285cdfa4b37e30798";
-            };
-
-            meta = {
-              description = ''Run a Stream as a process'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/fishcakez/stream_runner";
-            };
-          } // packageOverrides)
-      ) {};
-
-    stream_runner = stream_runner_1_1_0;
-
-    stream_weaver_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "stream_weaver";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "stream_weaver";
-              version = "0.0.2";
-              sha256 =
-                "6664a585d4afaac63e69f367e79bcc6af886dbebd1f8b66a099f6164973dc168";
-            };
-
-            meta = {
-              description = ''Library for working with streams'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    stream_weaver = stream_weaver_0_0_2;
-
-    stream_x_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "stream_x";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "stream_x";
-              version = "0.0.1";
-              sha256 =
-                "68832e9ac5542ca7763e5ea8493f2f775b84d79995fd63eda608ef6f786d1395";
-            };
-
-            meta = {
-              description = ''Extra Elixir Stream utilities'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/koyeung/stream_x";
-            };
-          } // packageOverrides)
-      ) {};
-
-    stream_x = stream_x_0_0_1;
-
-    strftimerl_0_1_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "strftimerl";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "strftimerl";
-              version = "0.1.1";
-              sha256 =
-                "c09c7cd6a421bcbc1020c1440a2e73e312b852adbb3034d11f3dffa27d7953b1";
-            };
-
-            meta = {
-              description = ''strftime formatting in erlang'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/gmr/strftimerl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    strftimerl = strftimerl_0_1_1;
-
-    strict_comparison_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "strict_comparison";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "strict_comparison";
-              version = "0.0.1";
-              sha256 =
-                "c033d7c5befc4971171a20c8fce96ae04fc0ebf0bae790b7ee0e7498f9d7997e";
-            };
-
-            meta = {
-              description = ''Provides strict number comparison in both regular
-                            code and guards.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/antipax/strict_comparison";
-            };
-          } // packageOverrides)
-      ) {};
-
-    strict_comparison = strict_comparison_0_0_1;
-
-    strinx_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "strinx";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "strinx";
-              version = "0.2.1";
-              sha256 =
-                "b3a083b3c0f28d35d283cb5e50b03798840e401eb723d44d8e9137735a3798e7";
-            };
-
-            meta = {
-              longDescription = ''Some string transformation functions for
-                                Elixir. Heavily inspired by ActiveSupport`s
-                                String extensions (Ruby).'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/asaaki/strinx.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    strinx = strinx_0_2_1;
-
-    stripex_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, gateway_0_0_6 }:
-          buildMix ({
-            name = "stripex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "stripex";
-              version = "0.1.0";
-              sha256 =
-                "49959c78e677d3e30edd808cce7a013a7120f337705d0e2fd646c000d9b30853";
-            };
-            beamDeps  = [ gateway_0_0_6 ];
-
-            meta = {
-              longDescription = ''A much more ruby-stripe-like wrapper around
-                                Stripe`s API (built with Poison). Full
-                                documentation can be found at
-                                https://stripe.com/docs/api'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/foxnewsnetwork/stripex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    stripex = stripex_0_1_0;
-
-    struct_fields_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "struct_fields";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "struct_fields";
-              version = "0.3.0";
-              sha256 =
-                "d0ec469ccb59d2207a94cb8e3d3ce9b8bf09f239695e33a0e2447e2a1ff2178b";
-            };
-
-            meta = {
-              description = ''Tiny module to easily get a list of fields for
-                            structs.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nTraum/struct_fields";
-            };
-          } // packageOverrides)
-      ) {};
-
-    struct_fields = struct_fields_0_3_0;
-
-    styledown_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, execjs_1_1_3 }:
-          buildMix ({
-            name = "styledown";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "styledown";
-              version = "0.0.3";
-              sha256 =
-                "8dc31569257a9d5fe3eb67ca87d0cd29f6d14c4a62191262b41a28fc9bca18fc";
-            };
-            beamDeps  = [ execjs_1_1_3 ];
-
-            meta = {
-              description = ''Elixir integration of Styledown'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/styledown/styledown_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    styledown = styledown_0_0_3;
-
-    supervisor3_1_1_1 = callPackage
-      (
-        {  buildErlangMk, packageOverrides ? {}, fetchHex }:
-          buildErlangMk ({
-            name = "supervisor3";
-            version = "1.1.1";
-            src = fetchHex {
-              pkg = "supervisor3";
-              version = "1.1.1";
-              sha256 =
-                "0d17df36f524f7420d7e1afb0d65054ffdfcd5438de63597d6ab626deb38f94c";
-            };
-
-            meta = {
-              description = ''A copy of supervisor.erl from the R16B Erlang/OTP
-                            with modifications'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/klarna/supervisor3";
-            };
-          } // packageOverrides)
-      ) {};
-
-    supervisor3 = supervisor3_1_1_1;
-
-    supool_1_5_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "supool";
-            version = "1.5.1";
-            src = fetchHex {
-              pkg = "supool";
-              version = "1.5.1";
-              sha256 =
-                "c191d63ff19ae177bf4cfba02303ae4552d8b48ec4133e24053e037513dfae09";
-            };
-
-            meta = {
-              description = ''Erlang Process Pool as a Supervisor'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/okeuday/supool";
-            };
-          } // packageOverrides)
-      ) {};
-
-    supool = supool_1_5_1;
-
-    swapi_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "swapi";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "swapi";
-              version = "1.0.0";
-              sha256 =
-                "55b40ddd97d632b027463aefccb8d6fa9ffa77f224a25af5565bbaecff5c7a3c";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Elixir wrapper for the Star Wars API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/twhitacre/swapi.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    swapi = swapi_1_0_0;
-
-    sweet_xml_0_5_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "sweet_xml";
-            version = "0.5.1";
-            src = fetchHex {
-              pkg = "sweet_xml";
-              version = "0.5.1";
-              sha256 =
-                "3266dedc5e2e6c6b1c5b8a088504a58980632727803de22a5a276da847ea6947";
-            };
-
-            meta = {
-              description = ''An sweet wrapper of :xmerl to help query xml
-                            docs'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/awetzel/sweet_xml";
-            };
-          } // packageOverrides)
-      ) {};
-
-    sweet_xml_0_6_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "sweet_xml";
-            version = "0.6.1";
-            src = fetchHex {
-              pkg = "sweet_xml";
-              version = "0.6.1";
-              sha256 =
-                "30059e5367a4728ca4b246682adc72618a0a8c997eca6f52a107b2fe3ab4f313";
-            };
-
-            meta = {
-              description = ''An sweet wrapper of :xmerl to help query xml
-                            docs'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/awetzel/sweet_xml";
-            };
-          } // packageOverrides)
-      ) {};
-
-    sweet_xml = sweet_xml_0_6_1;
-
-    syn_1_4_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "syn";
-            version = "1.4.0";
-            src = fetchHex {
-              pkg = "syn";
-              version = "1.4.0";
-              sha256 =
-                "cec944ba1768a5142ba496bc84b62ebeab68e8ddd2c8e3263c95f89660275d9c";
-            };
-
-            meta = {
-              description = ''A global Process Registry and Process Group
-                            manager.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ostinelli/syn";
-            };
-          } // packageOverrides)
-      ) {};
-
-    syn = syn_1_4_0;
-
-    syn_osc_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, osc_0_1_1 }:
-          buildMix ({
-            name = "syn_osc";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "syn_osc";
-              version = "0.1.0";
-              sha256 =
-                "7cdb75d8e9a64f3e2baf77bce83d06e0da4361d34a82c3ddda68a6efb3d21df9";
-            };
-            beamDeps  = [ osc_0_1_1 ];
-
-            meta = {
-              description = ''SynOSC encoder/decoder for elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/syn_osc_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    syn_osc = syn_osc_0_1_0;
-
-    syntactic_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "syntactic";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "syntactic";
-              version = "0.0.2";
-              sha256 =
-                "20adf1f265ebb17ab79d53355b7854c751cee68c73f8a66baca7035da06f65db";
-            };
-
-            meta = {
-              description = ''A collection of Elixir syntactic sugars.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hzamani/elixir-syntactic";
-            };
-          } // packageOverrides)
-      ) {};
-
-    syntactic = syntactic_0_0_2;
-
-    synthex_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "synthex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "synthex";
-              version = "0.1.0";
-              sha256 =
-                "111932916800698a032b9cf7e883146613acc788d165066210e1e09b00e476bc";
-            };
-
-            meta = {
-              description = ''A signal synthesis library'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/bitgamma/synthex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    synthex = synthex_0_1_0;
-
-    system_env_loader_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "system_env_loader";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "system_env_loader";
-              version = "0.1.0";
-              sha256 =
-                "b271e8dcc857d7e36159554c343ed0af950e9dc8adf0f4cee399228142f68ec6";
-            };
-
-            meta = {
-              longDescription = ''A little package to load (bashlike) files
-                                with exported ENV variables into Elixir
-                                runtime'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ruby2elixir/system_env_loader";
-            };
-          } // packageOverrides)
-      ) {};
-
-    system_env_loader = system_env_loader_0_1_0;
-
-    table_0_0_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "table";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "table";
-              version = "0.0.5";
-              sha256 =
-                "8d1f3ac55512f92eeba1345842278ee6f89d2a4f19be0e272a5f32a958f066d5";
-            };
-
-            meta = {
-              description = ''ascii tables for cli'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zweifisch/table";
-            };
-          } // packageOverrides)
-      ) {};
-
-    table = table_0_0_5;
-
-    table_rex_0_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "table_rex";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "table_rex";
-              version = "0.4.0";
-              sha256 =
-                "71776a56629b850c647d298577f153faa41d3a98cff41446dd799c6bf30fcf19";
-            };
-
-            meta = {
-              description = ''Generate configurable text-based tables for
-                            display (ASCII & more)'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/djm/table_rex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    table_rex_0_8_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "table_rex";
-            version = "0.8.0";
-            src = fetchHex {
-              pkg = "table_rex";
-              version = "0.8.0";
-              sha256 =
-                "8d026afe99ac07f1261eae09334edbf8ec7ce55b812c3a60440ed88db83aad82";
-            };
-
-            meta = {
-              description = ''Generate configurable text-based tables for
-                            display (ASCII & more)'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/djm/table_rex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    table_rex = table_rex_0_8_0;
-
-    tabula_2_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tabula";
-            version = "2.0.1";
-            src = fetchHex {
-              pkg = "tabula";
-              version = "2.0.1";
-              sha256 =
-                "ed66a6d83890eaece976daf1083aa4e0ed9d877e185a1a9ccf1f2c87ee61b49e";
-            };
-
-            meta = {
-              description = ''Pretty printer for maps/structs collections'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/aerosol/Tabula";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tabula = tabula_2_0_1;
-
-    tachometer_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tachometer";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "tachometer";
-              version = "0.1.1";
-              sha256 =
-                "ead8f6a964b79df0b2948a59c72ec0e2b319bb7684079e7170fa191c78481a42";
-            };
-
-            meta = {
-              description = ''Scheduler instrumentation for BEAM in Elixir'';
-              license = stdenv.lib.licenses.gpl3;
-              homepage = "https://github.com/pavlos/tachometer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tachometer_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, watcher_1_0_0 }:
-          buildMix ({
-            name = "tachometer";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "tachometer";
-              version = "0.2.0";
-              sha256 =
-                "de5e0bda346e31130f33ca118cdd4afccd0ba6728c571ccae35f65d3020074aa";
-            };
-            beamDeps  = [ watcher_1_0_0 ];
-
-            meta = {
-              description = ''Scheduler instrumentation for BEAM in Elixir'';
-              license = stdenv.lib.licenses.gpl3;
-              homepage = "https://github.com/pavlos/tachometer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tachometer = tachometer_0_2_0;
-
-    tail_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tail";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "tail";
-              version = "1.0.1";
-              sha256 =
-                "8cec5c708be02aab6094f9c6fdf5b6b0e68c0c3d4f2f9ae341e743d119e9c07f";
-            };
-
-            meta = {
-              longDescription = ''A simple file tail functionality. Calls a
-                                callback function whenever new lines are
-                                detected on a file.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/TheFirstAvenger/elixir-tail.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tail = tail_1_0_1;
-
-    tally_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tally";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "tally";
-              version = "0.0.1";
-              sha256 =
-                "cd9e07c47f5ce6f01a33a98552aa028e4f9a4c0ec35a2cb16178a9bf37117a36";
-            };
-
-            meta = {
-              description = ''A reporting library for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/boudra/tally";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tally = tally_0_0_1;
-
-    tane_0_3_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tane";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "tane";
-              version = "0.3.1";
-              sha256 =
-                "8154bcc365b7f21d7ab6ff6d122f6dc110dda05bbfcd7f331a7f514512913e0a";
-            };
-
-            meta = {
-              description = ''Library for Seeding Databases'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Joe-noh/tane";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tane = tane_0_3_1;
-
-    tanuki_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "tanuki";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "tanuki";
-              version = "0.2.0";
-              sha256 =
-                "f499d6bcb80fc29f2d0b68d16d8309cb25589583b1f4d0eb23cbc4fe5afbab8c";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''GitLab API wrapper in Elixir, named after GitLabs
-                            mascot'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ZJvandeWeg/Tanuki";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tanuki = tanuki_0_2_0;
-
-    tap_0_1_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tap";
-            version = "0.1.4";
-            src = fetchHex {
-              pkg = "tap";
-              version = "0.1.4";
-              sha256 =
-                "573cba12e7152f6e577fd485e9f0d834bdf1ea60229123bbfbaefcfd91879218";
-            };
-
-            meta = {
-              description = ''Elixir tracing'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/eproxus/tap";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tap = tap_0_1_4;
-
-    tau_0_0_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tau";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "tau";
-              version = "0.0.6";
-              sha256 =
-                "6469f53ae39221f045b6dbd8199eaa95ed5f6c1252b063bc6edd1f21ae2ad0e7";
-            };
-
-            meta = {
-              description = ''The mathematical constant tau'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/FranklinChen/tau";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tau = tau_0_0_6;
-
-    taxon_search_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "taxon_search";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "taxon_search";
-              version = "0.0.1";
-              sha256 =
-                "eb185015a4f238e8a540f60d187edb28b19e643526e595f4cb0e4b553bdf1a6f";
-            };
-            beamDeps  = [ poison_2_1_0 httpotion_2_2_2 ];
-
-            meta = {
-              description = ''TaxonSearch is a tool for looking up species
-                            names in Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/annejohnson/taxon_search";
-            };
-          } // packageOverrides)
-      ) {};
-
-    taxon_search = taxon_search_0_0_1;
-
-    tds_0_5_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, decimal_1_1_2 }:
-          buildMix ({
-            name = "tds";
-            version = "0.5.4";
-            src = fetchHex {
-              pkg = "tds";
-              version = "0.5.4";
-              sha256 =
-                "110eb8d8a58d0d5fe629bfe75dacb56fa14bde441d2baffbfa2bb0c65ee66cba";
-            };
-            beamDeps  = [ decimal_1_1_2 ];
-
-            meta = {
-              description = ''MSSQL / TDS Driver for Ecto.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/livehelpnow/tds";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tds = tds_0_5_4;
-
-    tea_crypto_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "tea_crypto";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "tea_crypto";
-              version = "1.0.0";
-              sha256 =
-                "0e7e60d0afe79f0624faa8a358a3a00c912cfa548f3632383927abca4db29cc6";
-            };
-
-            meta = {
-              description = ''A TEA implementation in Erlang. '';
-
-              homepage = "https://github.com/keichan34/tea_crypto";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tea_crypto = tea_crypto_1_0_0;
-
-    teacup_0_3_4 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "teacup";
-            version = "0.3.4";
-            src = fetchHex {
-              pkg = "teacup";
-              version = "0.3.4";
-              sha256 =
-                "59495d566e810f481ec22b263e8bf0ed90efea9c9272e4980e36d921cd6ab5f9";
-            };
-
-            meta = {
-              description = ''Simple TCP client library for Erlang'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    teacup = teacup_0_3_4;
-
-    teacup_nats_0_4_0 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          teacup_0_3_4,
-          nats_msg_0_4_1,
-          jsx_2_8_0
-        }:
-          buildRebar3 ({
-            name = "teacup_nats";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "teacup_nats";
-              version = "0.4.0";
-              sha256 =
-                "f0f891f8f9b384517380d643ecf2121a9e383fd05416997778597c5647a9dd6f";
-            };
-
-            beamDeps  = [ teacup_0_3_4 nats_msg_0_4_1 jsx_2_8_0 ];
-
-            meta = {
-              description = ''Teacup based NATS Client for Erlang'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/yuce/teacup_nats.git";
-            };
-          } // packageOverrides)
-      ) {};
-
-    teacup_nats = teacup_nats_0_4_0;
-
-    teamcity_exunit_formatter_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "teamcity_exunit_formatter";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "teamcity_exunit_formatter";
-              version = "0.3.0";
-              sha256 =
-                "0d209ca85fcd3d8112be29288988ce6329b2b2e7c10cd7deab636508716de82f";
-            };
-
-            meta = {
-              longDescription = ''A formatter for Elixirs ExUnit that formats
-                                as TeamCity Service Messages. Will let you track
-                                test results in TeamCitys UI'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lixhq/teamcity-exunit-formatter";
-            };
-          } // packageOverrides)
-      ) {};
-
-    teamcity_exunit_formatter = teamcity_exunit_formatter_0_3_0;
-
-    telegram_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "telegram";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "telegram";
-              version = "0.0.3";
-              sha256 =
-                "ad7b74cec90ade9090a9056aa69c055398fd3f60352b50c732849f06c503287d";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              description = ''Simple module for parsing Telegram bot updates'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/col/telegram";
-            };
-          } // packageOverrides)
-      ) {};
-
-    telegram = telegram_0_0_3;
-
-    telehashname_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "telehashname";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "telehashname";
-              version = "0.0.2";
-              sha256 =
-                "301a92653dafa69f118fdb8b8ca42259ac2e82441175231e1d67afcd26409f71";
-            };
-
-            meta = {
-              description = ''Telehash hashname implementation'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/telehashname_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    telehashname = telehashname_0_0_2;
-
-    telephonist_0_1_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          immortal_0_2_0,
-          ex_twiml_2_1_0
-        }:
-          buildMix ({
-            name = "telephonist";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "telephonist";
-              version = "0.1.2";
-              sha256 =
-                "c89922cfc4137dace4fd6458a6ff32f624dd9775b2e90efffbd864cdaa537a3e";
-            };
-            beamDeps  = [ immortal_0_2_0 ex_twiml_2_1_0 ];
-
-            meta = {
-               license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/danielberkompas/telephonist";
-            };
-          } // packageOverrides)
-      ) {};
-
-    telephonist = telephonist_0_1_2;
-
-    temp_0_4_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "temp";
-            version = "0.4.0";
-            src = fetchHex {
-              pkg = "temp";
-              version = "0.4.0";
-              sha256 =
-                "1a852035e1c8bb9b33d00d322161689553d412fea783617afbd22112d481ffff";
-            };
-
-            meta = {
-              description = ''An Elixir module to easily create and use
-                            temporary files and directories.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tuvistavie/elixir-temp";
-            };
-          } // packageOverrides)
-      ) {};
-
-    temp = temp_0_4_0;
-
-    tempdir_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tempdir";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "tempdir";
-              version = "0.0.1";
-              sha256 =
-                "fa658ebbdbddfa729b8276652949d20ac2fbb4eff0261a61fb5f9c96fc943ffd";
-            };
-
-            meta = {
-              description = ''Simple Elixir Library for creating self-cleaning
-                            tmp directories'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/andrewvy/tempdir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tempdir = tempdir_0_0_1;
-
-    tempfile_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tempfile";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "tempfile";
-              version = "0.1.0";
-              sha256 =
-                "e6e505207616d1bb77e85ac4b4d9a11437ed1eb58eb06e99c582498602a9a45b";
-            };
-
-            meta = {
-              description = ''Auto cleaning and randomly named temporary
-                            files'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sorentwo/tempfile";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tempfile = tempfile_0_1_0;
-
-    temporary_env_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "temporary_env";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "temporary_env";
-              version = "1.0.1";
-              sha256 =
-                "64bd9bade983bbdbb0c59c35343faa4c86d5533a8fe596891be84d52a41bdfe0";
-            };
-
-            meta = {
-              description = ''A tool for managing application env state within
-                            tests.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lpil/temporary-env";
-            };
-          } // packageOverrides)
-      ) {};
-
-    temporary_env = temporary_env_1_0_1;
-
-    tentabucket_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "tentabucket";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "tentabucket";
-              version = "0.0.1";
-              sha256 =
-                "5784dad17f973efcc3c4ea7672927095864d58af1f830614e4c8f06c63d4822d";
-            };
-            beamDeps  = [ httpoison_0_8_3 exjsx_3_2_0 ];
-
-            meta = {
-              description = ''Simple Bitbucket API client library for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/duksis/tentabucket";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tentabucket = tentabucket_0_0_1;
-
-    tentacat_0_5_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "tentacat";
-            version = "0.5.1";
-            src = fetchHex {
-              pkg = "tentacat";
-              version = "0.5.1";
-              sha256 =
-                "eabbffa3f2529848bb44ecdd1c140fdd06fb382a9c76a5f3ed018b87c2691946";
-            };
-            beamDeps  = [ httpoison_0_8_3 exjsx_3_2_0 ];
-
-            meta = {
-              description = ''Simple Elixir wrapper for the GitHub API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/edgurgel/tentacat";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tentacat = tentacat_0_5_1;
-
-    term_table_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "term_table";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "term_table";
-              version = "0.0.2";
-              sha256 =
-                "e0a39ef8fa4343ded18bf53b381c12ae557ca2982e24351788db457b38bd7924";
-            };
-
-            meta = {
-              description = ''Pretty terminal table for Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/ske77/term_table";
-            };
-          } // packageOverrides)
-      ) {};
-
-    term_table = term_table_0_0_2;
-
-    termcap_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "termcap";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "termcap";
-              version = "0.1.0";
-              sha256 =
-                "8c5167d68759bd1cd020eeaf5fd94153430fd19fa5a5fdeeb0b3129f0aba2a21";
-            };
-
-            meta = {
-              description = ''Pure erlang termcap library'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    termcap = termcap_0_1_0;
-
-    tesla_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exjsx_3_1_0 }:
-          buildMix ({
-            name = "tesla";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "tesla";
-              version = "0.2.1";
-              sha256 =
-                "02193ace70596445a5924e33a7e89ee15378dde07197b59bb5fba9217d8afc10";
-            };
-            beamDeps  = [ exjsx_3_1_0 ];
-
-            meta = {
-              description = ''HTTP client library, with support for middleware
-                            and multiple adapters.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/monterail/tesla";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tesla = tesla_0_2_1;
-
-    test_times_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "test_times";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "test_times";
-              version = "1.0.0";
-              sha256 =
-                "be468ea6002d247f743bd005c4ed71b5f86ae0e9b112ab52fea8c4f5db71cced";
-            };
-
-            meta = {
-              description = ''Report individual test times in ascending
-                            order'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/pinfieldharm/test_times";
-            };
-          } // packageOverrides)
-      ) {};
-
-    test_times = test_times_1_0_0;
-
-    tfidf_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tfidf";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "tfidf";
-              version = "0.1.2";
-              sha256 =
-                "9dc3b778a31998671a3a3e91d5abcf1c7e9794e39d97d4eba4ce4150d80e2b36";
-            };
-
-            meta = {
-              description = ''Elixir implementation of tf-idf (Term
-                            frequency-inverse document frequency)'';
-              license = stdenv.lib.licenses.unlicense;
-              homepage = "https://github.com/OCannings/tf-idf";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tfidf = tfidf_0_1_2;
-
-    the_fuzz_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "the_fuzz";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "the_fuzz";
-              version = "0.3.0";
-              sha256 =
-                "f959818716b25f2c535648e9dc6dc8558c6b9fce5f337e1fcf11f913178087b8";
-            };
-
-            meta = {
-              longDescription = ''String metrics and phonetic algorithms for
-                                Elixir (e.g. Dice/Sorensen, Hamming, Jaccard,
-                                Jaro, Jaro-Winkler, Levenshtein, Metaphone,
-                                N-Gram, NYSIIS, Overlap, Ratcliff/Obershelp,
-                                Refined NYSIIS, Refined Soundex, Soundex,
-                                Tversky, Tanimoto, Weighted Levenshtein). Based
-                                Heavily on StringMetrics for Scala written by
-                                Rocky Madden.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/smashedtoatoms/the_fuzz";
-            };
-          } // packageOverrides)
-      ) {};
-
-    the_fuzz = the_fuzz_0_3_0;
-
-    thermex_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "thermex";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "thermex";
-              version = "0.1.0";
-              sha256 =
-                "0fd2767f5fd6a73ab57d65f5797a84675341d923b5a4c10652223c4969846656";
-            };
-
-            meta = {
-              description = ''An OTP application for watching temperature
-                            sensors'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    thermex = thermex_0_1_0;
-
-    thoth_0_0_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "thoth";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "thoth";
-              version = "0.0.5";
-              sha256 =
-                "2712b42e23e730ec8e9a226e1d9f86fb003d60e7b44b0674c9d44132a0fc3a83";
-            };
-
-            meta = {
-              description = ''An Elixir digraph inspired local Graph DB'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/oakfang/thoth";
-            };
-          } // packageOverrides)
-      ) {};
-
-    thoth = thoth_0_0_5;
-
-    thrash_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "thrash";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "thrash";
-              version = "0.1.0";
-              sha256 =
-                "cebcabe309682f04d030f24f71498579fd16f688965cc5e29262a660082953e7";
-            };
-
-            meta = {
-              description = ''Fast serializer/deserializer for Apache Thrift`s
-                            binary protocol.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/dantswain/thrash";
-            };
-          } // packageOverrides)
-      ) {};
-
-    thrash = thrash_0_1_0;
-
-    thrift_1_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "thrift";
-            version = "1.2.1";
-            src = fetchHex {
-              pkg = "thrift";
-              version = "1.2.1";
-              sha256 =
-                "52dbe7126498efa96039b0b7689a96295af244cb6203f891f1b4b10c1f7f539d";
-            };
-
-            meta = {
-              longDescription = ''A collection of utilities for working with
-                                Thrift in Elixir. Provides a copy of the Apache
-                                Thrift Erlang runtime.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/pinterest/elixir-thrift";
-            };
-          } // packageOverrides)
-      ) {};
-
-    thrift = thrift_1_2_1;
-
-    tiled_map_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "tiled_map";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "tiled_map";
-              version = "0.0.1";
-              sha256 =
-                "c285c5293bb97d0e526c1cab14cdcf4b17dd12a76e2a0d707f1b71a4fcf9501e";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              description = ''Basic parsing of JSON Map Format from Tiled map
-                            editor'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kentdahl/tiled_map";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tiled_map = tiled_map_0_0_1;
-
-    time_ago_words_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_2_1_6 }:
-          buildMix ({
-            name = "time_ago_words";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "time_ago_words";
-              version = "0.0.2";
-              sha256 =
-                "8cf37434618123ce09ebbba90f9b86eca0fdfdce6cd2887b2a03e5d171515f50";
-            };
-            beamDeps  = [ timex_2_1_6 ];
-
-            meta = {
-              longDescription = ''A simple function to return the approximate
-                                difference between two times using words.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/midwire/time_ago_words";
-            };
-          } // packageOverrides)
-      ) {};
-
-    time_ago_words = time_ago_words_0_0_2;
-
-    time_distance_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, timex_1_0_2 }:
-          buildMix ({
-            name = "time_distance";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "time_distance";
-              version = "0.0.1";
-              sha256 =
-                "41ebe658882f2defd2cd472960e5a31b18d7ea2a4520c06907f7f2093d030e58";
-            };
-            beamDeps  = [ timex_1_0_2 ];
-
-            meta = {
-              longDescription = ''Show the difference between two specified
-                                times, or between a specified time and now in
-                                words (eg. 1 week ago)'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/aussiegeek/time_distance";
-            };
-          } // packageOverrides)
-      ) {};
-
-    time_distance = time_distance_0_0_1;
-
-    time_seer_0_0_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "time_seer";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "time_seer";
-              version = "0.0.6";
-              sha256 =
-                "b5cfe4b5126deef913a91463c735c214efdde1cfb57e9303444d1a687fde53f5";
-            };
-
-            meta = {
-              longDescription = ''TimeSeer is an Elixir library for parsing
-                                dates and times and returning Erlang style date
-                                and time tuples. Eg. \"15:12:07\" \"2:42pm\"
-                                \"24/12/2014\" will become {15,12,7}, {14,42,0},
-                                and {2014,12,24} respectively.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lau/time_seer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    time_seer = time_seer_0_0_6;
-
-    timex_0_19_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          tzdata_0_5_8,
-          combine_0_8_0
-        }:
-          buildMix ({
-            name = "timex";
-            version = "0.19.5";
-            src = fetchHex {
-              pkg = "timex";
-              version = "0.19.5";
-              sha256 =
-                "be1985ab99a6aebc3672b1d82b27e409c9a7af4658f3cc5900fa8754e159b02c";
-            };
-            beamDeps  = [ tzdata_0_5_8 combine_0_8_0 ];
-
-            meta = {
-              longDescription = ''Timex is a rich, comprehensive Date/Time
-                                library for Elixir projects, with full timezone
-                                support via the :tzdata package. If you need to
-                                manipulate dates, times, datetimes, timestamps,
-                                etc., then Timex is for you!'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bitwalker/timex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    timex_1_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          tzdata_0_0_1,
-          combine_0_8_0
-        }:
-          buildMix ({
-            name = "timex";
-            version = "1.0.2";
-            src = fetchHex {
-              pkg = "timex";
-              version = "1.0.2";
-              sha256 =
-                "cbc359d21b5e2e694ab437e614bb4198af5be1031da4969dfd7ddf1b56064c88";
-            };
-            beamDeps  = [ tzdata_0_0_1 combine_0_8_0 ];
-
-            meta = {
-              longDescription = ''Timex is a rich, comprehensive Date/Time
-                                library for Elixir projects, with full timezone
-                                support via the :tzdata package. If you need to
-                                manipulate dates, times, datetimes, timestamps,
-                                etc., then Timex is for you!'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bitwalker/timex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    timex_2_1_6 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          gettext_0_11_0,
-          combine_0_8_0,
-          tzdata_0_0_1
-        }:
-          buildMix ({
-            name = "timex";
-            version = "2.1.6";
-            src = fetchHex {
-              pkg = "timex";
-              version = "2.1.6";
-              sha256 =
-                "c0e3b74beb0734f0602eed0de5bbcce984fc435f258c974bde4169a407330d12";
-            };
-            beamDeps  = [ gettext_0_11_0 combine_0_8_0 tzdata_0_0_1 ];
-
-            meta = {
-              longDescription = ''Timex is a rich, comprehensive Date/Time
-                                library for Elixir projects, with full timezone
-                                support via the :tzdata package. If you need to
-                                manipulate dates, times, datetimes, timestamps,
-                                etc., then Timex is for you!'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bitwalker/timex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    timex = timex_2_1_6;
-
-    tinymt_0_3_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tinymt";
-            version = "0.3.1";
-            src = fetchHex {
-              pkg = "tinymt";
-              version = "0.3.1";
-              sha256 =
-                "9de8fcedf254661bc4aa550aac317e28be35d4a5d91adf3fa3689dfad6cc1e5a";
-            };
-
-            meta = {
-              description = ''Tiny Mersenne Twister (TinyMT) for Erlang'';
-              license = stdenv.lib.licenses.bsd2;
-              homepage = "https://github.com/jj1bdx/tinymt-erlang/";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tinymt = tinymt_0_3_1;
-
-    tipo_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tipo";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "tipo";
-              version = "0.0.3";
-              sha256 =
-                "3feeb200a1806b41afe6404b09493fb98a140ab0c642c2c0328c96cbf9cf66c8";
-            };
-
-            meta = {
-              description = ''Type checking for primitive elixir data types'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jwaterfaucett/tipo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tipo = tipo_0_0_3;
-
-    tirexs_0_8_0_beta6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exjsx_3_2_0 }:
-          buildMix ({
-            name = "tirexs";
-            version = "0.8.0-beta6";
-            src = fetchHex {
-              pkg = "tirexs";
-              version = "0.8.0-beta6";
-              sha256 =
-                "eee9deb8bb020f482ac9e6e77505819931b2db1050e7b999643bf9ca73beab15";
-            };
-            beamDeps  = [ exjsx_3_2_0 ];
-
-            meta = {
-              description = ''An Elixir flavored DSL for building JSON based
-                            queries to Elasticsearch engine'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/Zatvobor/tirexs";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tirexs_0_8_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exjsx_3_2_0 }:
-          buildMix ({
-            name = "tirexs";
-            version = "0.8.2";
-            src = fetchHex {
-              pkg = "tirexs";
-              version = "0.8.2";
-              sha256 =
-                "0412e42030723f179579987bb9f6281cb0dc0db95134296058e2e95554a5b198";
-            };
-            beamDeps  = [ exjsx_3_2_0 ];
-
-            meta = {
-              description = ''An Elixir flavored DSL for building JSON based
-                            queries to Elasticsearch engine'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/Zatvobor/tirexs";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tirexs = tirexs_0_8_2;
-
-    tlv_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tlv";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "tlv";
-              version = "0.1.0";
-              sha256 =
-                "bc040b662594ad6c83f1d931ee2e74f8d00697afa215087297f64546a0c500e9";
-            };
-
-            meta = {
-              description = ''Encodes/Decodes BER-TLVs structures'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bitgamma/elixir_tlv";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tlv = tlv_0_1_0;
-
-    tmdb_0_0_6 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_4_0,
-          httpoison_0_8_3,
-          exjsx_3_1_0
-        }:
-          buildMix ({
-            name = "tmdb";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "tmdb";
-              version = "0.0.6";
-              sha256 =
-                "4cbad6ffa556a0eeecb22c3960d47451e918313e5651808439f039403dd38d3a";
-            };
-            beamDeps  = [ poison_1_4_0 httpoison_0_8_3 exjsx_3_1_0 ];
-
-            meta = {    };
-          } // packageOverrides)
-      ) {};
-
-    tmdb = tmdb_0_0_6;
-
-    todo_1_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "todo";
-            version = "1.2.0";
-            src = fetchHex {
-              pkg = "todo";
-              version = "1.2.0";
-              sha256 =
-                "92b0da31ee335a4caff5bb91950688fc3195c2eb78cc70be80e3b616f2be88bc";
-            };
-
-            meta = {
-              description = ''A small TODO comments utility.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/niahoo/elixir-todo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    todo = todo_1_2_0;
-
-    togglex_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "togglex";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "togglex";
-              version = "0.2.0";
-              sha256 =
-                "725b4299c5aad1c87900e667d6a01c88ba18f8e545283f31d2f726745c174e30";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Simple Elixir wrapper for the Toggl API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/diacode/togglex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    togglex = togglex_0_2_0;
-
-    toglx_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          togglex_0_2_0,
-          configparser_ex_0_2_1,
-          argument_parser_0_1_3
-        }:
-          buildMix ({
-            name = "toglx";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "toglx";
-              version = "0.0.1";
-              sha256 =
-                "e6952e6955f5d61d479254a9b4a99831c4d73237e6fc8b39eeea6e4277979ba5";
-            };
-            beamDeps  = [
-                          togglex_0_2_0
-                          configparser_ex_0_2_1
-                          argument_parser_0_1_3
-                        ];
-
-            meta = {
-              description = ''Toggl(ex) time tracking client'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/kennyballou/toglx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    toglx = toglx_0_0_1;
-
-    tonic_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tonic";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "tonic";
-              version = "0.0.1";
-              sha256 =
-                "a94df1788fe102a001ec565846cf8b15d0eacc2e1644bf21c8c510b8294d24a6";
-            };
-
-            meta = {
-              description = ''A DSL for conveniently loading binary
-                            data/files.'';
-              license = stdenv.lib.licenses.bsd2;
-              homepage = "https://github.com/ScrimpyCat/Tonic";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tonic = tonic_0_0_1;
-
-    toniq_1_0_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          uuid_1_1_4,
-          exredis_0_2_4
-        }:
-          buildMix ({
-            name = "toniq";
-            version = "1.0.5";
-            src = fetchHex {
-              pkg = "toniq";
-              version = "1.0.5";
-              sha256 =
-                "aa67c43131393872d82d53b9a8bf4a3d5b97c52a6588d53aaa61c29828e0664a";
-            };
-            beamDeps  = [ uuid_1_1_4 exredis_0_2_4 ];
-
-            meta = {
-              longDescription = ''Simple and reliable background job processing
-                                library for Elixir. Has persistence, retries,
-                                concurrency limiting, error handling and is
-                                heroku friendly.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/joakimk/toniq";
-            };
-          } // packageOverrides)
-      ) {};
-
-    toniq = toniq_1_0_5;
-
-    towel_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "towel";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "towel";
-              version = "0.2.1";
-              sha256 =
-                "e7b7c5e7e6d8df9e781e130d1defccc9a27f888f7b95c132d8ccd1d6957d3b7a";
-            };
-
-            meta = {
-              description = ''A delightfully simple monad library that`s
-                            written for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/knrz/towel";
-            };
-          } // packageOverrides)
-      ) {};
-
-    towel = towel_0_2_1;
-
-    tqdm_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tqdm";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "tqdm";
-              version = "0.0.2";
-              sha256 =
-                "2791905b98c0d3371ebf98fd7185d0af58ca8d2911182d908b970afab0b8801d";
-            };
-
-            meta = {
-              longDescription = ''Add a progress bar to your enumerables
-                                (Lists, Maps, Streams, Ranges, etc.) in a
-                                second.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/antipax/tqdm_elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tqdm = tqdm_0_0_2;
-
-    tracing_helper_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tracing_helper";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "tracing_helper";
-              version = "0.0.3";
-              sha256 =
-                "a1d22c5901ed688acab63c0195aba2826f774a8d7e7f1b882878b715cd4688fb";
-            };
-
-            meta = {
-              description = ''TracingHelper is a helper module with predefined
-                            tracing functions'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/andrzejsliwa/tracing_helper";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tracing_helper = tracing_helper_0_0_3;
-
-    trackline_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_1_0_2,
-          exml_0_1_0,
-          exmerl_0_1_1,
-          erlsom_1_4_1,
-          apex_0_3_7
-        }:
-          buildMix ({
-            name = "trackline";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "trackline";
-              version = "0.0.1";
-              sha256 =
-                "42ee5d56b2ec0c55715e7f03a9aacd6d7ce8543519e9ec696335348eb1a24f7c";
-            };
-            beamDeps  = [
-                          timex_1_0_2
-                          exml_0_1_0
-                          exmerl_0_1_1
-                          erlsom_1_4_1
-                          apex_0_3_7
-                        ];
-
-            meta = {
-              description = ''A GPX parser for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/andrewhao/trackline";
-            };
-          } // packageOverrides)
-      ) {};
-
-    trackline = trackline_0_0_1;
-
-    trackstar_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          erlsom_1_4_1
-        }:
-          buildMix ({
-            name = "trackstar";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "trackstar";
-              version = "0.0.1";
-              sha256 =
-                "04a7634755da273b640737c8bef015f5ef4360524940fa763c3100e13db47cd4";
-            };
-            beamDeps  = [ poison_2_1_0 erlsom_1_4_1 ];
-
-            meta = {
-              longDescription = ''Trackstar is a GPX parser. Specify the path
-                                to a GPX file and it will output a GeoJSON of
-                                the track as a LineString. It currently works
-                                with Strava-exported GPX files.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/andydangerous/trackstar";
-            };
-          } // packageOverrides)
-      ) {};
-
-    trackstar = trackstar_0_0_1;
-
-    tradie_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tradie";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "tradie";
-              version = "0.0.1";
-              sha256 =
-                "d317c61c9bd9ab46184df8036057855e676d8598905c6708b9a9e26af3b7fd04";
-            };
-
-            meta = {
-              longDescription = ''Execute multiple tasks in parallel, allowing
-                                retry for each task, and a global timeout. Based
-                                loosely on
-                                http://theerlangelist.com/article/beyond_taskasync.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/madlep/tradie";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tradie = tradie_0_0_1;
-
-    trailing_format_plug_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "trailing_format_plug";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "trailing_format_plug";
-              version = "0.0.4";
-              sha256 =
-                "16e2485b7069c8e025460d183d4711d9c5bbf46ae532dde859cc6623d12bfc71";
-            };
-            beamDeps  = [ plug_1_1_5 cowboy_1_0_4 ];
-
-            meta = {
-              longDescription = ''An elixir plug to support legacy APIs that
-                                use a rails-like trailing format:
-                                http://api.dev/resources.format'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/mschae/trailing_format_plug";
-            };
-          } // packageOverrides)
-      ) {};
-
-    trailing_format_plug = trailing_format_plug_0_0_4;
-
-    transducer_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "transducer";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "transducer";
-              version = "0.1.0";
-              sha256 =
-                "89533238e42bace715485c5113bb5c39beecb333c00f4624ae85d5c0f6e96db4";
-            };
-
-            meta = {
-              longDescription = ''Composable algorithmic transformations.
-                                Transducers let you combine reduction operations
-                                like `map`, `filter`, `take_while`, `take`, and
-                                so on into a single reducing function. As with
-                                Stream, but in contrast to Enum, all operations
-                                are performed for each item before the next item
-                                in the enumerable is processed. One difference
-                                with the Stream module is that the transducers`
-                                reducing functions don`t have to produce an
-                                enumerable, while Stream module transformations
-                                always do.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/garyposter/elixir-transducer";
-            };
-          } // packageOverrides)
-      ) {};
-
-    transducer = transducer_0_1_0;
-
-    travis_ex_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "travis_ex";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "travis_ex";
-              version = "0.0.2";
-              sha256 =
-                "80589ec01596dfc1e02cef61ce0adc3c9b73977b56a528e214c37af079efa10a";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Travis-ci API client library for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/duksis/travis_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    travis_ex = travis_ex_0_0_2;
-
-    trello_1_3_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "trello";
-            version = "1.3.0";
-            src = fetchHex {
-              pkg = "trello";
-              version = "1.3.0";
-              sha256 =
-                "776d6514b766a9290b102bf8682dd13d1b63b1cab68fd73880a6da3b81014cd6";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Trello wrapper for elixir api'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mikaak/trello-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    trello = trello_1_3_0;
-
-    trie_1_4_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "trie";
-            version = "1.4.0";
-            src = fetchHex {
-              pkg = "trie";
-              version = "1.4.0";
-              sha256 =
-                "befef786527fd17678716f9dc86a064a11811e7087094967204715804a23ea4b";
-            };
-
-            meta = {
-              description = ''Erlang Trie Implementation'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/okeuday/trie";
-            };
-          } // packageOverrides)
-      ) {};
-
-    trie_1_5_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "trie";
-            version = "1.5.1";
-            src = fetchHex {
-              pkg = "trie";
-              version = "1.5.1";
-              sha256 =
-                "4b845dccfca8962b90584e98d270e2ff43e2e181bb046c4aae0e0f457679f98d";
-            };
-
-            meta = {
-              description = ''Erlang Trie Implementation'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/okeuday/trie";
-            };
-          } // packageOverrides)
-      ) {};
-
-    trie = trie_1_5_1;
-
-    trot_0_5_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          plug_heartbeat_0_2_0,
-          plug_0_14_0,
-          cowboy_1_0_4,
-          calliope_0_3_0
-        }:
-          buildMix ({
-            name = "trot";
-            version = "0.5.3";
-            src = fetchHex {
-              pkg = "trot";
-              version = "0.5.3";
-              sha256 =
-                "982a4ff3a0fffe1e9cc752313fd4c45487fdd484dde7265728da4579c29354e1";
-            };
-            beamDeps  = [
-                          poison_1_5_2
-                          plug_heartbeat_0_2_0
-                          plug_0_14_0
-                          cowboy_1_0_4
-                          calliope_0_3_0
-                        ];
-
-            meta = {
-              description = ''A web micro-framework based on Plug and
-                            Cowboy.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/hexedpackets/trot";
-            };
-          } // packageOverrides)
-      ) {};
-
-    trot = trot_0_5_3;
-
-    tsuru_1_4_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "tsuru";
-            version = "1.4.0";
-            src = fetchHex {
-              pkg = "tsuru";
-              version = "1.4.0";
-              sha256 =
-                "7825d3b530b46a8c4ff93b3c83a31d0f2ce042ddc741a89d3776edfd9f2828f7";
-            };
-
-            meta = {
-              description = ''A collection of useful tools for Erlang
-                            applications'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    tsuru = tsuru_1_4_0;
-
-    tubex_0_0_7 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "tubex";
-            version = "0.0.7";
-            src = fetchHex {
-              pkg = "tubex";
-              version = "0.0.7";
-              sha256 =
-                "8b34ade3d0484ee5ebb1155c16454d545284d0c215bf999a206cbcc198acea83";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir wrapper of YouTube Data API v3'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/yoavlt/tubex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tubex = tubex_0_0_7;
-
-    tunnerl_0_2_2 = callPackage
-      (
-        {
-          buildRebar3,
-          packageOverrides ? {},
-          fetchHex,
-          ranch_1_2_1,
-          lager_3_0_2
-        }:
-          buildRebar3 ({
-            name = "tunnerl";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "tunnerl";
-              version = "0.2.2";
-              sha256 =
-                "8b630b43d77f5c92901d6a1909be7ce3c8cd5668fa05263e2fcdf73b00d63bd0";
-            };
-
-            beamDeps  = [ ranch_1_2_1 lager_3_0_2 ];
-
-            meta = {
-              description = ''SOCKS4 and SOCKS5 proxy server'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/surik/tunnerl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tunnerl = tunnerl_0_2_2;
-
-    tvdb_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "tvdb";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "tvdb";
-              version = "0.0.1";
-              sha256 =
-                "627d0ce97938039748960550abe9bebe1f55be39701f85e85ff9f2b6e4af9f00";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Wrapper for TVDb API'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/markman123/tvdb";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tvdb = tvdb_0_0_1;
-
-    twilex_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "twilex";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "twilex";
-              version = "0.0.2";
-              sha256 =
-                "b032ee0327c90a9a0545756d771778129d6ded10dfade86b2c8dd1eb80fb56de";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A Twilio client for elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/hisea/twilex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    twilex = twilex_0_0_2;
-
-    type_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "type";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "type";
-              version = "0.0.2";
-              sha256 =
-                "1553ec18df7781cc1144477e075ac3c907aa7900db308d9d43cf7cfbeeb7a8ac";
-            };
-
-            meta = {
-              description = ''A module for checking the type of an argument'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/jeffreybaird/type";
-            };
-          } // packageOverrides)
-      ) {};
-
-    type = type_0_0_2;
-
-    typeformx_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "typeformx";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "typeformx";
-              version = "0.0.1";
-              sha256 =
-                "8f6f1613f53f8c5012eb6d05276f5d305bdb9d4b0e94926680b536d0e1d94a62";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Elixir client library for the Typeform API
-                            (typeform.io)'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/netflakes/TypeformX";
-            };
-          } // packageOverrides)
-      ) {};
-
-    typeformx = typeformx_0_0_1;
-
-    tzdata_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tzdata";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "tzdata";
-              version = "0.0.1";
-              sha256 =
-                "67020b94ec70faceef822dc5bffea0361c4fc9d812c8872c4edb6a2084b16b25";
-            };
-
-            meta = {
-              description = ''Tzdata is a parser and library for the tz
-                            database.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lau/tzdata";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tzdata_0_1_201603 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "tzdata";
-            version = "0.1.201603";
-            src = fetchHex {
-              pkg = "tzdata";
-              version = "0.1.201603";
-              sha256 =
-                "77598cedfb09cfdfb8f431c51131eb84229c46b2c5a7eebdf5904b2b8f003225";
-            };
-
-            meta = {
-              description = ''Tzdata is a parser and library for the tz
-                            database.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lau/tzdata";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tzdata_0_5_8 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, hackney_1_6_0 }:
-          buildMix ({
-            name = "tzdata";
-            version = "0.5.8";
-            src = fetchHex {
-              pkg = "tzdata";
-              version = "0.5.8";
-              sha256 =
-                "218ab89e51fb297f1e4bf512e9e551b8214d361e61b7683179da303ba5be8c60";
-            };
-            beamDeps  = [ hackney_1_6_0 ];
-
-            meta = {
-              description = ''Tzdata is a parser and library for the tz
-                            database.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lau/tzdata";
-            };
-          } // packageOverrides)
-      ) {};
-
-    tzdata = tzdata_0_5_8;
-
-    ua_classifier_1_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "ua_classifier";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "ua_classifier";
-              version = "1.0.0";
-              sha256 =
-                "59c3b3ed96a10fe05e91202a3ca983b40215c41dde0733fe6dd8a6841b6e315d";
-            };
-            compilePorts = true;
-            buildPlugins  = [ pc ];
-
-
-            meta = {
-              description = ''Erlang User Agent Classifier - NIF for
-                            WeatherChannel dClass'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/zotonic/ua_classifier";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ua_classifier = ua_classifier_1_0_0;
-
-    ua_inspector_0_11_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poolboy_1_5_1 }:
-          buildMix ({
-            name = "ua_inspector";
-            version = "0.11.1";
-            src = fetchHex {
-              pkg = "ua_inspector";
-              version = "0.11.1";
-              sha256 =
-                "943787d2a766ed8fd50e30f6787c9775304bd1215ffbdb5fe0b445153af8d02b";
-            };
-            beamDeps  = [ poolboy_1_5_1 ];
-
-            meta = {
-              description = ''User agent parser library'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/elixytics/ua_inspector";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ua_inspector = ua_inspector_0_11_1;
-
-    uber_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "uber";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "uber";
-              version = "0.1.0";
-              sha256 =
-                "bf3dde22ad6207577ea1093649394d968ef94725fdc56d5ea6afd22d12886d9a";
-            };
-
-            meta = {
-              description = ''Utilities for working with the UBER hypermedia
-                            format'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/gamache/uber.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    uber = uber_0_1_0;
-
-    udpflux_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "udpflux";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "udpflux";
-              version = "0.0.2";
-              sha256 =
-                "0a6d0003b818364bad9ed8bc55b8789b8fc129d055799cd517a551445fe0649e";
-            };
-
-            meta = {
-              description = ''An opinionated UDP-only InfluxDB client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/timbuchwaldt/udpflux";
-            };
-          } // packageOverrides)
-      ) {};
-
-    udpflux = udpflux_0_0_2;
-
-    ueberauth_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "ueberauth";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "ueberauth";
-              version = "0.2.0";
-              sha256 =
-                "d6ee9cfe96be0e2b4005cb482b8e29c20ae0d6f7332ea9f686397c4ab20bf4de";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''An Elixir Authentication System for Plug-based
-                            Web Applications'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ueberauth/ueberauth";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ueberauth = ueberauth_0_2_0;
-
-    ueberauth_identity_0_2_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          ueberauth_0_2_0,
-          plug_1_1_5
-        }:
-          buildMix ({
-            name = "ueberauth_identity";
-            version = "0.2.3";
-            src = fetchHex {
-              pkg = "ueberauth_identity";
-              version = "0.2.3";
-              sha256 =
-                "ebbb4d7fe6c94053486a32794ab2a561f004f01fd1099c7e0a69901dc32c51ca";
-            };
-            beamDeps  = [ ueberauth_0_2_0 plug_1_1_5 ];
-
-            meta = {
-              description = ''An Ueberauth strategy for basic
-                            username/password'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ueberauth/ueberauth_identity";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ueberauth_identity = ueberauth_identity_0_2_3;
-
-    ueberauth_twitter_0_2_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          ueberauth_0_2_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "ueberauth_twitter";
-            version = "0.2.2";
-            src = fetchHex {
-              pkg = "ueberauth_twitter";
-              version = "0.2.2";
-              sha256 =
-                "911a227b8290e8d65cee8d45015477d4ea51dbcf637c8a41ff88b34fcc5ab65a";
-            };
-            beamDeps  = [ ueberauth_0_2_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An Uberauth strategy for Twitter
-                            authentication.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ueberauth/ueberauth_twitter";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ueberauth_twitter = ueberauth_twitter_0_2_2;
-
-    uk_postcode_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "uk_postcode";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "uk_postcode";
-              version = "0.3.0";
-              sha256 =
-                "a03250f6896bef8851f243856d36952e7776a8d2fa654aa4d3336d841cbb59f8";
-            };
-
-            meta = {
-              longDescription = ''UK postcode parsing and validation library.
-                                Validate full postcodes or parts of a postcode,
-                                and can extract parts of a full postcode. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KushalP/uk_postcode";
-            };
-          } // packageOverrides)
-      ) {};
-
-    uk_postcode = uk_postcode_0_3_0;
-
-    unicode_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, earmark_0_2_1 }:
-          buildMix ({
-            name = "unicode";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "unicode";
-              version = "0.0.1";
-              sha256 =
-                "646bd8c3c9967a26b14aaa167e1bd08451d9db885d2736046b5fe5ada04bd2d6";
-            };
-            beamDeps  = [ earmark_0_2_1 ];
-
-            meta = {
-              longDescription = ''The _Unicode_ package provides functionality
-                                to check properties of unicode codepoints,
-                                graphemes and strings. This is often useful when
-                                checking or validating the contents of strings
-                                in situations where using Regular Expressions is
-                                not necessary and/or too slow. The Unicode
-                                package is based on Version 8.0.0 of the Unicode
-                                standard.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/Qqwy/elixir-unicode";
-            };
-          } // packageOverrides)
-      ) {};
-
-    unicode = unicode_0_0_1;
-
-    unit_fun_0_5_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "unit_fun";
-            version = "0.5.1";
-            src = fetchHex {
-              pkg = "unit_fun";
-              version = "0.5.1";
-              sha256 =
-                "adc90b1e6363234d2507b6f1af08186831fb556ee8c8cb62d13fb03b8c3cc93c";
-            };
-
-            meta = {
-              description = ''Library for adding units/dimensions to numeric
-                            types.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/meadsteve/unit_fun";
-            };
-          } // packageOverrides)
-      ) {};
-
-    unit_fun = unit_fun_0_5_1;
-
-    units_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "units";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "units";
-              version = "1.0.0";
-              sha256 =
-                "edac76cb036b993ef35781701fc561b4a6c95e4d7c89dba0d6f96ae3077b8ffe";
-            };
-
-            meta = {
-              description = ''Common unit conversions for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/solatis/units";
-            };
-          } // packageOverrides)
-      ) {};
-
-    units = units_1_0_0;
-
-    untappd_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "untappd";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "untappd";
-              version = "0.0.1";
-              sha256 =
-                "f4560612cd78002202234660cf248f004c91ade8c10dc87ad136eb5d8f49d66a";
-            };
-            beamDeps  = [ httpoison_0_8_3 exjsx_3_2_0 ];
-
-            meta = {
-              description = ''Elixir wrapper for the Untappd API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/nimi/untappd";
-            };
-          } // packageOverrides)
-      ) {};
-
-    untappd = untappd_0_0_1;
-
-    until_then_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, calendar_0_14_2 }:
-          buildMix ({
-            name = "until_then";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "until_then";
-              version = "0.0.1";
-              sha256 =
-                "9bc5c61346d18a770efc25e5f3cb55c9cb68fe2d7ff179964ac8b314d779c111";
-            };
-            beamDeps  = [ calendar_0_14_2 ];
-
-            meta = {
-              longDescription = ''This library tells you how many milliseconds
-                                to the next occurrence of a scheduled event.
-                                This is very convenient to combine with
-                                `:timer.sleep/1` or `Process.send_after/3` as a
-                                means of repeatedly invoking some code on a
-                                schedule and not having those invocations
-                                drift.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/NoRedInk/until_then";
-            };
-          } // packageOverrides)
-      ) {};
-
-    until_then = until_then_0_0_1;
-
-    uri_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "uri";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "uri";
-              version = "0.1.0";
-              sha256 =
-                "3833c3b5745fc0822df86c3a3591219048026fea8a535223b440d26029218996";
-            };
-
-            meta = {
-              description = ''URI Parsing/Encoding Library'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    uri = uri_0_1_0;
-
-    urilib_0_1_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "urilib";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "urilib";
-              version = "0.1.1";
-              sha256 =
-                "6000180e6977263e5996921f243e0c152aad29c87d202f8a650acb412c5aa758";
-            };
-
-            meta = {
-              description = ''A RFC-3986 URI Library for parsing and building
-                            URIs'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/gmr/urilib";
-            };
-          } // packageOverrides)
-      ) {};
-
-    urilib = urilib_0_1_1;
-
-    url_tincture_0_0_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "url_tincture";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "url_tincture";
-              version = "0.0.6";
-              sha256 =
-                "00a00bfca54cea1f5d9b340c90d9ed52ad86fe7bc8b657f3cc27c7404c33c1f5";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              description = ''A package to reduce extended forms of URLs to a
-                            canonical reference'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/craigwaterman/url_tincture";
-            };
-          } // packageOverrides)
-      ) {};
-
-    url_tincture = url_tincture_0_0_6;
-
-    url_unroller_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "url_unroller";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "url_unroller";
-              version = "0.0.3";
-              sha256 =
-                "65a46b7335060111bdc5ad164548361f3c7ff5a39ff9493a9109dd20b98498b9";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A simple url unroller/unshortener'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/semanticart/url_unroller";
-            };
-          } // packageOverrides)
-      ) {};
-
-    url_unroller = url_unroller_0_0_3;
-
-    usefulness_0_0_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "usefulness";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "usefulness";
-              version = "0.0.6";
-              sha256 =
-                "993b6d5ef4a8c4a4c254c92c49290f245ea34f071a9acd100abd654b381ec238";
-            };
-
-            meta = {
-              description = ''Useful things'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/b-filip/usefulness";
-            };
-          } // packageOverrides)
-      ) {};
-
-    usefulness = usefulness_0_0_6;
-
-    user_agent_parser_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "user_agent_parser";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "user_agent_parser";
-              version = "1.0.1";
-              sha256 =
-                "ba049dfe5d9c611a0ba3ac13c9ef0d17ea49e8bdfab68c54e7415423f32aa74f";
-            };
-
-            meta = {
-              longDescription = ''A simple Elixir package for parsing user
-                                agent strings with the help of BrowserScope`s UA
-                                database'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/romul/uap-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    user_agent_parser = user_agent_parser_1_0_1;
-
-    uuid_0_1_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "uuid";
-            version = "0.1.5";
-            src = fetchHex {
-              pkg = "uuid";
-              version = "0.1.5";
-              sha256 =
-                "5cfb91972f5cacb0bcb2f00414d5747dd575d84b864c96f668ab3b729cc08422";
-            };
-
-            meta = {
-              description = ''UUID generator and utilities for Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/zyro/elixir-uuid";
-            };
-          } // packageOverrides)
-      ) {};
-
-    uuid_1_1_4 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "uuid";
-            version = "1.1.4";
-            src = fetchHex {
-              pkg = "uuid";
-              version = "1.1.4";
-              sha256 =
-                "55ceed2fe12062e3e0bf19baa118d0ac64eb6edd79f242aaaf090236f09965f0";
-            };
-
-            meta = {
-              description = ''UUID generator and utilities for Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/zyro/elixir-uuid";
-            };
-          } // packageOverrides)
-      ) {};
-
-    uuid = uuid_1_1_4;
-
-    vagrant_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "vagrant";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "vagrant";
-              version = "0.0.1";
-              sha256 =
-                "805a78a9ee586546d0716ddc9afc3417630c48faab4606cf54c863b10a05ce52";
-            };
-
-            meta = {
-              description = ''Vagrant CLI Wrapper'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/mobileoverlord/vagrant";
-            };
-          } // packageOverrides)
-      ) {};
-
-    vagrant = vagrant_0_0_1;
-
-    varpool_1_5_1 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "varpool";
-            version = "1.5.1";
-            src = fetchHex {
-              pkg = "varpool";
-              version = "1.5.1";
-              sha256 =
-                "ff6059bdcd0efad606e8c54ee623cfeaef59778c18e343dd772e84d99d188e26";
-            };
-
-            meta = {
-              description = ''Erlang Process Pools as a Local Variable'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/okeuday/varpool";
-            };
-          } // packageOverrides)
-      ) {};
-
-    varpool = varpool_1_5_1;
-
-    vector_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "vector";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "vector";
-              version = "0.3.0";
-              sha256 =
-                "e1f7645d090d58c9efc63046be1ade8b7a431c6428460c3290d6eb6da85cba45";
-            };
-
-            meta = {
-              longDescription = ''Library of common vector functions for use in
-                                geometric or graphical calculations.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pkinney/vector_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    vector = vector_0_3_0;
-
-    verhoeff_0_1_2 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "verhoeff";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "verhoeff";
-              version = "0.1.2";
-              sha256 =
-                "1110f266fb3e2b69c7ba29cdae13e583f32af99e6a24843cefa04690c529e8f9";
-            };
-
-            meta = {
-              description = ''The Verhoeff algorithm implementation'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mururu/verhoeff";
-            };
-          } // packageOverrides)
-      ) {};
-
-    verhoeff = verhoeff_0_1_2;
-
-    verify_origin_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "verify_origin";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "verify_origin";
-              version = "0.1.0";
-              sha256 =
-                "90834033676cb0ca632f208f489f6eb92ae94323fe7243efba577e1deb031167";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''A library for using Origin header checking to
-                            prevent CSRF'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/danmcclain/verify_origin";
-            };
-          } // packageOverrides)
-      ) {};
-
-    verify_origin = verify_origin_0_1_0;
-
-    vex_0_5_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "vex";
-            version = "0.5.5";
-            src = fetchHex {
-              pkg = "vex";
-              version = "0.5.5";
-              sha256 =
-                "fade5440a742304214d1cb53d5ce6bd39dafb6e2ae87e5ce36041a7aa4c365f9";
-            };
-
-            meta = {
-              description = ''An extensible data validation library for
-                            Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/CargoSense/vex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    vex = vex_0_5_5;
-
-    viktor_0_1_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "viktor";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "viktor";
-              version = "0.1.1";
-              sha256 =
-                "9796d7174806bae878082d53befc1efcd1a374715650afc9956ed63f648227fe";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Client API wrapper for League of Legends API.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/josephyi/viktor";
-            };
-          } // packageOverrides)
-      ) {};
-
-    viktor = viktor_0_1_1;
-
-    virus_total_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          jsx_2_8_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "virus_total";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "virus_total";
-              version = "0.0.1";
-              sha256 =
-                "bed3680d17c98f978a90f5b443b6e269ee0a3f2239d2262502d8d10ee042ebfa";
-            };
-            beamDeps  = [ jsx_2_8_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir OTP application for the VirusTotal Public
-                            API v2.0'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/dtykocki/virus_total";
-            };
-          } // packageOverrides)
-      ) {};
-
-    virus_total = virus_total_0_0_1;
-
-    vmstats_2_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "vmstats";
-            version = "2.0.0";
-            src = fetchHex {
-              pkg = "vmstats";
-              version = "2.0.0";
-              sha256 =
-                "5cfac88ae597762dc38fcec0b56012ca7a2fbfcc00936326f63f5ddca4da0b53";
-            };
-
-            meta = {
-              description = ''Tiny application to gather VM statistics'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/ferd/vmstats";
-            };
-          } // packageOverrides)
-      ) {};
-
-    vmstats = vmstats_2_0_0;
-
-    voxpop_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "voxpop";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "voxpop";
-              version = "0.0.2";
-              sha256 =
-                "74e3a74fb71aea428eeaea9c4b1e6705568070a014e7bc1d158be1000e3e8c88";
-            };
-
-            meta = {
-              description = ''Voxpop generates text from declarative
-                            grammars.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zovafit/voxpop";
-            };
-          } // packageOverrides)
-      ) {};
-
-    voxpop = voxpop_0_0_2;
-
-    wallaby_0_5_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poolboy_1_5_1,
-          poison_2_1_0,
-          httpoison_0_8_3,
-          dialyze_0_2_1
-        }:
-          buildMix ({
-            name = "wallaby";
-            version = "0.5.0";
-            src = fetchHex {
-              pkg = "wallaby";
-              version = "0.5.0";
-              sha256 =
-                "0ff4debbefb06e76affa7dfb09072898e744471e8e0b41e7b665382969015265";
-            };
-            beamDeps  = [
-                          poolboy_1_5_1
-                          poison_2_1_0
-                          httpoison_0_8_3
-                          dialyze_0_2_1
-                        ];
-
-            meta = {
-              description = ''Concurrent feature tests for elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/keathley/wallaby";
-            };
-          } // packageOverrides)
-      ) {};
-
-    wallaby = wallaby_0_5_0;
-
-    watcher_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "watcher";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "watcher";
-              version = "1.0.0";
-              sha256 =
-                "53620951438e857d24f1ef324f94f42b90e8d6069dd6553ec4e6331370418b2b";
-            };
-
-            meta = {
-              description = ''Watcher for GenEvent'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/edgurgel/watcher";
-            };
-          } // packageOverrides)
-      ) {};
-
-    watcher = watcher_1_0_0;
-
-    weather_report_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          trie_1_5_1,
-          sweet_xml_0_6_1,
-          httpoison_0_8_3,
-          feeder_2_0_0
-        }:
-          buildMix ({
-            name = "weather_report";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "weather_report";
-              version = "0.2.0";
-              sha256 =
-                "d052a6b7d2a6c5a7e2c310f8a0be2fe70ee1a62ef2b0b89e1a804016c6fbeed5";
-            };
-            beamDeps  = [
-                          trie_1_5_1
-                          sweet_xml_0_6_1
-                          httpoison_0_8_3
-                          feeder_2_0_0
-                        ];
-
-            meta = {
-              longDescription = ''Get weather forecasts from the National
-                                Oceanic and Atmospheric Administration! As the
-                                NOAA is a United States government agency, only
-                                forecasts in the US are supported.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sschneider1207/weather_report";
-            };
-          } // packageOverrides)
-      ) {};
-
-    weather_report = weather_report_0_2_0;
-
-    web_push_encryption_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, httpoison_0_8_3 }:
-          buildMix ({
-            name = "web_push_encryption";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "web_push_encryption";
-              version = "0.1.1";
-              sha256 =
-                "64f3c28f0ab40d3f1366285a8d9166b44959be56525f0a32db0a33d7cfb3feb2";
-            };
-            beamDeps  = [ httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Web push encryption lilbrary'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/tuvistavie/elixir-web-push-encryption";
-            };
-          } // packageOverrides)
-      ) {};
-
-    web_push_encryption = web_push_encryption_0_1_1;
-
-    web_socket_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_4_0,
-          plug_0_12_2,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "web_socket";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "web_socket";
-              version = "0.0.1";
-              sha256 =
-                "b0afdac11840d17b2a2af5cc1939416fac13f64209083e06e6873002ae44ce12";
-            };
-            beamDeps  = [ poison_1_4_0 plug_0_12_2 cowboy_1_0_4 ];
-
-            meta = {
-              description = ''Modular web framework '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/slogsdon/plug-web-socket";
-            };
-          } // packageOverrides)
-      ) {};
-
-    web_socket = web_socket_0_0_1;
-
-    webassembly_0_6_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "webassembly";
-            version = "0.6.1";
-            src = fetchHex {
-              pkg = "webassembly";
-              version = "0.6.1";
-              sha256 =
-                "687cc567c6c58e154ca5f5bd45986c6fda530c42702ab7c6007f6cb663db4137";
-            };
-
-            meta = {
-              longDescription = ''WebAssembly is a web DSL for Elixir. You
-                                create html structure straight using do blocks.
-                                Means, you can intermix html-building blocks
-                                with full Elixir syntax. DSL output is an
-                                iolist, which you can flatten to string, but
-                                better use is to just feed it to the socket (via
-                                Plug & Cowboy). WebAssembly aims to have 100%
-                                test coverage.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/herenowcoder/webassembly";
-            };
-          } // packageOverrides)
-      ) {};
-
-    webassembly = webassembly_0_6_1;
-
-    webmentions_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpotion_2_2_2,
-          floki_0_7_2
-        }:
-          buildMix ({
-            name = "webmentions";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "webmentions";
-              version = "0.1.0";
-              sha256 =
-                "5409b9237578fd67601b77c601093ab599a1bc507a6e1457a853c20e516c3d81";
-            };
-            beamDeps  = [ httpotion_2_2_2 floki_0_7_2 ];
-
-            meta = {
-              description = ''A Webmentions
-                            (https://indiewebcamp.com/Webmention) module for
-                            Elixir'';
-              license = stdenv.lib.licenses.agpl3;
-              homepage = "https://github.com/ckruse/webmentions-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    webmentions = webmentions_0_1_0;
-
-    webpay_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "webpay";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "webpay";
-              version = "0.0.4";
-              sha256 =
-                "abab40fc7fda25a55d3a3dce4327d3f322df378432a9ed5e7c43e553989f467e";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir Webpay API wrapper'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    webpay = webpay_0_0_4;
-
-    websocket_client_1_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "websocket_client";
-            version = "1.1.0";
-            src = fetchHex {
-              pkg = "websocket_client";
-              version = "1.1.0";
-              sha256 =
-                "21c3d0df073634f2ca349af5b54a61755d637d6390c34d8d57c064f68ca92acd";
-            };
-
-            meta = {
-              description = ''Erlang websocket client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sanmiguel/websocket_client";
-            };
-          } // packageOverrides)
-      ) {};
-
-    websocket_client = websocket_client_1_1_0;
-
-    wechat_check_signature_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "wechat_check_signature";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "wechat_check_signature";
-              version = "0.0.1";
-              sha256 =
-                "5c5bb053c15082e12ad6da485fc4f711efa9198107368a42456aeafcf870caec";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''An Elixir Plug for checking wechat signature.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/octocandy/wechat_check_signature";
-            };
-          } // packageOverrides)
-      ) {};
-
-    wechat_check_signature = wechat_check_signature_0_0_1;
-
-    wechat_mp_auth_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          mimetype_parser_0_1_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "wechat_mp_auth";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "wechat_mp_auth";
-              version = "0.0.2";
-              sha256 =
-                "da88ac42f476eb8bb594cc702bd2e085c93adf6ebd7bf245e507cacf77e78ab9";
-            };
-            beamDeps  = [ poison_2_1_0 mimetype_parser_0_1_2 httpoison_0_8_3
-                      ];
-
-            meta = {
-              description = ''An Elixir WeChat Media Platform Authentication
-                            Client Library.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/he9qi/wechat_mp_auth";
-            };
-          } // packageOverrides)
-      ) {};
-
-    wechat_mp_auth = wechat_mp_auth_0_0_2;
-
-    wechatex_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, plug_1_1_5 }:
-          buildMix ({
-            name = "wechatex";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "wechatex";
-              version = "0.0.1";
-              sha256 =
-                "211971a79d38326dbf5e603ee00165708eb17670f2a84e54df929191c6fef81c";
-            };
-            beamDeps  = [ plug_1_1_5 ];
-
-            meta = {
-              description = ''Wechat plugins for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/octocandy/wechatex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    wechatex = wechatex_0_0_1;
-
-    what3words_1_0_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "what3words";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "what3words";
-              version = "1.0.0";
-              sha256 =
-                "a704976567fd49cc6450eb0de10a7a39acb49b8db5b9ea7b9d9c1491b7453bf7";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Wrapper for the What3Words API'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lucidstack/w3w-elixir-wrapper";
-            };
-          } // packageOverrides)
-      ) {};
-
-    what3words = what3words_1_0_0;
-
-    white_bread_2_7_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "white_bread";
-            version = "2.7.0";
-            src = fetchHex {
-              pkg = "white_bread";
-              version = "2.7.0";
-              sha256 =
-                "8938204a78b9081a2c097cb1c39e19037356f4d71a011897b1d51d728ba15946";
-            };
-
-            meta = {
-              longDescription = ''Story BDD tool based on cucumber. Parses
-                                Gherkin formatted feature files and executes
-                                them as tests.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/meadsteve/white-bread";
-            };
-          } // packageOverrides)
-      ) {};
-
-    white_bread = white_bread_2_7_0;
-
-    whois_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "whois";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "whois";
-              version = "0.0.1";
-              sha256 =
-                "71c21201c0bcf9934503a21e693e380fcf0e91d29728492dce182b15ff686636";
-            };
-
-            meta = {
-              description = ''Pure Elixir WHOIS client and parser.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/utkarshkukreti/whois.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    whois = whois_0_0_1;
-
-    witchcraft_0_4_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          quark_1_0_2,
-          algae_0_10_0
-        }:
-          buildMix ({
-            name = "witchcraft";
-            version = "0.4.2";
-            src = fetchHex {
-              pkg = "witchcraft";
-              version = "0.4.2";
-              sha256 =
-                "cdd6379d5a8b0baab3b79b0c9b87473d8292e0d9a80fa2e21fac61d31218609f";
-            };
-            beamDeps  = [ quark_1_0_2 algae_0_10_0 ];
-
-            meta = {
-              description = ''Common algebraic structures and functions'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/robot-overlord/witchcraft";
-            };
-          } // packageOverrides)
-      ) {};
-
-    witchcraft = witchcraft_0_4_2;
-
-    wizard_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "wizard";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "wizard";
-              version = "0.1.0";
-              sha256 =
-                "cc22faf9e76f50592906b816027fef4ee1942a59005cf8c831c7f76e48b9193e";
-            };
-
-            meta = {
-              description = ''Wizard is a math and statistics library for
-                            Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/raywan/wizard";
-            };
-          } // packageOverrides)
-      ) {};
-
-    wizard = wizard_0_1_0;
-
-    wizardry_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          comeonin_1_6_0
-        }:
-          buildMix ({
-            name = "wizardry";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "wizardry";
-              version = "0.0.1";
-              sha256 =
-                "4a85b8c3e5813dee20aa0d5503811568743644883723c9b226436616c9a779a3";
-            };
-            beamDeps  = [ plug_1_1_5 comeonin_1_6_0 ];
-
-            meta = {
-              description = ''Simple, low-level user account framework for
-                            Phoenix Framework'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/knrz/wizardry";
-            };
-          } // packageOverrides)
-      ) {};
-
-    wizardry = wizardry_0_0_1;
-
-    woolly_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "woolly";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "woolly";
-              version = "0.1.2";
-              sha256 =
-                "34677dae0bcca0c66fd611d6528e1d0532247e0ad9478a4b469476058308b40d";
-            };
-
-            meta = {
-              longDescription = ''Woolly is the text mining and natural
-                                language toolkit for the Elixir programming
-                                language.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pjhampton/Woolly";
-            };
-          } // packageOverrides)
-      ) {};
-
-    woolly = woolly_0_1_2;
-
-    word_smith_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "word_smith";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "word_smith";
-              version = "0.1.2";
-              sha256 =
-                "481e643c5d26f113235ee577ea9b11c2c639228e0573670329c4385ee6d4cb32";
-            };
-
-            meta = {
-              longDescription = ''General text utility library to help with
-                                string manipulation not found in the standard
-                                Elixir library.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/benfalk/word_smith";
-            };
-          } // packageOverrides)
-      ) {};
-
-    word_smith = word_smith_0_1_2;
-
-    work_queue_0_0_3 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, pipe_while_ok_0_0_2
-        }:
-          buildMix ({
-            name = "work_queue";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "work_queue";
-              version = "0.0.3";
-              sha256 =
-                "31b000cf454ee0a8f90408ea10c33ee6cdd062256a7dd3aac7fe67c48fcbb424";
-            };
-            beamDeps  = [ pipe_while_ok_0_0_2 ];
-
-            meta = {
-              description = ''A simple implement of the Hungry Consumer model
-                            of concurrent servers. '';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/pragdave/work_queue";
-            };
-          } // packageOverrides)
-      ) {};
-
-    work_queue = work_queue_0_0_3;
-
-    worker_pool_1_0_4 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "worker_pool";
-            version = "1.0.4";
-            src = fetchHex {
-              pkg = "worker_pool";
-              version = "1.0.4";
-              sha256 =
-                "7854a3b94e9624728db3a0475d00e7d0728adf3bf2ee3802bbf8ca10356d6f64";
-            };
-
-            meta = {
-              description = ''Erlang Worker Pool'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/inaka/worker_pool";
-            };
-          } // packageOverrides)
-      ) {};
-
-    worker_pool_2_0_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "worker_pool";
-            version = "2.0.0";
-            src = fetchHex {
-              pkg = "worker_pool";
-              version = "2.0.0";
-              sha256 =
-                "915d3a1276d3c00c1438ae49785ff974f7b36772d5a13ad6a2c487e7c005f272";
-            };
-
-            meta = {
-              description = ''Erlang Worker Pool'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/inaka/worker_pool";
-            };
-          } // packageOverrides)
-      ) {};
-
-    worker_pool = worker_pool_2_0_0;
-
-    workex_0_10_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exactor_2_2_0 }:
-          buildMix ({
-            name = "workex";
-            version = "0.10.0";
-            src = fetchHex {
-              pkg = "workex";
-              version = "0.10.0";
-              sha256 =
-                "9bb48e3ff0294021ecc78d86d4a7521dbe46e129ae9e51a46c9f2a67a63e9cbd";
-            };
-            beamDeps  = [ exactor_2_2_0 ];
-
-            meta = {
-              description = ''A behaviour for simple flow control and
-                            backpressure.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sasa1977/workex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    workex = workex_0_10_0;
-
-    workshop_0_5_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "workshop";
-            version = "0.5.1";
-            src = fetchHex {
-              pkg = "workshop";
-              version = "0.5.1";
-              sha256 =
-                "f6eaab9360764e83cca6892d939357e505fe163412b22acca7ea4fe307c8bed2";
-            };
-
-            meta = {
-              longDescription = ''Mix tasks for creating and running
-                                interactive workshops for teaching people how to
-                                program in Elixir, and other things.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/gausby/workshop";
-            };
-          } // packageOverrides)
-      ) {};
-
-    workshop = workshop_0_5_1;
-
-    world_json_0_1_6 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_1_3_1 }:
-          buildMix ({
-            name = "world_json";
-            version = "0.1.6";
-            src = fetchHex {
-              pkg = "world_json";
-              version = "0.1.6";
-              sha256 =
-                "f91493355bc522e6ee58eed6d21fca41c32f246052c1324cb5f08b2eb1eb5e83";
-            };
-            beamDeps  = [ poison_1_3_1 ];
-
-            meta = {
-              description = ''topojson country and state/province collections
-                            for elixir/erlang'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/world_json_ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    world_json = world_json_0_1_6;
-
-    wpa_supplicant_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "wpa_supplicant";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "wpa_supplicant";
-              version = "0.2.0";
-              sha256 =
-                "40c86728b254dd9a9a96d862049a85ccf8b8ce9d1fe27985fe5d7c7a32c56bb6";
-            };
-
-            meta = {
-              longDescription = ''Elixir interface to the wpa_supplicant
-                                daemon. The wpa_supplicant provides application
-                                support for scanning for access points, managing
-                                Wi-Fi connections, and handling all of the
-                                security and other parameters associated with
-                                Wi-Fi.'';
-              license = with stdenv.lib.licenses; [ asl20 free ];
-              homepage = "https://github.com/fhunleth/wpa_supplicant.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    wpa_supplicant = wpa_supplicant_0_2_0;
-
-    ws_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "ws";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "ws";
-              version = "0.0.1";
-              sha256 =
-                "31185c57989f16c4d337974cf1896bb8da452b4f08258a48583cce211fbcf316";
-            };
-
-            meta = {
-              description = ''An RFC 6455 WebSocket implementation.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ws = ws_0_0_1;
-
-    wx_utils_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "wx_utils";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "wx_utils";
-              version = "0.0.2";
-              sha256 =
-                "78bb6d423327e7cf41446a35741fe079fb138a4671d0a01e70223f6219afc3d4";
-            };
-
-            meta = {
-              description = ''All of the erlang wx macros exposed as normal
-                            functions.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/sschneider1207/wx_utils";
-            };
-          } // packageOverrides)
-      ) {};
-
-    wx_utils = wx_utils_0_0_2;
-
-    wykop_api_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "wykop_api";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "wykop_api";
-              version = "0.0.4";
-              sha256 =
-                "0c2acade581168e5cdf3d1dbde53183bc1c49882c8ba8793e045f20d5a9a26d0";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Library for Wykop API.'';
-              license = stdenv.lib.licenses.cc0;
-              homepage = "https://github.com/remiq/wykop_api_elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    wykop_api = wykop_api_0_0_4;
-
-    xain_0_5_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "xain";
-            version = "0.5.3";
-            src = fetchHex {
-              pkg = "xain";
-              version = "0.5.3";
-              sha256 =
-                "c71c2b8180b317a361b4691cf6e9e72d1cf2ad00f7e31f5f5e72d79489eb6e24";
-            };
-
-            meta = {
-              description = ''An html DSL package.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/smpallen99/xain";
-            };
-          } // packageOverrides)
-      ) {};
-
-    xain = xain_0_5_3;
-
-    xe_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          floki_0_8_1
-        }:
-          buildMix ({
-            name = "xe";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "xe";
-              version = "0.0.1";
-              sha256 =
-                "53d693612db1343c36a7bbe6286c23f7ccfdbd44500c2a38970743238d230a77";
-            };
-            beamDeps  = [ httpoison_0_8_3 floki_0_8_1 ];
-
-            meta = {
-              description = ''Real time conversion for currencies'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/paulodiniz/xe";
-            };
-          } // packageOverrides)
-      ) {};
-
-    xe = xe_0_0_1;
-
-    xepcache_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, depcache_1_2_2 }:
-          buildMix ({
-            name = "xepcache";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "xepcache";
-              version = "1.0.1";
-              sha256 =
-                "b163b26145c2ab3f37ec004dc24ca49c53c1c7b50529c068e94cfcfd78ec62dd";
-            };
-            beamDeps  = [ depcache_1_2_2 ];
-
-            meta = {
-              longDescription = ''A wrapper around Erlang`s depcache, an
-                                in-memory caching server. depcache bases its
-                                caching around ETS but can also switch to using
-                                the in-process dictionary for maintaining a
-                                process-local cache. Convenient functions are
-                                provided for getting/setting cache values, with
-                                ttl and cache key dependencies, as well as a
-                                memo function for caching the result of function
-                                executions.'';
-              license = stdenv.lib.licenses.apsl20;
-              homepage = "https://github.com/arjan/xepcache";
-            };
-          } // packageOverrides)
-      ) {};
-
-    xepcache = xepcache_1_0_1;
-
-    xfighter_0_2_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "xfighter";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "xfighter";
-              version = "0.2.1";
-              sha256 =
-                "67bb43379cd89b4b95f65f02ad5421719723d262fdbe7e399fb82ac7f3b490a8";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''An API wrapper for the programming game
-                            Stockfighter.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bitchef/xfighter";
-            };
-          } // packageOverrides)
-      ) {};
-
-    xfighter = xfighter_0_2_1;
-
-    xjs_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, poison_2_1_0 }:
-          buildMix ({
-            name = "xjs";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "xjs";
-              version = "0.1.1";
-              sha256 =
-                "51f93b5008fb73ad6d9320bc97892cd861171852a59408b02823b03fe8c1b751";
-            };
-            beamDeps  = [ poison_2_1_0 ];
-
-            meta = {
-              description = ''elixir syntax, javascript semantics'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/aaron-lebo/xjs";
-            };
-          } // packageOverrides)
-      ) {};
-
-    xjs = xjs_0_1_1;
-
-    xkcd_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "xkcd";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "xkcd";
-              version = "0.0.1";
-              sha256 =
-                "1c757360b9c5ff3d098e9c04874ed273289ea890e4d87e7dd99164633fe061b5";
-            };
-            beamDeps  = [ poison_2_1_0 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''Uses the XKCD JSON API to retrieve the
-                                random, specific and the latest XKCD comic.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/notdevinclark/xkcd";
-            };
-          } // packageOverrides)
-      ) {};
-
-    xkcd = xkcd_0_0_1;
-
-    xlsxir_1_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, erlsom_1_4_1 }:
-          buildMix ({
-            name = "xlsxir";
-            version = "1.3.0";
-            src = fetchHex {
-              pkg = "xlsxir";
-              version = "1.3.0";
-              sha256 =
-                "8c5985daeafaa388b63dde1f9827d650c5c964a0d4c1a91aba9ff8463c6d7833";
-            };
-            beamDeps  = [ erlsom_1_4_1 ];
-
-            meta = {
-              longDescription = ''Xlsx file parser. Supports large files,
-                                multiple worksheets and ISO 8601 date formats.
-                                Data is extracted to an Erlang Term Storage
-                                (ETS) table and is accessed through various
-                                functions. Tested with Excel and LibreOffice.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kennellroxco/xlsxir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    xlsxir = xlsxir_1_3_0;
-
-    xml_builder_0_0_8 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "xml_builder";
-            version = "0.0.8";
-            src = fetchHex {
-              pkg = "xml_builder";
-              version = "0.0.8";
-              sha256 =
-                "51922bc50e0ef79c757d1016eda2a486f8688cd7307c4519102ea1fea4c5a3cd";
-            };
-
-            meta = {
-              description = ''XML builder for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/joshnuss/xml_builder";
-            };
-          } // packageOverrides)
-      ) {};
-
-    xml_builder = xml_builder_0_0_8;
-
-    xml_to_keyword_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "xml_to_keyword";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "xml_to_keyword";
-              version = "0.0.1";
-              sha256 =
-                "64433848f0ed0ad8f26f1c6e1a6509a6fbaf017701577bd8122bfbb6ee277e97";
-            };
-
-            meta = {
-              longDescription = ''This is an Elixir package that can convert
-                                xml into Elixir`s Keyword List, which is
-                                compilable with XmlBuilder
-                                (joshnuss/xml_builder) package'';
-              license = stdenv.lib.licenses.free;
-            };
-          } // packageOverrides)
-      ) {};
-
-    xml_to_keyword = xml_to_keyword_0_0_1;
-
-    xmlrpc_0_9_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "xmlrpc";
-            version = "0.9.1";
-            src = fetchHex {
-              pkg = "xmlrpc";
-              version = "0.9.1";
-              sha256 =
-                "b2f6941248fa2e55e89dcb69304f58a7cc4203ce68b986260836933be8fac879";
-            };
-
-            meta = {
-              longDescription = ''XML-RPC encoder/decder for Elixir. Supports
-                                all valid datatypes. Input (ie untrusted) is
-                                parsed with erlsom against an xml-schema for
-                                security.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/ewildgoose/elixir-xml_rpc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    xmlrpc_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "xmlrpc";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "xmlrpc";
-              version = "1.0.0";
-              sha256 =
-                "8b7dc690a64df7e72d192e9211a20084079933272c14c3e9c158eb101025a7ec";
-            };
-
-            meta = {
-              longDescription = ''XML-RPC encoder/decder for Elixir. Supports
-                                all valid datatypes. Input (ie untrusted) is
-                                parsed with erlsom against an xml-schema for
-                                security.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/ewildgoose/elixir-xml_rpc";
-            };
-          } // packageOverrides)
-      ) {};
-
-    xmlrpc = xmlrpc_1_0_0;
-
-    xoauth2_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          mock_0_1_3,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "xoauth2";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "xoauth2";
-              version = "0.0.3";
-              sha256 =
-                "4a43a0bca1707b579c6a141524666006dd25ed2efdc19aee5d6eeedf6efc3418";
-            };
-            beamDeps  = [ poison_1_5_2 mock_0_1_3 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A simple XOAuth2 module for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/craigp/elixir_xoauth2";
-            };
-          } // packageOverrides)
-      ) {};
-
-    xoauth2 = xoauth2_0_0_3;
-
-    xxhash_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "xxhash";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "xxhash";
-              version = "0.2.0";
-              sha256 =
-                "ed57fd84e2c4fc440c28fa6a59d2c2ec0d3957b58dfd05cf06da8824ee6494d8";
-            };
-
-            meta = {
-              description = ''Native Elixir xxHash port.'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/ttvd/elixir-xxhash";
-            };
-          } // packageOverrides)
-      ) {};
-
-    xxhash = xxhash_0_2_0;
-
-    y_process_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "y_process";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "y_process";
-              version = "0.0.1";
-              sha256 =
-                "3329d3fbe253d605b1f7a91a601c672ff4bc0e7b8c960871d82c964e92372bcb";
-            };
-
-            meta = {
-              description = ''GenServer wrapper behaviour for pubsub between
-                            processes.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/gmtprime/y_process";
-            };
-          } // packageOverrides)
-      ) {};
-
-    y_process = y_process_0_0_1;
-
-    yahoo_fx_0_2_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          time_seer_0_0_6,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "yahoo_fx";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "yahoo_fx";
-              version = "0.2.0";
-              sha256 =
-                "e06b6986c483cad62081e19fba3089f3eab4a4f1e1cc06cd17aa45d34dd14913";
-            };
-            beamDeps  = [ time_seer_0_0_6 httpoison_0_8_3 ];
-
-            meta = {
-              longDescription = ''YahooFx is an Elixir library for getting
-                                currency exchange rates from Yahoo Finance'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/lau/yahoo_fx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    yahoo_fx = yahoo_fx_0_2_0;
-
-    yaml_elixir_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "yaml_elixir";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "yaml_elixir";
-              version = "1.0.0";
-              sha256 =
-                "8d318d459561678bbe42bdcc7282ebe9dd7538f34045812054edf226634bf4a7";
-            };
-
-            meta = {
-              description = ''Yaml parser for Elixir based on native Erlang
-                            implementation.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KamilLelonek/yaml-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    yaml_elixir_1_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "yaml_elixir";
-            version = "1.2.0";
-            src = fetchHex {
-              pkg = "yaml_elixir";
-              version = "1.2.0";
-              sha256 =
-                "7827069a57fc1d830c3025acbb9611f4cd51ee139e8e75de85d0c4e835df4c16";
-            };
-
-            meta = {
-              description = ''Yaml parser for Elixir based on native Erlang
-                            implementation.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/KamilLelonek/yaml-elixir";
-            };
-          } // packageOverrides)
-      ) {};
-
-    yaml_elixir = yaml_elixir_1_2_0;
-
-    yaml_encoder_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "yaml_encoder";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "yaml_encoder";
-              version = "0.0.2";
-              sha256 =
-                "ff3713e793daed297bca7252651deafd15c5f2f353a4ab03bf3f13a71fcb60a6";
-            };
-
-            meta = {
-              description = ''Simple module to encode data to YAML. Not ready
-                            for production, still WIP.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pilu/yaml_encoder";
-            };
-          } // packageOverrides)
-      ) {};
-
-    yaml_encoder = yaml_encoder_0_0_2;
-
-    yes_msg_0_1_0 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "yes_msg";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "yes_msg";
-              version = "0.1.0";
-              sha256 =
-                "45e0a13d87cf84fa50001b27f898b470c610207947e4ddb1b1160804b4e62e0e";
-            };
-
-            meta = {
-              description = ''Yet another simple message (YES) parser for
-                            Erlang.'';
-              license = stdenv.lib.licenses.mit;
-            };
-          } // packageOverrides)
-      ) {};
-
-    yes_msg = yes_msg_0_1_0;
-
-    yocingo_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          httpoison_0_8_3,
-          exjsx_3_2_0,
-          earmark_0_2_1
-        }:
-          buildMix ({
-            name = "yocingo";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "yocingo";
-              version = "0.0.3";
-              sha256 =
-                "e222ea0050a5678568d463f8ae7cf7ccd8efba4dfee1637eb0e52c1a1c7809f1";
-            };
-            beamDeps  = [ httpoison_0_8_3 exjsx_3_2_0 earmark_0_2_1 ];
-
-            meta = {
-              longDescription = ''This is a full Telegram Bot API. With this
-                                module you can create your own Telegram Bot.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/Yawolf/yocingo";
-            };
-          } // packageOverrides)
-      ) {};
-
-    yocingo = yocingo_0_0_3;
-
-    ytx_0_0_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, rapidax_0_0_3 }:
-          buildMix ({
-            name = "ytx";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "ytx";
-              version = "0.0.5";
-              sha256 =
-                "a30877517201e1c964627782345273fa7ae2157591d1ae6f5663333f370db6f6";
-            };
-            beamDeps  = [ rapidax_0_0_3 ];
-
-            meta = {
-              description = ''Youtube API Client for Elixir'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/victorlcampos/ytx";
-            };
-          } // packageOverrides)
-      ) {};
-
-    ytx = ytx_0_0_5;
-
-    yubico_0_1_4 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "yubico";
-            version = "0.1.4";
-            src = fetchHex {
-              pkg = "yubico";
-              version = "0.1.4";
-              sha256 =
-                "0609f63f3b6141e56014b5247526448a41bf9f61431800891b8c219310f425ad";
-            };
-
-            meta = {
-              description = ''Client implementing the Yubico Validation
-                            Protocol Version 2.0.'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/project-fifo/erlang-yubico";
-            };
-          } // packageOverrides)
-      ) {};
-
-    yubico = yubico_0_1_4;
-
-    yuri_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "yuri";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "yuri";
-              version = "1.0.0";
-              sha256 =
-                "4a4c851f7ea20141201a9b69eaefb300b420e6c94a1513519aaef39f63d939c5";
-            };
-
-            meta = {
-              description = ''Simple struct for representing URIs.'';
-              license = stdenv.lib.licenses.wtfpl;
-              homepage = "https://github.com/kemonomachi/yuri";
-            };
-          } // packageOverrides)
-      ) {};
-
-    yuri = yuri_1_0_0;
-
-    yyid_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "yyid";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "yyid";
-              version = "0.1.2";
-              sha256 =
-                "37fb0acf8e7f30e66fbba18326b357aeaeb19b671b59d4beb8c8bd943370eeab";
-            };
-
-            meta = {
-              longDescription = ''Generates random tokens that look like type 4
-                                UUIDs: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/janlelis/yyid.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    yyid = yyid_0_1_2;
-
-    zarex_0_3_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "zarex";
-            version = "0.3.0";
-            src = fetchHex {
-              pkg = "zarex";
-              version = "0.3.0";
-              sha256 =
-                "b4c59af6ccc9c0ffea797920a7f66cdaaa498cda83e4bc4c077ff09cb3b21961";
-            };
-
-            meta = {
-              description = ''Filename sanitization for Elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ricn/zarex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    zarex = zarex_0_3_0;
-
-    zbase32_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "zbase32";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "zbase32";
-              version = "1.0.0";
-              sha256 =
-                "bea25493cb512cf0d0ee4e1140c4dc276a27cc299c9b304117ec7b7e4af557b6";
-            };
-
-            meta = {
-              longDescription = ''Efficient implementation of z-base-32, Phil
-                                Zimmermann`s human-oriented base-32 encoding.
-                                z-base-32 is a Base32 encoding designed to be
-                                easier for human use and more compact. It
-                                includes 1, 8 and 9 but excludes l, v and 2. It
-                                also permutes the alphabet so that the easier
-                                characters are the ones that occur more
-                                frequently. It compactly encodes bitstrings
-                                whose length in bits is not a multiple of 8, and
-                                omits trailing padding characters. z-base-32 was
-                                used in Mnet open source project, and is
-                                currently used in Phil Zimmermann`s ZRTP
-                                protocol, and in the Tahoe-LAFS open source
-                                project.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/pspdfkit-labs/zbase32";
-            };
-          } // packageOverrides)
-      ) {};
-
-    zbase32 = zbase32_1_0_0;
-
-    zigzag_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "zigzag";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "zigzag";
-              version = "0.0.1";
-              sha256 =
-                "27a151e219cf0dcabda9977aad3fbae7b8c366c88a88846e830bc4364f31ed95";
-            };
-
-            meta = {
-              description = ''Zigzag is a fast and flexible parallel processing
-                            library for Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/utkarshkukreti/zigzag.ex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    zigzag = zigzag_0_0_1;
-
-    zip_stream_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "zip_stream";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "zip_stream";
-              version = "0.1.0";
-              sha256 =
-                "a712e24d5fe74e3761c74f3e05cb03df0aa9440f3edee957445f9c9be73c9a4e";
-            };
-
-            meta = {
-              longDescription = ''Library to read zip file in a stream. Zip
-                                file binary stream -> stream of {:new_file,name}
-                                or uncompressed_bin Erlang zlib library only
-                                allows deflate decompress stream. But Erlang zip
-                                library does not allow content streaming.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/awetzel/zip_stream";
-            };
-          } // packageOverrides)
-      ) {};
-
-    zip_stream = zip_stream_0_1_0;
-
-    zipcloudx_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_1_5_2,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "zipcloudx";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "zipcloudx";
-              version = "0.0.2";
-              sha256 =
-                "1e474ec0229b6dd1404c34fbd2a851d136d9549d5ecccbd01d017baac64b264e";
-            };
-            beamDeps  = [ poison_1_5_2 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''Elixir zipcloud API wrapper'';
-
-            };
-          } // packageOverrides)
-      ) {};
-
-    zipcloudx = zipcloudx_0_0_2;
-
-    zipflow_0_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "zipflow";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "zipflow";
-              version = "0.0.1";
-              sha256 =
-                "1b6e43e3a40529e41fbbb47d27470a3842834be066b676b68f5b0bfed68c8f39";
-            };
-
-            meta = {
-              description = ''stream zip archives while building them'';
-              license = stdenv.lib.licenses.bsd3;
-              homepage = "https://github.com/dgvncsz0f/zipflow";
-            };
-          } // packageOverrides)
-      ) {};
-
-    zipflow = zipflow_0_0_1;
-
-    zipper_tree_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex }:
-          buildMix ({
-            name = "zipper_tree";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "zipper_tree";
-              version = "0.1.1";
-              sha256 =
-                "df6e81d6be9c9ac582bcde541e263d1379485f5cbb5b7cd1b55cd031fe7741ea";
-            };
-
-            meta = {
-              description = ''Methods for travelsal and modification of Trees
-                            using a zipper. '';
-              license = stdenv.lib.licenses.wtfpl;
-              homepage = "https://github.com/Dkendal/zipper_tree";
-            };
-          } // packageOverrides)
-      ) {};
-
-    zipper_tree = zipper_tree_0_1_1;
-
-    zlist_1_0_3 = callPackage
-      (
-        {  buildRebar3, packageOverrides ? {}, fetchHex }:
-          buildRebar3 ({
-            name = "zlist";
-            version = "1.0.3";
-            src = fetchHex {
-              pkg = "zlist";
-              version = "1.0.3";
-              sha256 =
-                "c5ed3928628cfc9041afb6b1ee3d73d5c85473e6d3ce0f4cb6b1fcb20a207b89";
-            };
-
-            meta = {
-              description = ''Erlang lazy list library'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/egobrain/zlist";
-            };
-          } // packageOverrides)
-      ) {};
-
-    zlist = zlist_1_0_3;
-
-  };
-in stdenv.lib.fix' (stdenv.lib.extends overrides packages)
\ No newline at end of file
diff --git a/pkgs/development/beam-modules/hex-registry-snapshot.nix b/pkgs/development/beam-modules/hex-registry-snapshot.nix
deleted file mode 100644
index fbd2950b6d53..000000000000
--- a/pkgs/development/beam-modules/hex-registry-snapshot.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{stdenv, writeText, fetchFromGitHub }:
-
-stdenv.mkDerivation rec {
-    pname = "hex-registry";
-    rev = "11d7a24e9f53f52490ce255a6248e71128e73aa1";
-    version = "unstable-2018-07-12";
-
-    src = fetchFromGitHub {
-        inherit rev;
-        owner  = "erlang-nix";
-        repo   = "hex-pm-registry-snapshots";
-        sha256 = "0dbpcrdh6jqmvnm1ysmy7ixyc95vnbqmikyx5kk77qwgyd43fqgi";
-    };
-
-    installPhase = ''
-       mkdir -p "$out/var/hex"
-       zcat "registry.ets.gz" > "$out/var/hex/registry.ets"
-    '';
-
-    setupHook = writeText "setupHook.sh" ''
-        export HEX_REGISTRY_SNAPSHOT="$1/var/hex/registry.ets"
-   '';
-
-    meta = {
-        platforms = stdenv.lib.platforms.unix;
-    };
-}
diff --git a/pkgs/development/beam-modules/mix-bootstrap b/pkgs/development/beam-modules/mix-bootstrap
index d7a912ee1ed7..7e31def71fa8 100755
--- a/pkgs/development/beam-modules/mix-bootstrap
+++ b/pkgs/development/beam-modules/mix-bootstrap
@@ -25,8 +25,7 @@
 -record(data, {version
               , erl_libs
               , root
-              , name
-              , registry_snapshot}).
+              , name}).
 -define(LOCAL_HEX_REGISTRY, "registry.ets").
 
 main(Args) ->
@@ -51,8 +50,7 @@ gather_required_data_from_the_environment(_) ->
     {ok, #data{ version = guard_env("version")
               , erl_libs = os:getenv("ERL_LIBS", [])
               , root = code:root_dir()
-              , name = guard_env("name")
-              , registry_snapshot = guard_env("HEX_REGISTRY_SNAPSHOT")}}.
+              , name = guard_env("name")}}.
 
 -spec guard_env(string()) -> string().
 guard_env(Name) ->
diff --git a/pkgs/development/compilers/abcl/default.nix b/pkgs/development/compilers/abcl/default.nix
index accedf9a7af7..44f72a93c3a3 100644
--- a/pkgs/development/compilers/abcl/default.nix
+++ b/pkgs/development/compilers/abcl/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, ant, jre, jdk}:
 stdenv.mkDerivation rec {
   pname = "abcl";
-  version = "1.5.0";
+  version = "1.6.0";
   # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
   src = fetchurl {
     url = "https://common-lisp.net/project/armedbear/releases/${version}/${pname}-src-${version}.tar.gz";
-    sha256 = "1hhvcg050nfpjbdmskc1cv2j38qi6qfl77a61b5cxx576kbff3lj";
+    sha256 = "0hvbcsffr8n2xwdixc8wyw1bfl9fxn2gyy0c4nma7j9zbn0wwgw9";
   };
   configurePhase = ''
     mkdir nix-tools
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix b/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix
index 3b9cb752b9b8..5e402b2d728b 100644
--- a/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix
+++ b/pkgs/development/compilers/adoptopenjdk-bin/jdk-darwin-base.nix
@@ -28,9 +28,6 @@ let cpuName = stdenv.hostPlatform.parsed.cpu.name;
     # Remove some broken manpages.
     rm -rf $out/Home/man/ja*
 
-    # for backward compatibility
-    ln -s $out/Contents/Home $out/jre
-
     ln -s $out/Contents/Home/* $out/
 
     mkdir -p $out/nix-support
diff --git a/pkgs/development/compilers/adoptopenjdk-bin/sources.json b/pkgs/development/compilers/adoptopenjdk-bin/sources.json
index 403bd96efb0e..e40ed72c46c1 100644
--- a/pkgs/development/compilers/adoptopenjdk-bin/sources.json
+++ b/pkgs/development/compilers/adoptopenjdk-bin/sources.json
@@ -10,34 +10,34 @@
             "version": "11.0.4"
           },
           "armv6l": {
-            "build": "7",
-            "sha256": "3fbe418368e6d5888d0f15c4751139eb60d9785b864158a001386537fa46f67e",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_arm_linux_hotspot_11.0.3_7.tar.gz",
-            "version": "11.0.3"
+            "build": "10",
+            "sha256": "c6b1fda3f8807028cbfcc34a4ded2e8a5a6b6239d2bcc1f06673ea6b1530df94",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.5%2B10/OpenJDK11U-jdk_arm_linux_hotspot_11.0.5_10.tar.gz",
+            "version": "11.0.5"
           },
           "armv7l": {
-            "build": "7",
-            "sha256": "3fbe418368e6d5888d0f15c4751139eb60d9785b864158a001386537fa46f67e",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.3%2B7/OpenJDK11U-jdk_arm_linux_hotspot_11.0.3_7.tar.gz",
-            "version": "11.0.3"
+            "build": "10",
+            "sha256": "c6b1fda3f8807028cbfcc34a4ded2e8a5a6b6239d2bcc1f06673ea6b1530df94",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.5%2B10/OpenJDK11U-jdk_arm_linux_hotspot_11.0.5_10.tar.gz",
+            "version": "11.0.5"
           },
           "packageType": "jdk",
           "vmType": "hotspot",
           "x86_64": {
-            "build": "11",
-            "sha256": "90c33cf3f2ed0bd773f648815de7347e69cfbb3416ef3bf41616ab1c4aa0f5a8",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11/OpenJDK11U-jdk_x64_linux_hotspot_11.0.4_11.tar.gz",
-            "version": "11.0.4"
+            "build": "10",
+            "sha256": "6dd0c9c8a740e6c19149e98034fba8e368fd9aa16ab417aa636854d40db1a161",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.5%2B10/OpenJDK11U-jdk_x64_linux_hotspot_11.0.5_10.tar.gz",
+            "version": "11.0.5"
           }
         },
         "openj9": {
           "packageType": "jdk",
           "vmType": "openj9",
           "x86_64": {
-            "build": "11",
-            "sha256": "b1099cccc80a3f434728c9bc3b8a90395793b625f4680ca05267cf635143d64d",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11_openj9-0.15.1/OpenJDK11U-jdk_x64_linux_openj9_11.0.4_11_openj9-0.15.1.tar.gz",
-            "version": "11.0.4"
+            "build": "10",
+            "sha256": "6ead0515aecb24c6a8f5f3800a070b7d20a66c8f26cba5dad137824da590a532",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.5%2B10_openj9-0.17.0/OpenJDK11U-jdk_x64_linux_openj9_11.0.5_10_openj9-0.17.0.tar.gz",
+            "version": "11.0.5"
           }
         }
       },
@@ -52,20 +52,20 @@
           "packageType": "jre",
           "vmType": "hotspot",
           "x86_64": {
-            "build": "11",
-            "sha256": "70d2cc675155476f1d8516a7ae6729d44681e4fad5a6fc8dfa65cab36a67b7e0",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11/OpenJDK11U-jre_x64_linux_hotspot_11.0.4_11.tar.gz",
-            "version": "11.0.4"
+            "build": "10",
+            "sha256": "2f08c469c9a8adea1b6ee3444ba2a8242a7e99d87976a077faf037a9eb7f884b",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.5%2B10/OpenJDK11U-jre_x64_linux_hotspot_11.0.5_10.tar.gz",
+            "version": "11.0.5"
           }
         },
         "openj9": {
           "packageType": "jre",
           "vmType": "openj9",
           "x86_64": {
-            "build": "11",
-            "sha256": "c2601e7cb22af7a910e03883280cee805074656104d6d3dcaaf30e3bbb832690",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11_openj9-0.15.1/OpenJDK11U-jre_x64_linux_openj9_11.0.4_11_openj9-0.15.1.tar.gz",
-            "version": "11.0.4"
+            "build": "10",
+            "sha256": "2b68ea68d41281238a9dbe494cec762bd97fe34cf4fb6ba44ee1ce66bcec9d38",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.5%2B10_openj9-0.17.0/OpenJDK11U-jre_x64_linux_openj9_11.0.5_10_openj9-0.17.0.tar.gz",
+            "version": "11.0.5"
           }
         }
       }
@@ -76,20 +76,20 @@
           "packageType": "jdk",
           "vmType": "hotspot",
           "x86_64": {
-            "build": "11",
-            "sha256": "a50b211f475b9497311c9b65594764d7b852b1653f249582bb20fc3c302846a5",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11/OpenJDK11U-jdk_x64_mac_hotspot_11.0.4_11.tar.gz",
-            "version": "11.0.4"
+            "build": "10",
+            "sha256": "0825d0d3177832320b697944cd8e7b2e7fe3893fafe8bfcf33ee3631aa5ca96b",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.5%2B10/OpenJDK11U-jdk_x64_mac_hotspot_11.0.5_10.tar.gz",
+            "version": "11.0.5"
           }
         },
         "openj9": {
           "packageType": "jdk",
           "vmType": "openj9",
           "x86_64": {
-            "build": "11",
-            "sha256": "7c09678d9c2d9dd0366693c6ab27bed39c76a23e7ac69b8a25c794e99dcf3ba7",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11_openj9-0.15.1/OpenJDK11U-jdk_x64_mac_openj9_11.0.4_11_openj9-0.15.1.tar.gz",
-            "version": "11.0.4"
+            "build": "10",
+            "sha256": "97dc8234b73e233316b5dfdca75af9a0d54aa23b1309b1a68fd0a5d2fa928e05",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.5%2B10.1_openj9-0.17.0/OpenJDK11U-jdk_x64_mac_openj9_11.0.5_10_openj9-0.17.0.tar.gz",
+            "version": "11.0.5"
           }
         }
       },
@@ -98,20 +98,20 @@
           "packageType": "jre",
           "vmType": "hotspot",
           "x86_64": {
-            "build": "11",
-            "sha256": "1647fded28d25e562811f7bce2092eb9c21d30608843b04250c023b40604ff26",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11/OpenJDK11U-jre_x64_mac_hotspot_11.0.4_11.tar.gz",
-            "version": "11.0.4"
+            "build": "10",
+            "sha256": "dfd212023321ebb41bce8cced15b4668001e86ecff6bffdd4f2591ccaae41566",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.5%2B10/OpenJDK11U-jre_x64_mac_hotspot_11.0.5_10.tar.gz",
+            "version": "11.0.5"
           }
         },
         "openj9": {
           "packageType": "jre",
           "vmType": "openj9",
           "x86_64": {
-            "build": "11",
-            "sha256": "1a8e84bae517a848aa5f25c7b04f26ab3a3bfffaa7fdf9be24e1f83325e46766",
-            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.4%2B11_openj9-0.15.1/OpenJDK11U-jre_x64_mac_openj9_11.0.4_11_openj9-0.15.1.tar.gz",
-            "version": "11.0.4"
+            "build": "10",
+            "sha256": "ea6bd0be4562e766c035b997447c059d10d5d2e58ca464c57f9078858da1c967",
+            "url": "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.5%2B10.1_openj9-0.17.0/OpenJDK11U-jre_x64_mac_openj9_11.0.5_10_openj9-0.17.0.tar.gz",
+            "version": "11.0.5"
           }
         }
       }
@@ -122,56 +122,56 @@
       "jdk": {
         "hotspot": {
           "aarch64": {
-            "build": "10",
-            "sha256": "652776586ede124189dc218174b5922cc97feac81021ad81905900b349a352d2",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jdk_aarch64_linux_hotspot_8u222b10.tar.gz",
-            "version": "8.0.222"
+            "build": "9",
+            "sha256": "35799a2fd4b467115aff1bc3a54853b5131ba9068e53e1ab0fbe5521a3f2ba83",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u232b09.tar.gz",
+            "version": "8.0.232"
           },
           "packageType": "jdk",
           "vmType": "hotspot",
           "x86_64": {
-            "build": "10",
-            "sha256": "37356281345b93feb4212e6267109b4409b55b06f107619dde4960e402bafa77",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jdk_x64_linux_hotspot_8u222b10.tar.gz",
-            "version": "8.0.222"
+            "build": "9",
+            "sha256": "7b7884f2eb2ba2d47f4c0bf3bb1a2a95b73a3a7734bd47ebf9798483a7bcc423",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jdk_x64_linux_hotspot_8u232b09.tar.gz",
+            "version": "8.0.232"
           }
         },
         "openj9": {
           "packageType": "jdk",
           "vmType": "openj9",
           "x86_64": {
-            "build": "10",
-            "sha256": "20cff719c6de43f8bb58c7f59e251da7c1fa2207897c9a4768c8c669716dc819",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10_openj9-0.15.1/OpenJDK8U-jdk_x64_linux_openj9_8u222b10_openj9-0.15.1.tar.gz",
-            "version": "8.0.222"
+            "build": "9",
+            "sha256": "abea758c7e102f3c4a3be8757ee0ce039a70e2d498c160400dfb83c6f7004dbf",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09_openj9-0.17.0/OpenJDK8U-jdk_x64_linux_openj9_8u232b09_openj9-0.17.0.tar.gz",
+            "version": "8.0.232"
           }
         }
       },
       "jre": {
         "hotspot": {
           "aarch64": {
-            "build": "10",
-            "sha256": "dfaf5a121f7606c54bd6232793677a4267eddf65d29cde352b84d84edbccbb51",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jre_aarch64_linux_hotspot_8u222b10.tar.gz",
-            "version": "8.0.222"
+            "build": "9",
+            "sha256": "4540db665260fdc84ae2f191e21beec9168a70a4227718bee5edd317707e2fda",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jre_aarch64_linux_hotspot_8u232b09.tar.gz",
+            "version": "8.0.232"
           },
           "packageType": "jre",
           "vmType": "hotspot",
           "x86_64": {
-            "build": "10",
-            "sha256": "a418ce895c8bf3ca2e7b2f423f038b8b093941684c9430f2e40da0982e12b52d",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jre_x64_linux_hotspot_8u222b10.tar.gz",
-            "version": "8.0.222"
+            "build": "9",
+            "sha256": "bd06b84a1fc10e0a555431bc49a84e86df45de0be93c8ee4d09d13513219843b",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jre_x64_linux_hotspot_8u232b09.tar.gz",
+            "version": "8.0.232"
           }
         },
         "openj9": {
           "packageType": "jre",
           "vmType": "openj9",
           "x86_64": {
-            "build": "10",
-            "sha256": "ae56994a7c8e8c19939c0c2ff8fe5a850eb2f23845c499aa5ede26deb3d5ad28",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10_openj9-0.15.1/OpenJDK8U-jre_x64_linux_openj9_8u222b10_openj9-0.15.1.tar.gz",
-            "version": "8.0.222"
+            "build": "9",
+            "sha256": "30bdfdb38901d4807d96a72a33b83f7a4f40255e11a88853c1e8732acc4644a7",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09_openj9-0.17.0/OpenJDK8U-jre_x64_linux_openj9_8u232b09_openj9-0.17.0.tar.gz",
+            "version": "8.0.232"
           }
         }
       }
@@ -182,20 +182,20 @@
           "packageType": "jdk",
           "vmType": "hotspot",
           "x86_64": {
-            "build": "10",
-            "sha256": "9605fd00d2960934422437f601c7a9a1c5537309b9199d5bc75f84f20cd29a76",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jdk_x64_mac_hotspot_8u222b10.tar.gz",
-            "version": "8.0.222"
+            "build": "9",
+            "sha256": "c237b2c2c32c893e4ee60cdac8c4bcc34ca731a5445986c03b95cf79918e40c3",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jdk_x64_mac_hotspot_8u232b09.tar.gz",
+            "version": "8.0.232"
           }
         },
         "openj9": {
           "packageType": "jdk",
           "vmType": "openj9",
           "x86_64": {
-            "build": "10",
-            "sha256": "df185e167756332163633a826b329db067f8a721f7d5d27f0b353a35fc415de0",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10_openj9-0.15.1/OpenJDK8U-jdk_x64_mac_openj9_8u222b10_openj9-0.15.1.tar.gz",
-            "version": "8.0.222"
+            "build": "9",
+            "sha256": "168079dcc20f62ac4409800c78d23a63ba7c665e58cd7ac8bde21ebbbb2b6d48",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09.1_openj9-0.17.0/OpenJDK8U-jdk_x64_mac_openj9_8u232b09_openj9-0.17.0.tar.gz",
+            "version": "8.0.232"
           }
         }
       },
@@ -204,20 +204,20 @@
           "packageType": "jre",
           "vmType": "hotspot",
           "x86_64": {
-            "build": "10",
-            "sha256": "b3ac2436534cea932ccf665b317dbf5ffc0ee065efca808b22b6c2d795ca1b90",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jre_x64_mac_hotspot_8u222b10.tar.gz",
-            "version": "8.0.222"
+            "build": "9",
+            "sha256": "5ec5f11dbc81ab65641b765e1ef2f924736c0d1cc797cb95b078598d9d863afd",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09/OpenJDK8U-jre_x64_mac_hotspot_8u232b09.tar.gz",
+            "version": "8.0.232"
           }
         },
         "openj9": {
           "packageType": "jre",
           "vmType": "openj9",
           "x86_64": {
-            "build": "10",
-            "sha256": "d5754413d7bc3a3233aaa7f8465451fbdabaf2a0c2a91743155bf135a3047ec8",
-            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10_openj9-0.15.1/OpenJDK8U-jre_x64_mac_openj9_8u222b10_openj9-0.15.1.tar.gz",
-            "version": "8.0.222"
+            "build": "9",
+            "sha256": "60b70aa16c8ca38b96c305003f3d9871897555d0b4039b8e1f8db9ceeab16d53",
+            "url": "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09.1_openj9-0.17.0/OpenJDK8U-jre_x64_mac_openj9_8u232b09_openj9-0.17.0.tar.gz",
+            "version": "8.0.232"
           }
         }
       }
diff --git a/pkgs/development/compilers/carp/default.nix b/pkgs/development/compilers/carp/default.nix
index 235ec4090391..e02880b314eb 100644
--- a/pkgs/development/compilers/carp/default.nix
+++ b/pkgs/development/compilers/carp/default.nix
@@ -1,21 +1,22 @@
 { stdenv, fetchFromGitHub, makeWrapper, clang, haskellPackages }:
 
-haskellPackages.mkDerivation {
+haskellPackages.mkDerivation rec {
 
   pname = "carp";
-  version = "unstable-2018-09-15";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "carp-lang";
     repo = "Carp";
-    rev = "cf9286c35cab1c170aa819f7b30b5871b9e812e6";
-    sha256 = "1k6kdxbbaclhi40b9p3fgbkc1x6pc4v0029xjm6gny6pcdci2cli";
+    rev = "v${version}";
+    sha256 = "07yk3gy4l6h3k7sh8al7lgwk75a13zxwfp7siqpb5gnnqr1z3brc";
   };
 
   buildDepends = [ makeWrapper ];
 
   executableHaskellDepends = with haskellPackages; [
-    HUnit blaze-markup blaze-html split cmdargs
+    HUnit blaze-markup blaze-html split cmdargs ansi-terminal cmark
+    edit-distance
   ];
 
   isExecutable = true;
diff --git a/pkgs/development/compilers/chicken/4/eggDerivation.nix b/pkgs/development/compilers/chicken/4/eggDerivation.nix
index 4dc7ebe66717..16f9c413d4c5 100644
--- a/pkgs/development/compilers/chicken/4/eggDerivation.nix
+++ b/pkgs/development/compilers/chicken/4/eggDerivation.nix
@@ -8,7 +8,7 @@
 let
   libPath = "${chicken}/var/lib/chicken/${toString chicken.binaryVersion}/";
   overrides = import ./overrides.nix;
-  baseName = (builtins.parseDrvName name).name;
+  baseName = lib.getName name;
   override = if builtins.hasAttr baseName overrides
    then
      builtins.getAttr baseName overrides
diff --git a/pkgs/development/compilers/factor-lang/default.nix b/pkgs/development/compilers/factor-lang/default.nix
index ef445faec923..314a2d0fc525 100644
--- a/pkgs/development/compilers/factor-lang/default.nix
+++ b/pkgs/development/compilers/factor-lang/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   rev = "7999e72aecc3c5bc4019d43dc4697f49678cc3b4";
 
   src = fetchurl {
-    url = http://downloads.factorcode.org/releases/0.98/factor-src-0.98.zip;
+    url = https://downloads.factorcode.org/releases/0.98/factor-src-0.98.zip;
     sha256 = "01ip9mbnar4sv60d2wcwfz62qaamdvbykxw3gbhzqa25z36vi3ri";
   };
 
@@ -94,7 +94,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://factorcode.org;
+    homepage = https://factorcode.org;
     license = licenses.bsd2;
     description = "A concatenative, stack-based programming language";
 
diff --git a/pkgs/development/compilers/fasm/bin.nix b/pkgs/development/compilers/fasm/bin.nix
index 5353862424a0..14610af10ae5 100644
--- a/pkgs/development/compilers/fasm/bin.nix
+++ b/pkgs/development/compilers/fasm/bin.nix
@@ -3,11 +3,11 @@
 stdenvNoCC.mkDerivation rec {
   pname = "fasm-bin";
 
-  version = "1.73.16";
+  version = "1.73.18";
 
   src = fetchurl {
     url = "https://flatassembler.net/fasm-${version}.tgz";
-    sha256 = "1jaqm7w458ny37fsw3fln17kw31rcsk8kyadci45qcbw6jspmn7k";
+    sha256 = "0m88vi8ac9mlak430nyrg3nxsj0fzy3yli8kk0mqsw8rqw2pfvqb";
   };
 
   installPhase = ''
diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix
index c047d9e50ee1..ae96d5a1ef90 100644
--- a/pkgs/development/compilers/gcc/4.8/default.nix
+++ b/pkgs/development/compilers/gcc/4.8/default.nix
@@ -102,8 +102,8 @@ let majorVersion = "4";
 
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
-    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
+    stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
+    crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
 
 in
 
@@ -111,7 +111,8 @@ in
 assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
 
 stdenv.mkDerivation ({
-  name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix
index 78027bcdac45..5194f607f3b6 100644
--- a/pkgs/development/compilers/gcc/4.9/default.nix
+++ b/pkgs/development/compilers/gcc/4.9/default.nix
@@ -107,8 +107,8 @@ let majorVersion = "4";
 
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
-    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
+    stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
+    crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
 
 in
 
@@ -116,7 +116,8 @@ in
 assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
 
 stdenv.mkDerivation ({
-  name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix
index a6aab5c26d43..cddfd58aa53b 100644
--- a/pkgs/development/compilers/gcc/5/default.nix
+++ b/pkgs/development/compilers/gcc/5/default.nix
@@ -98,8 +98,8 @@ let majorVersion = "5";
 
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
-    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
+    stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
+    crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
 
 in
 
@@ -107,7 +107,8 @@ in
 assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
 
 stdenv.mkDerivation ({
-  name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix
index 4ec24dbe88e7..3ac4fa7032a7 100644
--- a/pkgs/development/compilers/gcc/6/default.nix
+++ b/pkgs/development/compilers/gcc/6/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, targetPackages, fetchurl, fetchpatch, noSysDirs
+{ stdenv, targetPackages, fetchurl, fetchpatch, fetchFromGitHub, noSysDirs
 , langC ? true, langCC ? true, langFortran ? false
 , langObjC ? stdenv.targetPlatform.isDarwin
 , langObjCpp ? stdenv.targetPlatform.isDarwin
@@ -9,6 +9,7 @@
 , enableShared ? true
 , enableLTO ? true
 , texinfo ? null
+, flex
 , perl ? null # optional, for texi2pod (then pod2man); required for Java
 , gmp, mpfr, libmpc, gettext, which
 , libelf                      # optional, for link-time optimizations (LTO)
@@ -94,8 +95,8 @@ let majorVersion = "6";
 
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
-    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
+    stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
+    crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
 
 in
 
@@ -103,11 +104,17 @@ in
 assert x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == [];
 
 stdenv.mkDerivation ({
-  name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
-  src = fetchurl {
+  src = if stdenv.targetPlatform.isVc4 then fetchFromGitHub {
+    owner = "itszor";
+    repo = "gcc-vc4";
+    rev = "e90ff43f9671c760cf0d1dd62f569a0fb9bf8918";
+    sha256 = "0gxf66hwqk26h8f853sybphqa5ca0cva2kmrw5jsiv6139g0qnp8";
+  } else fetchurl {
     url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.xz";
     sha256 = "0i89fksfp6wr1xg9l8296aslcymv2idn60ip31wr9s4pwin7kwby";
   };
@@ -172,7 +179,8 @@ stdenv.mkDerivation ({
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ texinfo which gettext ]
     ++ (optional (perl != null) perl)
-    ++ (optional javaAwtGtk pkgconfig);
+    ++ (optional javaAwtGtk pkgconfig)
+    ++ (optional (stdenv.targetPlatform.isVc4) flex);
 
   # For building runtime libs
   depsBuildTarget =
diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix
index aa46a5263898..3362cfe7a081 100644
--- a/pkgs/development/compilers/gcc/7/default.nix
+++ b/pkgs/development/compilers/gcc/7/default.nix
@@ -72,13 +72,14 @@ let majorVersion = "7";
 
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
-    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
+    stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
+    crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
 
 in
 
 stdenv.mkDerivation ({
-  name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
diff --git a/pkgs/development/compilers/gcc/8/default.nix b/pkgs/development/compilers/gcc/8/default.nix
index 0874d4d085ad..c9302cc4f740 100644
--- a/pkgs/development/compilers/gcc/8/default.nix
+++ b/pkgs/development/compilers/gcc/8/default.nix
@@ -64,13 +64,14 @@ let majorVersion = "8";
 
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
-    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
+    stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
+    crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
 
 in
 
 stdenv.mkDerivation ({
-  name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
diff --git a/pkgs/development/compilers/gcc/9/default.nix b/pkgs/development/compilers/gcc/9/default.nix
index f16dcb59b469..9698f4db2861 100644
--- a/pkgs/development/compilers/gcc/9/default.nix
+++ b/pkgs/development/compilers/gcc/9/default.nix
@@ -63,13 +63,14 @@ let majorVersion = "9";
 
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
-    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
+    stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
+    crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
 
 in
 
 stdenv.mkDerivation ({
-  name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
diff --git a/pkgs/development/compilers/gcc/snapshot/default.nix b/pkgs/development/compilers/gcc/snapshot/default.nix
index 5344b6591696..0441296ef179 100644
--- a/pkgs/development/compilers/gcc/snapshot/default.nix
+++ b/pkgs/development/compilers/gcc/snapshot/default.nix
@@ -60,13 +60,14 @@ let majorVersion = "7";
 
     /* Cross-gcc settings (build == host != target) */
     crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
-    stageNameAddon = if crossStageStatic then "-stage-static" else "-stage-final";
-    crossNameAddon = if targetPlatform != hostPlatform then "-${targetPlatform.config}" + stageNameAddon else "";
+    stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
+    crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
 
 in
 
 stdenv.mkDerivation ({
-  name = crossNameAddon + "${name}${if stripped then "" else "-debug"}-${version}";
+  pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
+  inherit version;
 
   builder = ../builder.sh;
 
diff --git a/pkgs/development/compilers/gerbil/unstable.nix b/pkgs/development/compilers/gerbil/unstable.nix
index a9618a7e0667..5f0347aa9a66 100644
--- a/pkgs/development/compilers/gerbil/unstable.nix
+++ b/pkgs/development/compilers/gerbil/unstable.nix
@@ -1,14 +1,15 @@
-{ stdenv, callPackage, fetchFromGitHub, gambit-unstable }:
+{ stdenv, callPackage, fetchFromGitHub, gambit, gambit-unstable }:
 
 callPackage ./build.nix {
-  version = "unstable-2019-08-11";
-  git-version = "0.16-DEV-132-gcb58f9a3";
-  gambit = gambit-unstable;
+  version = "unstable-2019-11-15";
+  git-version = "0.15.1-461-gee22de62";
+  #gambit = gambit-unstable;
+  gambit = gambit;
   src = fetchFromGitHub {
     owner = "vyzo";
     repo = "gerbil";
-    rev = "cb58f9a30630a6f3e85a55f2c1dcc654f517ffed";
-    sha256 = "18jh64v1gi6z3pks9zf19f2wcjpv21cs270dnaq617kgwp53vysh";
+    rev = "ee22de628a656ee59c6c72bc25d7b2e25a4ece2f";
+    sha256 = "1n1j596b91k9xcmv22l72nga6wv20bka2q51ik2jw2vkcw8zkc1c";
   };
   inherit stdenv;
 }
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index 565c545e48c3..0e73f81fbabd 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -2,11 +2,14 @@
 
 # build-tools
 , bootPkgs
-, autoconf, automake, coreutils, fetchgit, fetchpatch, perl, python3, m4, sphinx
+, autoconf, autoreconfHook, automake, coreutils, fetchgit, fetchpatch, perl, python3, m4, sphinx
 , bash
 
 , libiconv ? null, ncurses
 
+, enableDwarf ? !stdenv.targetPlatform.isDarwin &&
+                !stdenv.targetPlatform.isWindows, elfutils # for DWARF support
+
 , useLLVM ? !stdenv.targetPlatform.isx86
 , # LLVM is conceptually a run-time-only depedendency, but for
   # non-x86, we need LLVM to bootstrap later stages, so it becomes a
@@ -27,7 +30,7 @@
 , # Whetherto build terminfo.
   enableTerminfo ? !stdenv.targetPlatform.isWindows
 
-, version ? "8.9.20190924"
+, version ? "8.10.20191119"
 , # What flavour to build. An empty string indicates no
   # specific flavour and falls back to ghc default values.
   ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
@@ -73,7 +76,8 @@ let
   # Splicer will pull out correct variations
   libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
     ++ stdenv.lib.optional (!enableIntegerSimple) gmp
-    ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
+    ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv
+    ++ stdenv.lib.optional enableDwarf elfutils;
 
   toolsForTarget = [
     pkgsBuildTarget.targetPackages.stdenv.cc
@@ -89,8 +93,8 @@ stdenv.mkDerivation (rec {
 
   src = fetchgit {
     url = "https://gitlab.haskell.org/ghc/ghc.git/";
-    rev = "795986aaf33e2ffc233836b86a92a77366c91db2";
-    sha256 = "0a111x6c53r07q5qdg6c8mnydqp0wh4mpxmw7ga4x5wlap8i0bji";
+    rev = "0418c38d55c7a47967187dce2db5ea2ab1021b1e";
+    sha256 = "1d8g30ii0w4xh6fh61bxbalsqqyanny99nn3p727fx7favnhgvxi";
   };
 
   enableParallelBuilding = true;
@@ -98,13 +102,6 @@ stdenv.mkDerivation (rec {
   outputs = [ "out" "doc" ];
 
   patches = [
-    (fetchpatch { # https://github.com/haskell/haddock/issues/900
-     url = "https://patch-diff.githubusercontent.com/raw/haskell/haddock/pull/983.diff";
-     name = "loadpluginsinmodules.diff";
-     sha256 = "0bvvv0zsfq2581zsir97zfkggc1kkircbbajc2fz3b169ycpbha1";
-     extraPrefix = "utils/haddock/";
-     stripLen = 1;
-   })
   ];
 
   postPatch = "patchShebangs .";
@@ -176,13 +173,17 @@ stdenv.mkDerivation (rec {
     "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
   ] ++ stdenv.lib.optionals (disableLargeAddressSpace) [
     "--disable-large-address-space"
+  ] ++ stdenv.lib.optional enableDwarf [
+    "--enable-dwarf-unwind"
+    "--with-libdw-includes=${stdenv.lib.getDev elfutils}/include"
+    "--with-libdw-libraries=${stdenv.lib.getLib elfutils}/lib"
   ];
 
   # Make sure we never relax`$PATH` and hooks support for compatability.
   strictDeps = true;
 
   nativeBuildInputs = [
-    perl autoconf automake m4 python3 sphinx
+    perl autoconf autoreconfHook automake m4 python3 sphinx
     ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
   ];
 
diff --git a/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix b/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix
index 56b69ea267f9..943866d5f24e 100644
--- a/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix
+++ b/pkgs/development/compilers/ghcjs-ng/configured-ghcjs-src.nix
@@ -16,7 +16,7 @@
 }:
 
 runCommand "configured-ghcjs-src" {
-  buildInputs = [
+  nativeBuildInputs = [
     perl
     autoconf
     automake
diff --git a/pkgs/development/compilers/go-jsonnet/default.nix b/pkgs/development/compilers/go-jsonnet/default.nix
index e051d41993cc..949190903673 100644
--- a/pkgs/development/compilers/go-jsonnet/default.nix
+++ b/pkgs/development/compilers/go-jsonnet/default.nix
@@ -1,33 +1,24 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "go-jsonnet";
-  version = "0.13.0";
-
-  goPackagePath = "github.com/google/go-jsonnet";
-
-  # regenerate deps.nix using following steps:
-  #
-  # go get -u github.com/google/go-jsonnet
-  # cd $GOPATH/src/github.com/google/go-jsonnet
-  # git checkout <version>
-  # dep init
-  # dep2nix
-  goDeps = ./deps.nix;
+  version = "0.14.0";
 
   src = fetchFromGitHub {
-    rev = "v${version}";
     owner = "google";
     repo = "go-jsonnet";
-    sha256 = "0x95sqhrw4pscxq0q8781wix0w881k9my5kn5nf6k0fg1d6qlgiy";
-    fetchSubmodules = true;
+    rev = "v${version}";
+    sha256 = "1q0mpydh8h0zrml605q9r259y8584kbwcr9g4sqcb1n13b4d1sgp";
   };
 
-  meta = {
+  modSha256 = "1b6hz5a66hhlzpcv1badxr1b4nmk4lw0507d5jks7lqzvvwd0sxq";
+
+  subPackages = [ "cmd/jsonnet" ];
+
+  meta = with lib; {
     description = "An implementation of Jsonnet in pure Go";
-    maintainers = with lib.maintainers; [ nshalman ];
-    license = lib.licenses.asl20;
-    homepage = https://github.com/google/go-jsonnet;
-    platforms = lib.platforms.unix;
+    homepage = "https://github.com/google/go-jsonnet";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ nshalman ];
   };
 }
diff --git a/pkgs/development/compilers/go-jsonnet/deps.nix b/pkgs/development/compilers/go-jsonnet/deps.nix
deleted file mode 100644
index 1f413a16d81d..000000000000
--- a/pkgs/development/compilers/go-jsonnet/deps.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
-[
-  {
-    goPackagePath  = "github.com/fatih/color";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fatih/color";
-      rev =  "5b77d2a35fb0ede96d138fc9a99f5c9b6aef11b4";
-      sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv";
-    };
-  }
-  {
-    goPackagePath  = "github.com/mattn/go-colorable";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-colorable";
-      rev =  "167de6bfdfba052fa6b2d3664c8f5272e23c9072";
-      sha256 = "1nwjmsppsjicr7anq8na6md7b1z84l9ppnlr045hhxjvbkqwalvx";
-    };
-  }
-  {
-    goPackagePath  = "github.com/mattn/go-isatty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-isatty";
-      rev =  "1311e847b0cb909da63b5fecfb5370aa66236465";
-      sha256 = "0rqfh1rj6f5wm8p2ky7inm8g10152p7w6n2cli17kf9gad797i8h";
-    };
-  }
-  {
-    goPackagePath  = "github.com/sergi/go-diff";
-    fetch = {
-      type = "git";
-      url = "https://github.com/sergi/go-diff";
-      rev =  "1744e2970ca51c86172c8190fadad617561ed6e7";
-      sha256 = "0swiazj8wphs2zmk1qgq75xza6m19snif94h2m6fi8dqkwqdl7c7";
-    };
-  }
-  {
-    goPackagePath  = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev =  "4c4f7f33c9ed00de01c4c741d2177abfcfe19307";
-      sha256 = "191001bxqyc3xfs46nnqmm7jdk0r73vk7a4zqngfl7zwjv9smwsq";
-    };
-  }
-]
\ No newline at end of file
diff --git a/pkgs/development/compilers/intel-graphics-compiler/default.nix b/pkgs/development/compilers/intel-graphics-compiler/default.nix
index 183e1f2a0850..a365761b014f 100644
--- a/pkgs/development/compilers/intel-graphics-compiler/default.nix
+++ b/pkgs/development/compilers/intel-graphics-compiler/default.nix
@@ -24,13 +24,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "intel-graphics-compiler";
-  version = "1.0.2714.1";
+  version = "1.0.2878";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "intel-graphics-compiler";
     rev = "igc-${version}";
-    sha256 = "0ys03sv08fg8q06lb6k5088xirnwms4nzazxp3kbdjm973n7imxc";
+    sha256 = "0rgij1013fy2x2szfchy3z6390mjfqw3nz4zprcb5v2v6mpvcj4l";
   };
 
   nativeBuildInputs = [ clang cmake bison flex llvm python ];
diff --git a/pkgs/development/compilers/kotlin/default.nix b/pkgs/development/compilers/kotlin/default.nix
index 12a75eb8f143..a6384c449c8f 100644
--- a/pkgs/development/compilers/kotlin/default.nix
+++ b/pkgs/development/compilers/kotlin/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, makeWrapper, jre, unzip }:
 
 let
-  version = "1.3.50";
+  version = "1.3.60";
 in stdenv.mkDerivation {
   inherit version;
   pname = "kotlin";
 
   src = fetchurl {
     url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip";
-    sha256 = "1v66pnk810agf26khwdv7l8jpc11x6na5fyqxs9jvxdpls8l0hk9";
+    sha256 = "1frgnirrl795m8xydngrbn73np5gwgs7wymr9j81d0gz4gzpry8j";
   };
 
   propagatedBuildInputs = [ jre ] ;
diff --git a/pkgs/development/compilers/llvm/4/clang/default.nix b/pkgs/development/compilers/llvm/4/clang/default.nix
index f50da39a6249..6b67e2cc8561 100644
--- a/pkgs/development/compilers/llvm/4/clang/default.nix
+++ b/pkgs/development/compilers/llvm/4/clang/default.nix
@@ -6,7 +6,8 @@
 let
   gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
   self = stdenv.mkDerivation ({
-    name = "clang-${version}";
+    pname = "clang";
+    inherit version;
 
     src = fetch "cfe" "16vnv3msnvx33dydd17k2cq0icndi1a06bg5vcxkrhjjb1rqlwv1";
 
@@ -91,7 +92,7 @@ let
       platforms   = stdenv.lib.platforms.all;
     };
   } // stdenv.lib.optionalAttrs enableManpages {
-    name = "clang-manpages-${version}";
+    pname = "clang-manpages";
 
     buildPhase = ''
       make docs-clang-man
diff --git a/pkgs/development/compilers/llvm/4/llvm.nix b/pkgs/development/compilers/llvm/4/llvm.nix
index ac5dcbe6b942..5b5939e094d6 100644
--- a/pkgs/development/compilers/llvm/4/llvm.nix
+++ b/pkgs/development/compilers/llvm/4/llvm.nix
@@ -24,7 +24,8 @@ let
 in
 
 stdenv.mkDerivation ({
-  name = "llvm-${version}";
+  pname = "llvm";
+  inherit version;
 
   src = fetch "llvm" "0l9bf7kdwhlj0kq1hawpyxhna1062z3h7qcz2y8nfl9dz2qksy6s";
 
@@ -166,7 +167,7 @@ stdenv.mkDerivation ({
     platforms   = stdenv.lib.platforms.all;
   };
 } // stdenv.lib.optionalAttrs enableManpages {
-  name = "llvm-manpages-${version}";
+  pname = "llvm-manpages";
 
   buildPhase = ''
     make docs-llvm-man
diff --git a/pkgs/development/compilers/llvm/5/clang/default.nix b/pkgs/development/compilers/llvm/5/clang/default.nix
index 7a3b151f8358..6695609b8ecd 100644
--- a/pkgs/development/compilers/llvm/5/clang/default.nix
+++ b/pkgs/development/compilers/llvm/5/clang/default.nix
@@ -6,7 +6,8 @@
 let
   gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
   self = stdenv.mkDerivation ({
-    name = "clang-${version}";
+    pname = "clang";
+    inherit version;
 
     src = fetch "cfe" "0018520c4qxf5hgjdqgpz2dgl3faf4gsz87fdlb8zdmx99rfk77s";
 
@@ -87,7 +88,7 @@ let
       platforms   = stdenv.lib.platforms.all;
     };
   } // stdenv.lib.optionalAttrs enableManpages {
-    name = "clang-manpages-${version}";
+    pname = "clang-manpages";
 
     buildPhase = ''
       make docs-clang-man
diff --git a/pkgs/development/compilers/llvm/5/llvm.nix b/pkgs/development/compilers/llvm/5/llvm.nix
index 2fe7df7695b8..97d0e0d5d845 100644
--- a/pkgs/development/compilers/llvm/5/llvm.nix
+++ b/pkgs/development/compilers/llvm/5/llvm.nix
@@ -23,7 +23,8 @@ let
 in
 
 stdenv.mkDerivation ({
-  name = "llvm-${version}";
+  pname = "llvm";
+  inherit version;
 
   src = fetch "llvm" "0g1bbj2n6xv4p1n6hh17vj3vpvg56wacipc81dgwga9mg2lys8nm";
 
@@ -149,7 +150,7 @@ stdenv.mkDerivation ({
     platforms   = stdenv.lib.platforms.all;
   };
 } // stdenv.lib.optionalAttrs enableManpages {
-  name = "llvm-manpages-${version}";
+  pname = "llvm-manpages";
 
   buildPhase = ''
     make docs-llvm-man
diff --git a/pkgs/development/compilers/llvm/6/clang/default.nix b/pkgs/development/compilers/llvm/6/clang/default.nix
index ff9064f455ec..d093379b3c99 100644
--- a/pkgs/development/compilers/llvm/6/clang/default.nix
+++ b/pkgs/development/compilers/llvm/6/clang/default.nix
@@ -6,7 +6,8 @@
 let
   gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
   self = stdenv.mkDerivation ({
-    name = "clang-${version}";
+    pname = "clang";
+    inherit version;
 
     src = fetch "cfe" "0rxn4rh7rrnsqbdgp4gzc8ishbkryhpl1kd3mpnxzpxxhla3y93w";
 
@@ -87,7 +88,7 @@ let
       platforms   = stdenv.lib.platforms.all;
     };
   } // stdenv.lib.optionalAttrs enableManpages {
-    name = "clang-manpages-${version}";
+    pname = "clang-manpages";
 
     buildPhase = ''
       make docs-clang-man
diff --git a/pkgs/development/compilers/llvm/6/llvm.nix b/pkgs/development/compilers/llvm/6/llvm.nix
index a250c9fefac7..c6d2c09c2df6 100644
--- a/pkgs/development/compilers/llvm/6/llvm.nix
+++ b/pkgs/development/compilers/llvm/6/llvm.nix
@@ -26,7 +26,8 @@ let
 in
 
 stdenv.mkDerivation ({
-  name = "llvm-${version}";
+  pname = "llvm";
+  inherit version;
 
   src = fetch "llvm" "1qpls3vk85lydi5b4axl0809fv932qgsqgdgrk098567z4jc7mmn";
 
@@ -154,7 +155,7 @@ stdenv.mkDerivation ({
     platforms   = stdenv.lib.platforms.all;
   };
 } // stdenv.lib.optionalAttrs enableManpages {
-  name = "llvm-manpages-${version}";
+  pname = "llvm-manpages";
 
   buildPhase = ''
     make docs-llvm-man
diff --git a/pkgs/development/compilers/llvm/7/clang/default.nix b/pkgs/development/compilers/llvm/7/clang/default.nix
index e49c8387f7ef..5ac9a7a2672a 100644
--- a/pkgs/development/compilers/llvm/7/clang/default.nix
+++ b/pkgs/development/compilers/llvm/7/clang/default.nix
@@ -6,7 +6,8 @@
 
 let
   self = stdenv.mkDerivation ({
-    name = "clang-${version}";
+    pname = "clang";
+    inherit version;
 
     src = fetch "cfe" "0vc4i87qwxnw9lci4ayws9spakg0z6w5w670snj9f8g5m9rc8zg9";
 
@@ -93,7 +94,7 @@ let
       platforms   = stdenv.lib.platforms.all;
     };
   } // stdenv.lib.optionalAttrs enableManpages {
-    name = "clang-manpages-${version}";
+    pname = "clang-manpages";
 
     buildPhase = ''
       make docs-clang-man
diff --git a/pkgs/development/compilers/llvm/7/compiler-rt.nix b/pkgs/development/compilers/llvm/7/compiler-rt.nix
index 5d7266f39ecd..a7d4bcb86962 100644
--- a/pkgs/development/compilers/llvm/7/compiler-rt.nix
+++ b/pkgs/development/compilers/llvm/7/compiler-rt.nix
@@ -7,6 +7,10 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ cmake python llvm ];
   buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
+  NIX_CFLAGS_COMPILE = [
+    "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
+  ];
+
   cmakeFlags = stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false || stdenv.isDarwin) [
     "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
     "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
diff --git a/pkgs/development/compilers/llvm/7/llvm.nix b/pkgs/development/compilers/llvm/7/llvm.nix
index 3e966f1ea44b..c56bbfd0eab9 100644
--- a/pkgs/development/compilers/llvm/7/llvm.nix
+++ b/pkgs/development/compilers/llvm/7/llvm.nix
@@ -30,7 +30,8 @@ let
     imap (i: _: concatStringsSep "." (take i parts)) parts;
 
 in stdenv.mkDerivation ({
-  name = "llvm-${version}";
+  pname = "llvm";
+  inherit version;
 
   src = fetch "llvm" "0r1p5didv4rkgxyvbkyz671xddg6i3dxvbpsi1xxipkla0l9pk0v";
   polly_src = fetch "polly" "16qkns4ab4x0azrvhy4j7cncbyb2rrbdrqj87zphvqxm5pvm8m1h";
@@ -175,7 +176,7 @@ in stdenv.mkDerivation ({
     platforms   = stdenv.lib.platforms.all;
   };
 } // stdenv.lib.optionalAttrs enableManpages {
-  name = "llvm-manpages-${version}";
+  pname = "llvm-manpages";
 
   buildPhase = ''
     make docs-llvm-man
diff --git a/pkgs/development/compilers/llvm/8/clang/default.nix b/pkgs/development/compilers/llvm/8/clang/default.nix
index 6911089250e8..8c540e45b286 100644
--- a/pkgs/development/compilers/llvm/8/clang/default.nix
+++ b/pkgs/development/compilers/llvm/8/clang/default.nix
@@ -6,7 +6,8 @@
 
 let
   self = stdenv.mkDerivation ({
-    name = "clang-${version}";
+    pname = "clang";
+    inherit version;
 
     src = fetch "cfe" "0ihnbdl058gvl2wdy45p5am55bq8ifx8m9mhcsgj9ax8yxlzvvvh";
 
@@ -105,7 +106,7 @@ let
       platforms   = stdenv.lib.platforms.all;
     };
   } // stdenv.lib.optionalAttrs enableManpages {
-    name = "clang-manpages-${version}";
+    pname = "clang-manpages";
 
     buildPhase = ''
       make docs-clang-man
diff --git a/pkgs/development/compilers/llvm/8/compiler-rt.nix b/pkgs/development/compilers/llvm/8/compiler-rt.nix
index 88788852862f..344ff7256755 100644
--- a/pkgs/development/compilers/llvm/8/compiler-rt.nix
+++ b/pkgs/development/compilers/llvm/8/compiler-rt.nix
@@ -7,6 +7,10 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ cmake python llvm ];
   buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
+  NIX_CFLAGS_COMPILE = [
+    "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
+  ];
+
   cmakeFlags = stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false) [
     "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
     "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
diff --git a/pkgs/development/compilers/llvm/8/llvm.nix b/pkgs/development/compilers/llvm/8/llvm.nix
index 160e2a723666..b556a638f1f6 100644
--- a/pkgs/development/compilers/llvm/8/llvm.nix
+++ b/pkgs/development/compilers/llvm/8/llvm.nix
@@ -28,7 +28,8 @@ let
     concatStringsSep "." (take 1 (splitVersion release_version));
 
 in stdenv.mkDerivation ({
-  name = "llvm-${version}";
+  pname = "llvm";
+  inherit version;
 
   src = fetch "llvm" "1rvm5gqp5v8hfn17kqws3zhk94w4kxndal12bqa0y57p09nply24";
   polly_src = fetch "polly" "1lfjdz3ilj5xmjxvicd8f5ykybks67ry2pdb777352r3mzlgg8g8";
@@ -150,7 +151,7 @@ in stdenv.mkDerivation ({
     platforms   = stdenv.lib.platforms.all;
   };
 } // stdenv.lib.optionalAttrs enableManpages {
-  name = "llvm-manpages-${version}";
+  pname = "llvm-manpages";
 
   buildPhase = ''
     make docs-llvm-man
diff --git a/pkgs/development/compilers/llvm/9/compiler-rt.nix b/pkgs/development/compilers/llvm/9/compiler-rt.nix
index 9a333ad7c115..5826f0fbb35e 100644
--- a/pkgs/development/compilers/llvm/9/compiler-rt.nix
+++ b/pkgs/development/compilers/llvm/9/compiler-rt.nix
@@ -7,6 +7,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake python llvm ];
   buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
 
+  NIX_CFLAGS_COMPILE = [
+    "-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
+  ];
+
   cmakeFlags = stdenv.lib.optionals (stdenv.hostPlatform.useLLVM or false) [
     "-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
     "-DCMAKE_C_COMPILER_TARGET=${stdenv.hostPlatform.config}"
diff --git a/pkgs/development/compilers/mruby/default.nix b/pkgs/development/compilers/mruby/default.nix
index 03f3d56fd93d..e4c756e9c7d3 100644
--- a/pkgs/development/compilers/mruby/default.nix
+++ b/pkgs/development/compilers/mruby/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mruby";
-  version = "2.0.1";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner   = "mruby";
     repo    = "mruby";
     rev     = version;
-    sha256  = "1zm2d5kj9fnfx8ifj8ysrrr838ipwmvz35byzjhprakrg64911p9";
+    sha256  = "1y072c7dh9jf8xwy7kia6cb4dkpspq4zf24ssn7zm5f46p4waxni";
   };
 
   nativeBuildInputs = [ ruby bison ];
diff --git a/pkgs/development/compilers/nim/default.nix b/pkgs/development/compilers/nim/default.nix
index 48808bf356b9..dee0b351a609 100644
--- a/pkgs/development/compilers/nim/default.nix
+++ b/pkgs/development/compilers/nim/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nim";
-  version = "1.0.2";
+  version = "1.0.4";
 
   src = fetchurl {
     url = "https://nim-lang.org/download/${pname}-${version}.tar.xz";
-    sha256 = "1rjinrs119c8i6wzz5fzjfml7n7kbd5hb9642g4rr8qxkq4sx83k";
+    sha256 = "1q5fx9g40bk4ajghi856w5l34fmrl7avq5j6p0dr2xa4l52ib149";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/ocaml/generic.nix b/pkgs/development/compilers/ocaml/generic.nix
index 9557d0a79aeb..d39c0d86fd57 100644
--- a/pkgs/development/compilers/ocaml/generic.nix
+++ b/pkgs/development/compilers/ocaml/generic.nix
@@ -12,16 +12,18 @@ in
 
 { stdenv, fetchurl, ncurses, buildEnv
 , libX11, xorgproto, useX11 ? safeX11 stdenv
+, aflSupport ? false
 , flambdaSupport ? false
 }:
 
 assert useX11 -> !stdenv.isAarch32 && !stdenv.isMips;
+assert aflSupport -> stdenv.lib.versionAtLeast version "4.05";
 assert flambdaSupport -> stdenv.lib.versionAtLeast version "4.03";
 
 let
    useNativeCompilers = !stdenv.isMips;
    inherit (stdenv.lib) optional optionals optionalString;
-   name = "ocaml${optionalString flambdaSupport "+flambda"}-${version}";
+   name = "ocaml${optionalString aflSupport "+afl"}${optionalString flambdaSupport "+flambda"}-${version}";
 in
 
 let
@@ -41,11 +43,16 @@ stdenv.mkDerivation (args // {
   };
 
   prefixKey = "-prefix ";
-  configureFlags = optionals useX11 (
-    if stdenv.lib.versionAtLeast version "4.08"
-    then [ "--x-libraries=${x11lib}" "--x-includes=${x11inc}"]
-    else [ "-x11lib" x11lib "-x11include" x11inc ])
-  ++ optional flambdaSupport "-flambda"
+  configureFlags =
+    let flags = new: old:
+      if stdenv.lib.versionAtLeast version "4.08"
+      then new else old
+    ; in
+    optionals useX11 (flags
+      [ "--x-libraries=${x11lib}" "--x-includes=${x11inc}"]
+      [ "-x11lib" x11lib "-x11include" x11inc ])
+  ++ optional aflSupport (flags "--with-afl" "-afl-instrument")
+  ++ optional flambdaSupport (flags "--enable-flambda" "-flambda")
   ;
 
   buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt";
diff --git a/pkgs/development/compilers/openjdk/8.nix b/pkgs/development/compilers/openjdk/8.nix
index ff3d03321e21..4debf10c0cb4 100644
--- a/pkgs/development/compilers/openjdk/8.nix
+++ b/pkgs/development/compilers/openjdk/8.nix
@@ -193,6 +193,11 @@ let
       mkdir $out/lib/openjdk/jre
       lndir $jre/lib/openjdk/jre $out/lib/openjdk/jre
 
+      # Make sure cmm/*.pf are not symlinks:
+      # https://youtrack.jetbrains.com/issue/IDEA-147272
+      rm -rf $out/lib/openjdk/jre/lib/cmm
+      ln -s {$jre,$out}/lib/openjdk/jre/lib/cmm
+
       # Setup fallback fonts
       ${lib.optionalString (!headless) ''
         mkdir -p $jre/lib/openjdk/jre/lib/fonts
diff --git a/pkgs/development/compilers/ponyc/default.nix b/pkgs/development/compilers/ponyc/default.nix
index f20a32acedde..33a3a1216dd2 100644
--- a/pkgs/development/compilers/ponyc/default.nix
+++ b/pkgs/development/compilers/ponyc/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchFromGitHub, llvm, makeWrapper, pcre2, coreutils, which, libressl,
+{ stdenv, fetchFromGitHub, llvm, makeWrapper, pcre2, coreutils, which, libressl, libxml2,
   cc ? stdenv.cc, lto ? !stdenv.isDarwin }:
 
 stdenv.mkDerivation ( rec {
   pname = "ponyc";
-  version = "0.32.0";
+  version = "0.33.0";
 
   src = fetchFromGitHub {
     owner = "ponylang";
     repo = pname;
     rev = version;
-    sha256 = "07ai5lr0zdrcdmfjxsypp33fpj8lnak7y5177s7qd19163z0ia20";
+    sha256 = "0a0sw902nrayg0s1zrkhfpvrmdqw19nif67hsv0ijrckcq37bjcz";
   };
 
-  buildInputs = [ llvm makeWrapper which ];
+  buildInputs = [ llvm makeWrapper which libxml2 ];
   propagatedBuildInputs = [ cc ];
 
   # Disable problematic networking tests
diff --git a/pkgs/development/compilers/ponyc/pony-stable.nix b/pkgs/development/compilers/ponyc/pony-stable.nix
index 6719293af2a7..23e7f3b28f7f 100644
--- a/pkgs/development/compilers/ponyc/pony-stable.nix
+++ b/pkgs/development/compilers/ponyc/pony-stable.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pony-stable";
-  version = "0.2.1";
+  version = "0.2.2";
 
   src = fetchFromGitHub {
     owner = "ponylang";
     repo = "pony-stable";
     rev = version;
-    sha256 = "1wiinw35bp3zpq9kx61x2zvid7ln00jrw052ah8801s0d9dbwrdr";
+    sha256 = "0nzvsqvl315brp3yb4j5kl82xnkmib4jk416jjc7yrz4k3jgr278";
   };
 
   buildInputs = [ ponyc ];
diff --git a/pkgs/development/compilers/purescript/purescript/default.nix b/pkgs/development/compilers/purescript/purescript/default.nix
index 149a38231b44..f1126fdeddfd 100644
--- a/pkgs/development/compilers/purescript/purescript/default.nix
+++ b/pkgs/development/compilers/purescript/purescript/default.nix
@@ -18,19 +18,19 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "purescript";
-  version = "0.13.4";
+  version = "0.13.5";
 
   src =
     if stdenv.isDarwin
     then
     fetchurl {
       url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz";
-      sha256 = "0rqjair1r1yr1k8rva3ly16dv5594f4s8xwpnrz9n7x3f99mk4fx";
+      sha256 = "19bb50m0cd738r353blgy21d842b3yj58xfbplk7bz59jawj9lym";
     }
     else
     fetchurl {
       url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz";
-      sha256 = "1ajzi5ikgzgdfrgq36r9pc3yc6f7h0qgnqcq414zd66z08mbggng";
+      sha256 = "016wvwypgb4859f0n1lqsqv9a8cca2y8g7d6ffvzx6rncd115gxi";
     };
 
 
diff --git a/pkgs/development/compilers/rust/1_38_0.nix b/pkgs/development/compilers/rust/1_38_0.nix
index 5260ab201741..be43e074228d 100644
--- a/pkgs/development/compilers/rust/1_38_0.nix
+++ b/pkgs/development/compilers/rust/1_38_0.nix
@@ -10,6 +10,7 @@ import ./default.nix {
   bootstrapHashes = {
     i686-unknown-linux-gnu = "74510e0e52a55e65a9f716673c2cda4d2bd427e2453541c6993c77c3ec04acf9";
     x86_64-unknown-linux-gnu = "cb573229bfd32928177c3835fdeb62d52da64806b844bc1095c6225b0665a1cb";
+    arm-unknown-linux-gnueabihf = "272739fbb23cf6c2040c1813af9c8c7f386cac37d9de638f22a1816eb96bc0ae";
     armv7-unknown-linux-gnueabihf = "5b87b877f0ed20c6a09ce26e7a15d8c61b26b62484b97e78a51099d0efefec98";
     aarch64-unknown-linux-gnu = "263ef98fa3a6b2911b56f89c06615cdebf6ef676eb9b2493ad1539602f79b6ba";
     i686-apple-darwin = "e45d0c4d882fc6c404ffa6fe790294f4ea96384a2b48804adbf723f3635477a8";
diff --git a/pkgs/development/compilers/rust/1_39_0.nix b/pkgs/development/compilers/rust/1_39_0.nix
index aa29c7a9ff7c..cc07590dedc6 100644
--- a/pkgs/development/compilers/rust/1_39_0.nix
+++ b/pkgs/development/compilers/rust/1_39_0.nix
@@ -10,6 +10,7 @@ import ./default.nix {
   bootstrapHashes = {
     i686-unknown-linux-gnu = "41aed8a350e24a0cac1444ed99b3dd24a90bc581dd88cb420c6e547d6b5f57af";
     x86_64-unknown-linux-gnu = "adda26b3f0609dbfbdc2019da4a20101879b9db2134fae322a4e863a069ec221";
+    arm-unknown-linux-gnueabihf = "0603a3d3d16ae8f3b3b117eb699e8f3ef7532a6f6d3c29d13e7d4614fc3c9e7a";
     armv7-unknown-linux-gnueabihf = "8b1bf1680a61a643d6b5c7a3b1a1ce88448652756395e20ba5846739cbd085c4";
     aarch64-unknown-linux-gnu = "06afd6d525326cea95c3aa658aaa8542eab26f44235565bb16913ac9d12b7bda";
     i686-apple-darwin = "cdbf2807774bed350a3af6f41d7f7dd7ceff28777cde310c3ba90033188eb2f8";
diff --git a/pkgs/development/compilers/rust/bootstrap.nix b/pkgs/development/compilers/rust/bootstrap.nix
index 54b2d3016e50..7c0b46d55931 100644
--- a/pkgs/development/compilers/rust/bootstrap.nix
+++ b/pkgs/development/compilers/rust/bootstrap.nix
@@ -1,24 +1,11 @@
-{ stdenv, fetchurl, callPackage, version, hashes }:
+{ stdenv, fetchurl, rust, callPackage, version, hashes }:
 
 let
-  platform =
-    if stdenv.hostPlatform.system == "i686-linux"
-    then "i686-unknown-linux-gnu"
-    else if stdenv.hostPlatform.system == "x86_64-linux"
-    then "x86_64-unknown-linux-gnu"
-    else if stdenv.hostPlatform.system == "armv7l-linux"
-    then "armv7-unknown-linux-gnueabihf"
-    else if stdenv.hostPlatform.system == "aarch64-linux"
-    then "aarch64-unknown-linux-gnu"
-    else if stdenv.hostPlatform.system == "i686-darwin"
-    then "i686-apple-darwin"
-    else if stdenv.hostPlatform.system == "x86_64-darwin"
-    then "x86_64-apple-darwin"
-    else throw "missing bootstrap url for platform ${stdenv.hostPlatform.system}";
+  platform = rust.toRustTarget stdenv.hostPlatform;
 
   src = fetchurl {
      url = "https://static.rust-lang.org/dist/rust-${version}-${platform}.tar.gz";
-     sha256 = hashes.${platform};
+     sha256 = hashes.${platform} or (throw "missing bootstrap url for platform ${platform}");
   };
 
 in callPackage ./binary.nix
diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix
index efd641efb6e6..75104ac7ad58 100644
--- a/pkgs/development/compilers/rust/default.nix
+++ b/pkgs/development/compilers/rust/default.nix
@@ -11,6 +11,14 @@
 , llvmPackages_5
 , pkgsBuildTarget, pkgsBuildBuild
 }: rec {
+  toRustTarget = platform: with platform.parsed; let
+    cpu_ = {
+      "armv7a" = "armv7";
+      "armv7l" = "armv7";
+      "armv6l" = "arm";
+    }.${cpu.name} or cpu.name;
+  in "${cpu_}-${vendor.name}-${kernel.name}${lib.optionalString (abi.name != "unknown") "-${abi.name}"}";
+
   makeRustPlatform = { rustc, cargo, ... }: {
     rust = {
       inherit rustc cargo;
diff --git a/pkgs/development/compilers/rust/print-hashes.sh b/pkgs/development/compilers/rust/print-hashes.sh
index 7eb00a30ad73..1d46fe376d4b 100755
--- a/pkgs/development/compilers/rust/print-hashes.sh
+++ b/pkgs/development/compilers/rust/print-hashes.sh
@@ -10,6 +10,7 @@ set -euo pipefail
 PLATFORMS=(
   i686-unknown-linux-gnu
   x86_64-unknown-linux-gnu
+  arm-unknown-linux-gnueabihf
   armv7-unknown-linux-gnueabihf
   aarch64-unknown-linux-gnu
   i686-apple-darwin
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix
index ceaf6f4c2258..ca9bf05b7e7d 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -1,6 +1,6 @@
 { stdenv, removeReferencesTo, pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget
 , fetchurl, file, python2
-, llvm_9, darwin, git, cmake, rustPlatform
+, llvm_9, darwin, git, cmake, rust, rustPlatform
 , pkgconfig, openssl
 , which, libffi
 , withBundledLLVM ? false
@@ -53,9 +53,9 @@ in stdenv.mkDerivation rec {
   # We need rust to build rust. If we don't provide it, configure will try to download it.
   # Reference: https://github.com/rust-lang/rust/blob/master/src/bootstrap/configure.py
   configureFlags = let
-    setBuild  = "--set=target.${stdenv.buildPlatform.config}";
-    setHost   = "--set=target.${stdenv.hostPlatform.config}";
-    setTarget = "--set=target.${stdenv.targetPlatform.config}";
+    setBuild  = "--set=target.${rust.toRustTarget stdenv.buildPlatform}";
+    setHost   = "--set=target.${rust.toRustTarget stdenv.hostPlatform}";
+    setTarget = "--set=target.${rust.toRustTarget stdenv.targetPlatform}";
     ccForBuild  = "${pkgsBuildBuild.targetPackages.stdenv.cc}/bin/${pkgsBuildBuild.targetPackages.stdenv.cc.targetPrefix}cc";
     cxxForBuild = "${pkgsBuildBuild.targetPackages.stdenv.cc}/bin/${pkgsBuildBuild.targetPackages.stdenv.cc.targetPrefix}c++";
     ccForHost  = "${pkgsBuildHost.targetPackages.stdenv.cc}/bin/${pkgsBuildHost.targetPackages.stdenv.cc.targetPrefix}cc";
@@ -68,9 +68,9 @@ in stdenv.mkDerivation rec {
     "--set=build.cargo=${rustPlatform.rust.cargo}/bin/cargo"
     "--enable-rpath"
     "--enable-vendor"
-    "--build=${stdenv.buildPlatform.config}"
-    "--host=${stdenv.hostPlatform.config}"
-    "--target=${stdenv.targetPlatform.config}"
+    "--build=${rust.toRustTarget stdenv.buildPlatform}"
+    "--host=${rust.toRustTarget stdenv.hostPlatform}"
+    "--target=${rust.toRustTarget stdenv.targetPlatform}"
 
     "${setBuild}.cc=${ccForBuild}"
     "${setHost}.cc=${ccForHost}"
diff --git a/pkgs/development/compilers/scala/dotty-bare.nix b/pkgs/development/compilers/scala/dotty-bare.nix
index 5a01e295e49e..675e91b302a7 100644
--- a/pkgs/development/compilers/scala/dotty-bare.nix
+++ b/pkgs/development/compilers/scala/dotty-bare.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, jre, ncurses }:
 
 stdenv.mkDerivation rec {
-  version = "0.14.0-RC1";
+  version = "0.20.0-RC1";
   pname = "dotty-bare";
 
   src = fetchurl {
     url = "https://github.com/lampepfl/dotty/releases/download/${version}/dotty-${version}.tar.gz";
-    sha256 = "0nrgsyhqjlpvnjqgb18pryr8q7knq3dq25jhp98s4wh76nssm1zr";
+    sha256 = "08qs3m32cbh6516gcwraa1b5k935awmjxls6kg6xll722hkdd9l6";
   };
 
   propagatedBuildInputs = [ jre ncurses.dev ] ;
@@ -35,6 +35,6 @@ stdenv.mkDerivation rec {
     homepage = http://dotty.epfl.ch/;
     license = licenses.bsd3;
     platforms = platforms.all;
-    maintainers = [maintainers.karolchmist];
+    maintainers = [maintainers.karolchmist maintainers.virusdave];
   };
 }
diff --git a/pkgs/development/compilers/souffle/default.nix b/pkgs/development/compilers/souffle/default.nix
index a39a6c4a2e4f..33821bfc2574 100644
--- a/pkgs/development/compilers/souffle/default.nix
+++ b/pkgs/development/compilers/souffle/default.nix
@@ -10,13 +10,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "souffle";
-  version = "1.6.1";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner  = "souffle-lang";
     repo   = "souffle";
     rev    = version;
-    sha256 = "004c5iicjnlzn1yz1k7a28s4xdqx00016rr870drdq2z30mxfgz8";
+    sha256 = "0q6cwfy3pwmaw3j1hhfk1ivcf03ijyvchyf92wdgrpj6q626kcpj";
   };
 
   nativeBuildInputs = [ autoreconfHook bison flex mcpp doxygen graphviz makeWrapper perl ];
diff --git a/pkgs/development/compilers/unison/default.nix b/pkgs/development/compilers/unison/default.nix
index 90dd233a2bbe..2a8c07fa0fe0 100644
--- a/pkgs/development/compilers/unison/default.nix
+++ b/pkgs/development/compilers/unison/default.nix
@@ -4,18 +4,18 @@
 
 stdenv.mkDerivation rec {
   pname = "unison-code-manager";
-  milestone_id = "M1e";
+  milestone_id = "M1g";
   version = "1.0.${milestone_id}-alpha";
 
   src = if (stdenv.isDarwin) then
     fetchurl {
       url = "https://github.com/unisonweb/unison/releases/download/release/${milestone_id}/unison-osx.tar.gz";
-      sha256 = "1jcjc8drjnvr67174ym9cppzi5zdq7jrj98xmf8gvrbx45v2gc6h";
+      sha256 = "186y7y7ffg976w01cbb8am84ajbifb7lcnsc4g3x262mkswr7lry";
     }
   else
     fetchurl {
       url = "https://github.com/unisonweb/unison/releases/download/release/${milestone_id}/unison-linux64.tar.gz";
-      sha256 = "1jq6xx879lqv3hxq8azg1rp72hy63qsn5w9nx95i4dzmmgwp0xx1";
+      sha256 = "1ki9car1clpaspnl5jb5qnr6nzv108q279n8m8bjm8azfcnl61ab";
     };
 
   # The tarball is just the prebuilt binary, in the archive root.
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index 8079daf59a53..d84503caa607 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/default.nix
@@ -106,18 +106,18 @@ in rec {
   };
 
   vala_0_40 = generic {
-    version = "0.40.16";
-    sha256 = "0vv25fmr9jqiqf080vak1x4raa4w3cz3n5ysjglqsq9qfx304i7b";
+    version = "0.40.18";
+    sha256 = "1f7cdkjdysg4dcri1wbzdddm46amk2s48jkwb5ghpdvhjb4l5j2m";
   };
 
   vala_0_44 = generic {
-    version = "0.44.8";
-    sha256 = "0f7pc496zvxfhbkhg8ayxykjas6f55mgv452wsnh0bz5zbxm8xrl";
+    version = "0.44.11";
+    sha256 = "06spdvm9q9k4riq1d2fxkyc8d88bcv460v360465iy1lnj3z9x2s";
   };
 
   vala_0_46 = generic {
-    version = "0.46.2";
-    sha256 = "1g20fzcwh3j7ab46jalabyi005h2in0cp7xj0yga4b8hx29h61wj";
+    version = "0.46.5";
+    sha256 = "07fv895sp9wq74b20qig7hic0r4ynrr5pfaqba02r44xb794fy0s";
   };
 
   vala = vala_0_46;
diff --git a/pkgs/development/compilers/x11basic/default.nix b/pkgs/development/compilers/x11basic/default.nix
index 3d955c4394b0..147ec13c5556 100644
--- a/pkgs/development/compilers/x11basic/default.nix
+++ b/pkgs/development/compilers/x11basic/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "X11basic";
-  version = "1.26";
+  version = "1.27";
 
   src = fetchFromGitHub {
     owner = "kollokollo";
     repo = pname;
     rev = version;
-    sha256 = "0rwj9cf496xailply0rgw695bzdladh2dhy7vdqac1pwbkl53nvd";
+    sha256 = "1hpxzdqnjl1fiwgs2vrjg4kxm29c7pqwk3g1m4p5pm4x33a3d1q2";
   };
 
   buildInputs = [
diff --git a/pkgs/development/em-modules/generic/default.nix b/pkgs/development/em-modules/generic/default.nix
index d1e7ac882d79..a260beb51044 100644
--- a/pkgs/development/em-modules/generic/default.nix
+++ b/pkgs/development/em-modules/generic/default.nix
@@ -10,8 +10,8 @@ pkgs.stdenv.mkDerivation (
   args //
   {
 
-  pname = "emscripten-${args.pname or (builtins.parseDrvName args.name).name}";
-  version = args.version or (builtins.parseDrvName args.name).version;
+  pname = "emscripten-${lib.getName args}";
+  version = lib.getVersion args;
   buildInputs = [ emscripten python ] ++ buildInputs;
   nativeBuildInputs = [ emscripten python ] ++ nativeBuildInputs;
 
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 9c68b8c35608..4579cf015cd2 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -74,7 +74,7 @@ self: super: {
       name = "git-annex-${super.git-annex.version}-src";
       url = "git://git-annex.branchable.com/";
       rev = "refs/tags/" + super.git-annex.version;
-      sha256 = "1ahjddwl8wfkhc5sj2j2snh3cq0vg4apgv2maq3wdncin8bj7my6";
+      sha256 = "04l1yrjq7n4nlzkmkg73xp6p7vpw1iq53mrmyb8162wqb7zapg4f";
     };
   }).override {
     dbus = if pkgs.stdenv.isLinux then self.dbus else null;
@@ -275,6 +275,7 @@ self: super: {
   dlist = dontCheck super.dlist;
   docopt = dontCheck super.docopt;                      # http://hydra.cryp.to/build/499172/log/raw
   dom-selector = dontCheck super.dom-selector;          # http://hydra.cryp.to/build/497670/log/raw
+  dotenv = dontCheck super.dotenv;                      # Tests fail because of missing test file on version 0.8.0.2 fixed on version 0.8.0.4
   dotfs = dontCheck super.dotfs;                        # http://hydra.cryp.to/build/498599/log/raw
   DRBG = dontCheck super.DRBG;                          # http://hydra.cryp.to/build/498245/nixlog/1/raw
   ed25519 = dontCheck super.ed25519;
@@ -510,7 +511,9 @@ self: super: {
      else dontCheck super.tasty-discover);
 
   # generic-deriving bound is too tight
-  aeson = doJailbreak super.aeson;
+  # aeson 1.4.6.0 needs Diff 0.4.0 to do tests but nixpkgs is still at 0.3.4
+  # https://github.com/bos/aeson/issues/740
+  aeson = dontCheck (doJailbreak super.aeson);
 
   # containers >=0.4 && <0.6 is too tight
   # https://github.com/RaphaelJ/friday/issues/34
@@ -1182,18 +1185,6 @@ self: super: {
   # test suite failure: https://github.com/jgm/pandoc/issues/5582
   pandoc = dontCheck super.pandoc;
 
-  # The latest release version is ancient. You really need this tool from git.
-  haskell-ci = generateOptparseApplicativeCompletion "haskell-ci"
-    (addBuildDepend (overrideSrc (dontCheck super.haskell-ci) {
-      version = "20190814-git";
-      src = pkgs.fetchFromGitHub {
-        owner = "haskell-CI";
-        repo = "haskell-ci";
-        rev = "70918d80b6fd43aca7e4d00ba0d2ea116b666556";
-        sha256 = "0bzp959qy74zmqq75f60rcixpjbvvyrb5a8zp2nyql3nm9vxzy5k";
-      };
-  }) (with self; [temporary lattices Cabal_3_0_0_0]));
-
   # Fix build with attr-2.4.48 (see #53716)
   xattr = appendPatch super.xattr ./patches/xattr-fix-build.patch;
 
@@ -1250,7 +1241,7 @@ self: super: {
   });
 
   # The LTS-14.x version of their dependencies are too old.
-  cabal-plan = super.cabal-plan.override { optparse-applicative = self.optparse-applicative_0_15_1_0; };
+  cabal-plan = super.cabal-plan.overrideScope (self: super: { optparse-applicative = self.optparse-applicative_0_15_1_0; ansi-terminal = self.ansi-terminal_0_10_2; base-compat = self.base-compat_0_11_0; semialign = self.semialign_1_1; time-compat = doJailbreak super.time-compat; });
   hoogle = super.hoogle.override { haskell-src-exts = self.haskell-src-exts_1_22_0; };
 
   # Version bounds for http-client are too strict:
@@ -1314,4 +1305,13 @@ self: super: {
     ];
   });
 
+  # Needs the corresponding version of haskell-src-exts.
+  haskell-src-exts-simple = super.haskell-src-exts-simple.override { haskell-src-exts = self.haskell-src-exts_1_22_0; };
+
+  # https://github.com/Daniel-Diaz/HaTeX/issues/144
+  HaTeX = dontCheck super.HaTeX;
+
+  # https://github.com/kazu-yamamoto/dns/issues/150
+  dns = dontCheck super.dns;
+
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
index 5c54a90ce7e7..617ca63c27f2 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
@@ -69,20 +69,29 @@ self: super: {
   snap-server = doJailbreak super.snap-server;
 
   # use latest version to fix the build
+  doctemplates = self.doctemplates_0_7_2;
   generics-sop = self.generics-sop_0_5_0_0;
   hackage-db = self.hackage-db_2_1_0;
+  haddock-library = self.haddock-library_1_8_0;
+  HsYAML = self.HsYAML_0_2_1_0;
   lens = self.lens_4_18_1;
   memory = self.memory_0_15_0;
   microlens = self.microlens_0_4_11_2;
   optparse-applicative = self.optparse-applicative_0_15_1_0;
+  pandoc = self.pandoc_2_8_0_1;
+  pandoc-types = self.pandoc-types_1_20;
   primitive = dontCheck super.primitive_0_7_0_0;  # evaluating the test suite gives an infinite recursion
   regex-base = self.regex-base_0_94_0_0;
   regex-pcre-builtin = self.regex-pcre-builtin_0_95_1_1_8_43;
   regex-posix = self.regex-posix_0_96_0_0;
   regex-tdfa = self.regex-tdfa_1_3_0;
   shelly = self.shelly_1_9_0;
+  skylighting = self.skylighting_0_8_3;
+  skylighting-core = self.skylighting-core_0_8_3;
   sop-core = self.sop-core_0_5_0_0;
+  texmath = self.texmath_0_12;
   tls = self.tls_1_5_2;
+  trifecta = self.trifecta_2_1;
   xmonad-contrib = self.xmonad-contrib_0_16;
 
   # These packages don't work and need patching and/or an update.
@@ -102,11 +111,6 @@ self: super: {
   vault = dontHaddock super.vault;
   monad-par = dontCheck super.monad-par;   # test suite does not compile in monad-par-0.3.4.8
 
-  # TODO dont fetch patch if https://github.com/simonmar/alex/issues/140 is resolved
-  alex = appendPatch super.alex (pkgs.fetchpatch {
-    url = "https://github.com/simonmar/alex/commit/deaae6eddef5186bfd0e42e2c3ced39e26afa4d6.patch";
-    sha256 = "1v40gmnw4lqyk271wngdwz8whpfdhmza58srbkka8icwwwrck3l5";
-  });
   # https://github.com/snapframework/snap-core/issues/288
   snap-core = overrideCabal super.snap-core (drv: { prePatch = "substituteInPlace src/Snap/Internal/Core.hs --replace 'fail   = Fail.fail' ''"; });
   # needs a release
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index 6c62c84266c7..b8b38c770435 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -43,7 +43,7 @@ core-packages:
   - ghcjs-base-0
 
 default-package-overrides:
-  # LTS Haskell 14.13
+  # LTS Haskell 14.16
   - abstract-deque ==0.3
   - abstract-deque-tests ==0.3
   - abstract-par ==0.3.3
@@ -55,12 +55,12 @@ default-package-overrides:
   - adjunctions ==4.4
   - adler32 ==0.1.2.0
   - advent-of-code-api ==0.1.2.3
-  - aeson ==1.4.5.0
+  - aeson ==1.4.6.0
   - aeson-attoparsec ==0.0.0
   - aeson-better-errors ==0.9.1.0
   - aeson-casing ==0.2.0.0
   - aeson-compat ==0.3.9
-  - aeson-diff ==1.1.0.7
+  - aeson-diff ==1.1.0.8
   - aeson-extra ==0.4.1.3
   - aeson-generic-compat ==0.0.1.3
   - aeson-iproute ==0.2
@@ -72,7 +72,7 @@ default-package-overrides:
   - al ==0.1.4.2
   - alarmclock ==0.7.0.2
   - alerts ==0.1.2.0
-  - alex ==3.2.4
+  - alex ==3.2.5
   - alg ==0.2.12.0
   - algebraic-graphs ==0.4
   - Allure ==0.9.5.0
@@ -90,7 +90,7 @@ default-package-overrides:
   - ansi-wl-pprint ==0.6.9
   - ANum ==0.2.0.2
   - aos-signature ==0.1.1
-  - apecs ==0.8.1
+  - apecs ==0.8.2
   - apecs-gloss ==0.2.3
   - apecs-physics ==0.4.2
   - api-field-json-th ==0.1.0.2
@@ -111,7 +111,7 @@ default-package-overrides:
   - asn1-parse ==0.9.5
   - asn1-types ==0.3.3
   - assert-failure ==0.1.2.2
-  - assoc ==1
+  - assoc ==1.0.1
   - astro ==0.4.2.1
   - async ==2.2.2
   - async-extra ==0.2.0.0
@@ -120,7 +120,7 @@ default-package-overrides:
   - async-timer ==0.2.0.0
   - atom-basic ==0.2.5
   - atomic-primops ==0.8.3
-  - atomic-write ==0.2.0.6
+  - atomic-write ==0.2.0.7
   - attoparsec ==0.13.2.3
   - attoparsec-base64 ==0.0.0
   - attoparsec-binary ==0.2
@@ -131,18 +131,18 @@ default-package-overrides:
   - attoparsec-uri ==0.0.7
   - audacity ==0.0.2
   - aur ==6.2.0.1
-  - authenticate ==1.3.4
+  - authenticate ==1.3.5
   - authenticate-oauth ==1.6.0.1
   - auto ==0.4.3.1
-  - autoexporter ==1.1.14
+  - autoexporter ==1.1.15
   - auto-update ==0.1.6
   - avers ==0.0.17.1
   - avers-api ==0.1.0
   - avers-server ==0.1.0.1
-  - avro ==0.4.5.3
+  - avro ==0.4.5.4
   - avwx ==0.3.0.2
   - aws-cloudfront-signed-cookies ==0.2.0.1
-  - aws-lambda-haskell-runtime ==2.0.1
+  - aws-lambda-haskell-runtime ==2.0.2
   - backprop ==0.2.6.3
   - bank-holidays-england ==0.2.0.2
   - barbies ==1.1.3.0
@@ -279,7 +279,7 @@ default-package-overrides:
   - casing ==0.1.4.1
   - cassava ==0.5.2.0
   - cassava-conduit ==0.5.1
-  - cassava-megaparsec ==2.0.0
+  - cassava-megaparsec ==2.0.1
   - cassava-records ==0.1.0.4
   - cast ==0.1.0.2
   - caster ==0.0.3.0
@@ -311,7 +311,7 @@ default-package-overrides:
   - chiphunk ==0.1.2.1
   - choice ==0.2.2
   - chronologique ==0.3.1.1
-  - chronos ==1.0.7
+  - chronos ==1.0.9
   - chronos-bench ==0.2.0.2
   - chunked-data ==0.3.1
   - cipher-aes ==0.2.11
@@ -326,7 +326,7 @@ default-package-overrides:
   - classy-prelude ==1.5.0
   - classy-prelude-conduit ==1.5.0
   - classy-prelude-yesod ==1.5.0
-  - clay ==0.13.1
+  - clay ==0.13.2
   - clientsession ==0.9.1.2
   - Clipboard ==2.3.2.0
   - clock ==0.8
@@ -336,7 +336,7 @@ default-package-overrides:
   - clr-marshal ==0.2.0.0
   - clumpiness ==0.17.0.2
   - cmark ==0.6
-  - cmark-gfm ==0.2.0
+  - cmark-gfm ==0.2.1
   - cmdargs ==0.10.20
   - codec ==0.2.1
   - codec-beam ==0.2.0
@@ -388,7 +388,7 @@ default-package-overrides:
   - connection ==0.3.1
   - connection-pool ==0.2.2
   - console-style ==0.0.2.1
-  - constraint ==0.1.3.0
+  - constraint ==0.1.4.0
   - constraints ==0.10.1
   - contravariant ==1.5.2
   - contravariant-extras ==0.3.5
@@ -397,9 +397,9 @@ default-package-overrides:
   - control-monad-free ==0.6.2
   - control-monad-omega ==0.3.2
   - convertible ==1.1.1.0
-  - cookie ==0.4.4
-  - core-data ==0.2.1.0
-  - core-text ==0.2.2.1
+  - cookie ==0.4.5
+  - core-data ==0.2.1.4
+  - core-text ==0.2.2.4
   - countable ==1.0
   - country ==0.1.6
   - courier ==0.1.1.5
@@ -408,7 +408,7 @@ default-package-overrides:
   - cprng-aes ==0.6.1
   - cpu ==0.1.2
   - cpuinfo ==0.1.0.1
-  - cql ==4.0.1
+  - cql ==4.0.2
   - cql-io ==1.1.1
   - crackNum ==2.3
   - crc32c ==0.0.0
@@ -513,26 +513,26 @@ default-package-overrides:
   - deque ==0.4.3
   - deriveJsonNoPrefix ==0.1.0.1
   - deriving-compat ==0.5.7
-  - derulo ==1.0.5
+  - derulo ==1.0.7
   - detour-via-sci ==1.0.0
   - dhall ==1.24.0
   - dhall-bash ==1.0.21
   - dhall-json ==1.3.0
   - diagrams ==1.4
-  - diagrams-contrib ==1.4.3
+  - diagrams-contrib ==1.4.4
   - diagrams-core ==1.4.2
-  - diagrams-lib ==1.4.2.3
+  - diagrams-lib ==1.4.3
   - diagrams-postscript ==1.4.1
   - diagrams-rasterific ==1.4.1.1
   - diagrams-solve ==0.1.1
   - diagrams-svg ==1.4.2
-  - di-core ==1.0.3
+  - di-core ==1.0.4
   - dictionary-sharing ==0.1.0.0
   - Diff ==0.3.4
   - digest ==0.0.1.2
   - digits ==0.3.1
   - dimensional ==1.3
-  - di-monad ==1.3
+  - di-monad ==1.3.1
   - directory-tree ==0.12.1
   - direct-sqlite ==2.3.24
   - discount ==0.1.1
@@ -544,18 +544,18 @@ default-package-overrides:
   - dlist ==0.8.0.7
   - dlist-instances ==0.1.1.1
   - dlist-nonempty ==0.1.1
-  - dns ==4.0.0
+  - dns ==4.0.1
   - dockerfile ==0.2.0
   - docopt ==0.7.0.5
   - doctemplates ==0.2.2.1
   - doctest ==0.16.2
   - doctest-discover ==0.2.0.0
-  - doctest-driver-gen ==0.3.0.1
+  - doctest-driver-gen ==0.3.0.2
   - doldol ==0.4.1.2
   - do-list ==1.0.1
   - dom-parser ==3.1.0
   - do-notation ==0.1.0.2
-  - dotenv ==0.8.0.2
+  - dotenv ==0.8.0.4
   - dotgen ==0.4.2
   - dotnet-timespan ==0.0.1.0
   - double-conversion ==2.0.2.0
@@ -664,7 +664,7 @@ default-package-overrides:
   - filecache ==0.4.1
   - file-embed ==0.0.11
   - file-embed-lzma ==0
-  - filelock ==0.1.1.3
+  - filelock ==0.1.1.4
   - filemanip ==0.3.6.3
   - file-modules ==0.1.2.4
   - filepattern ==0.1.1
@@ -734,7 +734,7 @@ default-package-overrides:
   - gauge ==0.2.5
   - gc ==0.0.3
   - gd ==3000.7.3
-  - gdp ==0.0.0.2
+  - gdp ==0.0.3.0
   - general-games ==1.1.1
   - generic-arbitrary ==0.1.0
   - generic-data ==0.7.0.0
@@ -799,7 +799,7 @@ default-package-overrides:
   - gingersnap ==0.3.1.0
   - gi-pango ==1.0.22
   - githash ==0.1.3.3
-  - github-release ==1.2.4
+  - github-release ==1.2.5
   - github-types ==0.2.1
   - github-webhooks ==0.10.1
   - gitrev ==1.3.1
@@ -847,7 +847,7 @@ default-package-overrides:
   - hackage-db ==2.0.1
   - hackage-security ==0.5.3.0
   - haddock-library ==1.7.0
-  - hadolint ==1.17.2
+  - hadolint ==1.17.3
   - half ==0.3
   - hamilton ==0.1.0.3
   - hamtsolo ==1.0.3
@@ -876,7 +876,7 @@ default-package-overrides:
   - haskey-btree ==0.3.0.1
   - haskintex ==0.8.0.0
   - haskoin-core ==0.9.6
-  - hasql ==1.4
+  - hasql ==1.4.0.1
   - hasql-optparse-applicative ==0.3.0.5
   - hasql-pool ==0.5.1
   - hasql-transaction ==0.7.2
@@ -885,7 +885,7 @@ default-package-overrides:
   - haxl ==2.1.2.0
   - hbeanstalk ==0.2.4
   - HCodecs ==0.5.1
-  - hdaemonize ==0.5.5
+  - hdaemonize ==0.5.6
   - HDBC ==2.4.0.3
   - HDBC-mysql ==0.7.1.0
   - HDBC-session ==0.1.2.0
@@ -895,7 +895,7 @@ default-package-overrides:
   - hedgehog ==1.0.1
   - hedgehog-corpus ==0.1.0
   - hedgehog-fn ==1.0
-  - hedis ==0.12.8
+  - hedis ==0.12.9
   - hedn ==0.2.0.1
   - here ==1.2.13
   - heredoc ==0.2.0.0
@@ -929,7 +929,7 @@ default-package-overrides:
   - hmpfr ==0.4.4
   - hoauth2 ==1.8.9
   - Hoed ==0.5.1
-  - hOpenPGP ==2.8
+  - hOpenPGP ==2.8.4
   - hopenpgp-tools ==0.21.3
   - hopfli ==0.2.2.1
   - hosc ==0.17
@@ -1007,7 +1007,7 @@ default-package-overrides:
   - htoml ==1.0.0.3
   - http2 ==1.6.5
   - HTTP ==4000.3.14
-  - http-api-data ==0.4.1
+  - http-api-data ==0.4.1.1
   - http-client ==0.6.4
   - http-client-tls ==0.3.5.3
   - http-common ==0.8.2.0
@@ -1047,7 +1047,7 @@ default-package-overrides:
   - hw-mquery ==0.2.0.2
   - hw-packed-vector ==0.0.0.3
   - hw-parser ==0.1.0.2
-  - hw-prim ==0.6.2.38
+  - hw-prim ==0.6.2.39
   - hw-rankselect ==0.13.0.0
   - hw-rankselect-base ==0.3.2.3
   - hw-simd ==0.1.1.5
@@ -1086,7 +1086,6 @@ default-package-overrides:
   - indents ==0.5.0.1
   - indexed ==0.1.3
   - indexed-list-literals ==0.2.1.2
-  - indexed-profunctors ==0.1
   - infer-license ==0.2.0
   - inflections ==0.4.0.4
   - influxdb ==1.7.1.1
@@ -1096,7 +1095,7 @@ default-package-overrides:
   - inline-c-cpp ==0.3.0.3
   - inline-r ==0.10.2
   - inliterate ==0.1.0
-  - insert-ordered-containers ==0.2.3
+  - insert-ordered-containers ==0.2.2
   - inspection-testing ==0.4.2.2
   - instance-control ==0.1.2.0
   - int-cast ==0.2.0.0
@@ -1141,14 +1140,14 @@ default-package-overrides:
   - ixset-typed ==0.4.0.1
   - ix-shapable ==0.1.0
   - jack ==0.7.1.4
-  - jose ==0.8.1.0
+  - jose ==0.8.2.0
   - jose-jwt ==0.8.0
   - js-dgtable ==0.5.2
   - js-flot ==0.8.3
   - js-jquery ==3.3.1
   - json ==0.9.3
   - json-alt ==1.0.0
-  - json-feed ==1.0.6
+  - json-feed ==1.0.7
   - jsonpath ==0.1.0.2
   - json-rpc ==1.0.0
   - json-rpc-client ==0.2.5.0
@@ -1176,7 +1175,7 @@ default-package-overrides:
   - kraken ==0.1.0
   - l10n ==0.1.0.1
   - labels ==0.3.3
-  - lackey ==1.0.9
+  - lackey ==1.0.10
   - LambdaHack ==0.9.5.0
   - lame ==0.2.0
   - language-c ==0.8.3
@@ -1225,7 +1224,7 @@ default-package-overrides:
   - libmpd ==0.9.0.10
   - liboath-hs ==0.0.1.1
   - libraft ==0.5.0.0
-  - libyaml ==0.1.1.0
+  - libyaml ==0.1.1.1
   - LibZip ==1.0.1
   - lifted-async ==0.10.0.4
   - lifted-base ==0.2.3.12
@@ -1253,7 +1252,7 @@ default-package-overrides:
   - log-domain ==0.12
   - logfloat ==0.13.3.3
   - logger-thread ==0.1.0.2
-  - logging-effect ==1.3.7
+  - logging-effect ==1.3.8
   - logging-facade ==0.3.0
   - logging-facade-syslog ==1
   - logict ==0.7.0.2
@@ -1262,7 +1261,7 @@ default-package-overrides:
   - lrucache ==1.2.0.1
   - lrucaching ==0.3.3
   - lsp-test ==0.6.1.0
-  - lucid ==2.9.11
+  - lucid ==2.9.12
   - lucid-extras ==0.2.2
   - lxd-client-config ==0.1.0.1
   - lzma ==0.0.0.3
@@ -1280,7 +1279,7 @@ default-package-overrides:
   - markdown-unlit ==0.5.0
   - markov-chain ==0.0.3.4
   - massiv ==0.4.3.0
-  - massiv-io ==0.1.7.0
+  - massiv-io ==0.1.9.0
   - massiv-test ==0.1.1
   - mathexpr ==0.3.0.0
   - math-functions ==0.3.3.0
@@ -1352,11 +1351,11 @@ default-package-overrides:
   - monad-logger ==0.3.30
   - monad-logger-json ==0.1.0.0
   - monad-logger-prefix ==0.1.11
-  - monad-logger-syslog ==0.1.4.0
+  - monad-logger-syslog ==0.1.5.0
   - monad-loops ==0.4.3
   - monad-memo ==0.5.1
   - monad-metrics ==0.2.1.4
-  - monad-par ==0.3.4.8
+  - monad-par ==0.3.5
   - monad-parallel ==0.7.2.3
   - monad-par-extras ==0.3.3
   - monad-peel ==0.2.1.2
@@ -1378,7 +1377,6 @@ default-package-overrides:
   - mono-traversable-instances ==0.1.0.0
   - mono-traversable-keys ==0.1.0
   - more-containers ==0.2.1.2
-  - morpheus-graphql ==0.6.2
   - mountpoints ==1.0.2
   - mpi-hs ==0.5.3.0
   - msgpack ==1.0.1.0
@@ -1432,8 +1430,8 @@ default-package-overrides:
   - network-conduit-tls ==1.3.2
   - network-house ==0.1.0.2
   - network-info ==0.2.0.10
-  - network-ip ==0.3.0.2
-  - network-messagepack-rpc ==0.1.1.4
+  - network-ip ==0.3.0.3
+  - network-messagepack-rpc ==0.1.2.0
   - network-multicast ==0.3.2
   - network-simple ==0.4.5
   - network-simple-tls ==0.3.2
@@ -1449,10 +1447,9 @@ default-package-overrides:
   - nonce ==1.0.7
   - nondeterminism ==1.4
   - non-empty ==0.3.2
-  - nonempty-containers ==0.3.2.0
+  - nonempty-containers ==0.3.1.0
   - nonemptymap ==0.0.6.0
-  - non-empty-sequence ==0.2.0.2
-  - nonempty-vector ==0.1.0.0
+  - non-empty-sequence ==0.2.0.4
   - non-negative ==0.1.2
   - not-gloss ==0.7.7.0
   - no-value ==1.0.0.0
@@ -1462,7 +1459,7 @@ default-package-overrides:
   - numbers ==3000.2.0.2
   - numeric-extras ==0.1
   - numeric-prelude ==0.4.3.1
-  - numhask ==0.3.0.0
+  - numhask ==0.3.1
   - NumInstances ==1.4
   - numtype-dk ==0.5.0.2
   - nuxeo ==0.3.2
@@ -1496,8 +1493,6 @@ default-package-overrides:
   - open-witness ==0.4.0.1
   - operational ==0.2.3.5
   - operational-class ==0.3.0.0
-  - optics-core ==0.2
-  - optics-extra ==0.2
   - optional-args ==1.0.2
   - options ==1.2.1.1
   - optparse-applicative ==0.14.3.0
@@ -1549,7 +1544,7 @@ default-package-overrides:
   - pcf-font-embed ==0.1.2.0
   - pcg-random ==0.1.3.6
   - pcre-heavy ==1.0.0.2
-  - pcre-light ==0.4.0.4
+  - pcre-light ==0.4.1.0
   - pcre-utils ==0.1.8.1.1
   - pdfinfo ==1.5.4
   - peano ==0.1.0.1
@@ -1652,7 +1647,7 @@ default-package-overrides:
   - primitive ==0.6.4.0
   - primitive-extras ==0.7.1.1
   - prim-uniq ==0.1.0.1
-  - probability ==0.2.5.2
+  - probability ==0.2.6
   - process-extras ==0.7.4
   - product-isomorphic ==0.0.3.3
   - product-profunctors ==0.10.0.0
@@ -1724,10 +1719,10 @@ default-package-overrides:
   - rank2classes ==1.3.1.2
   - Rasterific ==0.7.4.4
   - rasterific-svg ==0.3.3.2
-  - ratel ==1.0.8
-  - ratel-wai ==1.1.0
+  - ratel ==1.0.9
+  - ratel-wai ==1.1.1
   - rattle ==0.1
-  - rattletrap ==9.0.6
+  - rattletrap ==9.0.7
   - rawfilepath ==0.2.4
   - rawstring-qm ==0.2.3.0
   - raw-strings-qq ==1.1
@@ -1822,7 +1817,7 @@ default-package-overrides:
   - salak-toml ==0.3.5.3
   - salak-yaml ==0.3.5.3
   - saltine ==0.1.0.2
-  - salve ==1.0.6
+  - salve ==1.0.8
   - sample-frame ==0.0.3
   - sample-frame-np ==0.0.4.1
   - sampling ==0.3.3
@@ -1910,7 +1905,7 @@ default-package-overrides:
   - sexpr-parser ==0.1.1.2
   - SHA ==1.6.4.4
   - shake-language-c ==0.12.0
-  - shakespeare ==2.0.22
+  - shakespeare ==2.0.23
   - shared-memory ==0.2.0.0
   - shell-conduit ==4.7.0
   - shell-escape ==0.2.0
@@ -1954,7 +1949,7 @@ default-package-overrides:
   - smallcheck-series ==0.6.1
   - smoothie ==0.4.2.9
   - snap-blaze ==0.2.1.5
-  - snap-core ==1.0.4.0
+  - snap-core ==1.0.4.1
   - snap-server ==1.1.1.1
   - snowflake ==0.1.1.1
   - soap ==0.2.3.6
@@ -2033,7 +2028,7 @@ default-package-overrides:
   - stripe-scotty ==1.0.0.0
   - stripe-signature ==1.0.0.1
   - stripe-wreq ==1.0.1.0
-  - strive ==5.0.8
+  - strive ==5.0.9
   - structs ==0.1.2
   - structured-cli ==2.5.1.0
   - summoner ==1.3.0.1
@@ -2126,7 +2121,7 @@ default-package-overrides:
   - text-region ==0.3.1.0
   - text-short ==0.1.3
   - text-show ==3.8.2
-  - text-show-instances ==3.8.2
+  - text-show-instances ==3.8.3
   - text-zipper ==0.10.1
   - tfp ==1.0.1.1
   - tf-random ==0.5
@@ -2195,7 +2190,7 @@ default-package-overrides:
   - transformers-bifunctors ==0.1
   - transformers-compat ==0.6.5
   - transformers-fix ==1.0
-  - traverse-with-class ==1.0.0.0
+  - traverse-with-class ==1.0.1.0
   - tree-diff ==0.1
   - tree-fun ==0.8.1.0
   - trifecta ==2
@@ -2227,7 +2222,7 @@ default-package-overrides:
   - type-operators ==0.2.0.0
   - typerep-map ==0.3.2
   - type-spec ==0.4.0.0
-  - tz ==0.1.3.2
+  - tz ==0.1.3.3
   - tzdata ==0.1.20190325.0
   - ua-parser ==0.7.5.1
   - ucam-webauth ==0.1.0.0
@@ -2356,7 +2351,7 @@ default-package-overrides:
   - webex-teams-api ==0.2.0.0
   - webex-teams-conduit ==0.2.0.0
   - webex-teams-pipes ==0.2.0.0
-  - web-routes ==0.27.14.2
+  - web-routes ==0.27.14.3
   - web-routes-hsp ==0.24.6.1
   - web-routes-wai ==0.24.3.1
   - webrtc-vad ==0.1.0.3
@@ -2391,7 +2386,7 @@ default-package-overrides:
   - writer-cps-mtl ==0.1.1.6
   - writer-cps-transformers ==0.5.6.1
   - ws ==0.0.5
-  - wuss ==1.1.14
+  - wuss ==1.1.15
   - X11 ==1.9.1
   - X11-xft ==0.3.1
   - x11-xim ==0.0.9.0
@@ -2429,7 +2424,7 @@ default-package-overrides:
   - xmonad-extras ==0.15.2
   - xss-sanitize ==0.3.6
   - xxhash-ffi ==0.2.0.0
-  - yaml ==0.11.1.2
+  - yaml ==0.11.2.0
   - yeshql ==4.1.0.1
   - yeshql-core ==4.1.0.2
   - yeshql-hdbc ==4.1.0.2
@@ -2438,7 +2433,7 @@ default-package-overrides:
   - yesod-auth ==1.6.8
   - yesod-auth-hashdb ==1.7.1.1
   - yesod-auth-oauth2 ==0.6.1.2
-  - yesod-bin ==1.6.0.3
+  - yesod-bin ==1.6.0.4
   - yesod-core ==1.6.16.1
   - yesod-csp ==0.2.5.0
   - yesod-eventsource ==1.6.0
@@ -2453,7 +2448,7 @@ default-package-overrides:
   - yesod-recaptcha2 ==0.3.0
   - yesod-sitemap ==1.6.0
   - yesod-static ==1.6.0.1
-  - yesod-test ==1.6.7
+  - yesod-test ==1.6.8
   - yesod-text-markdown ==0.1.10
   - yesod-websockets ==0.3.0.2
   - yes-precure5-command ==5.5.3
@@ -2549,7 +2544,6 @@ package-maintainers:
     - funcmp
     - git-annex
     - hackage-db
-    - haskell-ci
     - hledger
     - hledger-interest
     - hledger-ui
@@ -2595,6 +2589,7 @@ package-maintainers:
   cdepillabout:
     - pretty-simple
     - purescript
+    - spago
     - termonad
 
 unsupported-platforms:
@@ -2856,6 +2851,7 @@ broken-packages:
   - alerta
   - alex-meta
   - alex-prelude
+  - alex-tools
   - alfred
   - alg
   - alga
@@ -2938,6 +2934,7 @@ broken-packages:
   - apecs-stm
   - apelsin
   - api-builder
+  - api-rpc-factom
   - api-rpc-pegnet
   - api-tools
   - api-yoti
@@ -2999,6 +2996,7 @@ broken-packages:
   - array-chunks
   - array-forth
   - array-primops
+  - arrayfire
   - arraylist
   - ArrayRef
   - arrow-improve
@@ -3265,6 +3263,7 @@ broken-packages:
   - biofasta
   - biofastq
   - biohazard
+  - BioHMM
   - bioinformatics-toolkit
   - biophd
   - biopsl
@@ -3274,6 +3273,7 @@ broken-packages:
   - bird
   - BirdPP
   - bisect-binary
+  - bishbosh
   - bit-array
   - bit-stream
   - bitcoin-hs
@@ -3389,6 +3389,7 @@ broken-packages:
   - buffer
   - buffer-builder-aeson
   - BufferedSocket
+  - buffet
   - buffon
   - bugzilla
   - build
@@ -3447,11 +3448,13 @@ broken-packages:
   - cabal-ghc-dynflags
   - cabal-ghci
   - cabal-graphdeps
+  - cabal-helper
   - Cabal-ide-backend
   - cabal-info
   - cabal-install-bundle
   - cabal-install-ghc72
   - cabal-install-ghc74
+  - cabal-install-parsers
   - cabal-meta
   - cabal-mon
   - cabal-nirvana
@@ -3493,7 +3496,9 @@ broken-packages:
   - calculator
   - caldims
   - caledon
+  - calenderweek
   - call
+  - call-alloy
   - call-haskell-from-anything
   - camfort
   - campfire
@@ -3686,6 +3691,7 @@ broken-packages:
   - cloud-haskell
   - cloud-seeder
   - cloudfront-signer
+  - cloudi
   - clr-inline
   - clua
   - cluss
@@ -3714,6 +3720,8 @@ broken-packages:
   - co-log-sys
   - Coadjute
   - coalpit
+  - cobot-io
+  - cobot-tools
   - code-builder
   - codec-beam
   - codec-libevent
@@ -3765,6 +3773,7 @@ broken-packages:
   - compact-socket
   - compact-string
   - compact-string-fix
+  - compact-word-vectors
   - Compactable
   - compdata-dags
   - competition
@@ -3828,6 +3837,7 @@ broken-packages:
   - conkin
   - conlogger
   - connection-string
+  - connections
   - Conscript
   - consistent
   - const-math-ghc-plugin
@@ -4178,6 +4188,7 @@ broken-packages:
   - dgim
   - dgs
   - dhall-check
+  - dhall-fly
   - dhall-lsp-server
   - dhall-nix
   - dhall-to-cabal
@@ -4311,7 +4322,6 @@ broken-packages:
   - domplate
   - dot-linker
   - dot2graphml
-  - dotenv
   - dotfs
   - doublify-toolkit
   - dovin
@@ -4357,6 +4367,7 @@ broken-packages:
   - dtd-text
   - dtw
   - dual
+  - duet
   - Dung
   - duplo
   - Dust
@@ -4432,6 +4443,7 @@ broken-packages:
   - email
   - email-header
   - email-postmark
+  - email-validator
   - emailparse
   - embeddock
   - embeddock-example
@@ -4544,6 +4556,7 @@ broken-packages:
   - exif
   - exinst-deepseq
   - exinst-hashable
+  - exist-instances
   - exists
   - exitcode
   - expand
@@ -4573,6 +4586,7 @@ broken-packages:
   - f-ree-hack-cheats-free-v-bucks-generator
   - Facebook-Password-Hacker-Online-Latest-Version
   - faceted
+  - factory
   - Facts
   - factual-api
   - fadno
@@ -4667,6 +4681,7 @@ broken-packages:
   - FilePather
   - filepather
   - Files
+  - filestore
   - FileSystem
   - filesystem-conduit
   - filesystem-enumerator
@@ -4689,6 +4704,7 @@ broken-packages:
   - first-and-last
   - firstify
   - FirstOrderTheory
+  - fishfood
   - fit
   - fits-parse
   - fitsio
@@ -4759,6 +4775,7 @@ broken-packages:
   - Forestry
   - forger
   - ForkableT
+  - forma
   - formal
   - FormalGrammars
   - format
@@ -4864,6 +4881,10 @@ broken-packages:
   - funnyprint
   - funpat
   - funsat
+  - fused-effects-exceptions
+  - fused-effects-lens
+  - fused-effects-random
+  - fused-effects-resumable
   - fusion
   - futhark
   - futun
@@ -4877,6 +4898,7 @@ broken-packages:
   - g2q
   - g4ip
   - gact
+  - galois-fft
   - game-probability
   - gameclock
   - gamgee
@@ -4959,6 +4981,7 @@ broken-packages:
   - getflag
   - GGg
   - ggtsTC
+  - gh-labeler
   - ghc-core-smallstep
   - ghc-datasize
   - ghc-dump-tree
@@ -5188,6 +5211,8 @@ broken-packages:
   - GrowlNotify
   - grpc-api-etcd
   - grpc-etcd-client
+  - grpc-haskell
+  - grpc-haskell-core
   - gruff
   - gruff-examples
   - gsc-weighting
@@ -5289,7 +5314,6 @@ broken-packages:
   - hakyll-dir-list
   - hakyll-favicon
   - hakyll-filestore
-  - hakyll-images
   - hakyll-ogmarkup
   - hakyll-R
   - hakyll-sass
@@ -5412,6 +5436,7 @@ broken-packages:
   - haskell-bitmex-client
   - haskell-bitmex-rest
   - haskell-brainfuck
+  - haskell-ci
   - haskell-cnc
   - haskell-coffee
   - haskell-compression
@@ -5505,6 +5530,7 @@ broken-packages:
   - haskmon
   - haskoin
   - haskoin-bitcoind
+  - haskoin-core
   - haskoin-crypto
   - haskoin-node
   - haskoin-protocol
@@ -5634,6 +5660,7 @@ broken-packages:
   - hedgehog-classes
   - hedgehog-gen-json
   - hedgehog-generic
+  - hedgehog-golden
   - Hedi
   - hedis-config
   - hedis-pile
@@ -5889,6 +5916,7 @@ broken-packages:
   - hoovie
   - hopencc
   - hopencl
+  - hOpenPGP
   - hopenpgp-tools
   - hopfield
   - hoppy-docs
@@ -5946,6 +5974,9 @@ broken-packages:
   - hR
   - hranker
   - HRay
+  - hreq-client
+  - hreq-conduit
+  - hreq-core
   - Hricket
   - hricket
   - hriemann
@@ -6156,6 +6187,7 @@ broken-packages:
   - http-dispatch
   - http-enumerator
   - http-grammar
+  - http-io-streams
   - http-kinder
   - http-monad
   - http-pony-serve-wai
@@ -6166,6 +6198,7 @@ broken-packages:
   - http-streams
   - http-wget
   - http2-client-grpc
+  - http2-grpc-proto3-wire
   - https-everywhere-rules
   - https-everywhere-rules-raw
   - httpspec
@@ -6560,6 +6593,7 @@ broken-packages:
   - JYU-Utils
   - kademlia
   - kafka-client
+  - kafka-client-sync
   - kaleidoscope
   - Kalman
   - kalman
@@ -7065,6 +7099,9 @@ broken-packages:
   - marxup
   - masakazu-bot
   - MASMGen
+  - massiv
+  - massiv-io
+  - massiv-test
   - master-plan
   - matchable-th
   - matchers
@@ -7207,6 +7244,7 @@ broken-packages:
   - mm2
   - mmsyn2
   - mmsyn4
+  - mmsyn6ukr
   - mmtf
   - mmtl
   - mmtl-base
@@ -7292,6 +7330,7 @@ broken-packages:
   - monoids
   - monopati
   - monte-carlo
+  - months
   - monzo
   - moo
   - moonshine
@@ -7300,11 +7339,14 @@ broken-packages:
   - morley
   - morley-prelude
   - morph
+  - morpheus-graphql-cli
   - morphisms-functors
   - morphisms-functors-inventory
   - morphisms-objects
   - morte
   - mosaico-lib
+  - moto
+  - moto-postgresql
   - mount
   - movie-monad
   - mp
@@ -7448,6 +7490,7 @@ broken-packages:
   - NestedFunctor
   - nestedmap
   - net-mqtt
+  - net-mqtt-rpc
   - net-spider
   - net-spider-cli
   - net-spider-pangraph
@@ -7522,6 +7565,7 @@ broken-packages:
   - nirum
   - nitro
   - nixfromnpm
+  - nixpkgs-update
   - nkjp
   - nlp-scores
   - nlp-scores-scripts
@@ -7547,6 +7591,7 @@ broken-packages:
   - NoSlow
   - not-gloss-examples
   - notcpp
+  - notifications-tray-icon
   - notmuch-haskell
   - notmuch-web
   - now-haskell
@@ -7572,6 +7617,7 @@ broken-packages:
   - numhask-histogram
   - numhask-prelude
   - numhask-range
+  - numhask-space
   - numhask-test
   - Nussinov78
   - Nutri
@@ -7677,6 +7723,7 @@ broken-packages:
   - orgstat
   - origami
   - orizentic
+  - ormolu
   - OrPatterns
   - osc
   - oscpacking
@@ -7712,12 +7759,13 @@ broken-packages:
   - pairing
   - pam
   - panda
+  - pandoc-citeproc-preamble
+  - pandoc-crossref
   - pandoc-include
   - pandoc-include-code
   - pandoc-japanese-filters
   - pandoc-lens
   - pandoc-markdown-ghci-filter
-  - pandoc-placetable
   - pandoc-plantuml-diagrams
   - pandoc-pyplot
   - pandoc-unlit
@@ -7883,6 +7931,7 @@ broken-packages:
   - piet
   - pig
   - pinchot
+  - pine
   - ping
   - pinpon
   - Pipe
@@ -7957,6 +8006,7 @@ broken-packages:
   - pocket-dns
   - point-octree
   - pointfree-fancy
+  - pointful
   - pointless-lenses
   - pointless-rewrite
   - pokemon-go-protobuf-types
@@ -8090,6 +8140,7 @@ broken-packages:
   - product
   - prof2dot
   - prof2pretty
+  - profunctor-optics
   - progress
   - progress-meter
   - progressbar
@@ -8113,6 +8164,7 @@ broken-packages:
   - proteome
   - proto-lens-combinators
   - proto-lens-descriptors
+  - proto-lens-jsonpb
   - proto3-suite
   - protobuf-native
   - protocol-buffers-descriptor-fork
@@ -8224,6 +8276,7 @@ broken-packages:
   - quiver-instances
   - quiver-interleave
   - quiver-sort
+  - quokka
   - quoridor-hs
   - qux
   - R-pandoc
@@ -8355,6 +8408,7 @@ broken-packages:
   - reformat
   - refresht
   - refurb
+  - reg-alloc
   - regex-deriv
   - regex-dfa
   - regex-generator
@@ -8482,6 +8536,7 @@ broken-packages:
   - riff
   - ring-buffer
   - ring-buffers
+  - rings
   - riot
   - risc386
   - riscv-isa
@@ -8552,6 +8607,7 @@ broken-packages:
   - rws
   - RxHaskell
   - s-expression
+  - S3
   - SableCC2Hs
   - safe-access
   - safe-buffer-monad
@@ -8617,6 +8673,7 @@ broken-packages:
   - scenegraph
   - schedevr
   - schedule-planner
+  - scheduler
   - schedyield
   - schemas
   - schematic
@@ -8684,6 +8741,7 @@ broken-packages:
   - Semantique
   - semdoc
   - semi-iso
+  - semialign-extras
   - semialign-indexed
   - semialign-optics
   - semibounded-lattices
@@ -8892,6 +8950,7 @@ broken-packages:
   - singleton-dict
   - singleton-typelits
   - singnal
+  - singular-factory
   - sink
   - siphon
   - siren-json
@@ -9040,6 +9099,7 @@ broken-packages:
   - sorted
   - sorting
   - sorty
+  - souffle-haskell
   - sound-collage
   - sounddelay
   - soundgen
@@ -9110,6 +9170,7 @@ broken-packages:
   - sqlvalue-list
   - sqsd-local
   - squeal-postgresql
+  - squeeze
   - sr-extra
   - srcinst
   - sscan
@@ -9120,6 +9181,7 @@ broken-packages:
   - sssp
   - sstable
   - SSTG
+  - st2
   - stable-heap
   - stable-maps
   - stable-marriage
@@ -9378,6 +9440,7 @@ broken-packages:
   - tasty-laws
   - tasty-lens
   - tasty-stats
+  - tasty-tap
   - Taxonomy
   - TaxonomyTools
   - TBC
@@ -9692,6 +9755,7 @@ broken-packages:
   - twilio
   - twill
   - twine
+  - twirp
   - twitter
   - twitter-conduit
   - twitter-enumerator
@@ -10055,6 +10119,7 @@ broken-packages:
   - websockets-simple
   - websockets-simple-extra
   - webwire
+  - weekdaze
   - weighted
   - weighted-regexp
   - welshy
@@ -10226,6 +10291,7 @@ broken-packages:
   - yam-servant
   - yam-transaction-odbc
   - yam-web
+  - yaml-combinators
   - yaml-pretty-extras
   - yaml-rpc
   - yaml-rpc-scotty
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index 5308296c8332..b31ed9af71b6 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -259,7 +259,7 @@ self: super: builtins.intersectAttrs super {
   wxcore = super.wxcore.override { wxGTK = pkgs.wxGTK30; };
 
   # Test suite wants to connect to $DISPLAY.
-  hsqml = dontCheck (addExtraLibrary (super.hsqml.override { qt5 = pkgs.qt5Full; }) pkgs.libGLU_combined);
+  hsqml = dontCheck (addExtraLibraries (super.hsqml.override { qt5 = pkgs.qt5Full; }) [pkgs.libGLU pkgs.libGL]);
 
   # Tests attempt to use NPM to install from the network into
   # /homeless-shelter. Disabled.
@@ -297,10 +297,22 @@ self: super: builtins.intersectAttrs super {
     );
 
   llvm-hs =
-      let dontCheckDarwin = if pkgs.stdenv.isDarwin
-                            then dontCheck
-                            else pkgs.lib.id;
-      in dontCheckDarwin (super.llvm-hs.override { llvm-config = pkgs.llvm_8; });
+    let llvmHsWithLlvm8 = super.llvm-hs.override { llvm-config = pkgs.llvm_8; };
+    in
+    if pkgs.stdenv.isDarwin
+    then
+      overrideCabal llvmHsWithLlvm8 (oldAttrs: {
+        # One test fails on darwin.
+        doCheck = false;
+        # llvm-hs's Setup.hs file tries to add the lib/ directory from LLVM8 to
+        # the DYLD_LIBRARY_PATH environment variable.  This messes up clang
+        # when called from GHC, probably because clang is version 7, but we are
+        # using LLVM8.
+        preCompileBuildDriver = oldAttrs.preCompileBuildDriver or "" + ''
+          substituteInPlace Setup.hs --replace "addToLdLibraryPath libDir" "pure ()"
+        '';
+      })
+    else llvmHsWithLlvm8;
 
   # Needs help finding LLVM.
   spaceprobe = addBuildTool super.spaceprobe self.llvmPackages.llvm;
@@ -625,4 +637,59 @@ self: super: builtins.intersectAttrs super {
   cairo = addBuildTool super.cairo self.buildHaskellPackages.gtk2hs-buildtools;
   pango = disableHardening (addBuildTool super.pango self.buildHaskellPackages.gtk2hs-buildtools) ["fortify"];
 
+  spago =
+    let
+      # Spago basically compiles with LTS-14, but it requires a newer version
+      # of directory.  This is to work around a bug only present on windows, so
+      # we can safely jailbreak spago and use the older directory package from
+      # LTS-14.
+      spagoWithOverrides = doJailbreak (super.spago.override {
+        # spago requires the latest version of dhall.
+        directory = self.dhall_1_27_0;
+      });
+
+      docsSearchAppJsFile = pkgs.fetchurl {
+        url = "https://github.com/spacchetti/purescript-docs-search/releases/download/v0.0.5/docs-search-app.js";
+        sha256 = "11721x455qzh40vzfmralaynn9v8b5wix86r107hhs08vhryjib2";
+      };
+
+      purescriptDocsSearchFile = pkgs.fetchurl {
+        url = "https://github.com/spacchetti/purescript-docs-search/releases/download/v0.0.5/purescript-docs-search";
+        sha256 = "16p1fmdvpwz1yswav8qjsd26c9airb22xncqw1rjnbd8lcpqx0p5";
+      };
+
+      spagoFixHpack = overrideCabal spagoWithOverrides (drv: {
+        postUnpack = (drv.postUnpack or "") + ''
+          # The source for spago is pulled directly from GitHub.  It uses a
+          # package.yaml file with hpack, not a .cabal file.  In the package.yaml file,
+          # it uses defaults from the master branch of the hspec repo.  It will try to
+          # fetch these at build-time (but it will fail if running in the sandbox).
+          #
+          # The following line modifies the package.yaml to not pull in
+          # defaults from the hspec repo.
+          substituteInPlace "$sourceRoot/package.yaml" --replace 'defaults: hspec/hspec@master' ""
+
+          # Spago includes the following two files directly into the binary
+          # with Template Haskell.  They are fetched at build-time from the
+          # `purescript-docs-search` repo above.  If they cannot be fetched at
+          # build-time, they are pulled in from the `templates/` directory in
+          # the spago source.
+          #
+          # However, they are not actually available in the spago source, so they
+          # need to fetched with nix and put in the correct place.
+          # https://github.com/spacchetti/spago/issues/510
+          cp ${docsSearchAppJsFile} "$sourceRoot/templates/docs-search-app.js"
+          cp ${purescriptDocsSearchFile} "$sourceRoot/templates/purescript-docs-search"
+        '';
+      });
+
+      # Haddock generation is broken for spago.
+      # https://github.com/spacchetti/spago/issues/511
+      spagoWithoutHaddocks = dontHaddock spagoFixHpack;
+
+      # Because of the problem above with pulling in hspec defaults to the
+      # package.yaml file, the tests are disabled.
+      spagoWithoutChecks = dontCheck spagoWithoutHaddocks;
+    in
+    spagoWithoutChecks;
 }
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 2d1e866ac09b..c343821f2d96 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -1438,7 +1438,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {inherit (pkgs) db; inherit (pkgs) dbxml; 
+     }) {inherit (pkgs) db; inherit (pkgs) dbxml;
          inherit (pkgs) xercesc; inherit (pkgs) xqilla;};
 
   "BerlekampAlgorithm" = callPackage
@@ -1509,6 +1509,8 @@ self: {
        ];
        description = "Libary for Hidden Markov Models in HMMER3 format";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "Biobase" = callPackage
@@ -1668,8 +1670,8 @@ self: {
      }:
      mkDerivation {
        pname = "BiobaseHTTP";
-       version = "1.1.0";
-       sha256 = "0y26d4aqxqpdr142y26p70v6cnrr48dhxm5nnnhqxg0lsirbxad0";
+       version = "1.2.0";
+       sha256 = "1m6lfs08zyk2xcxcmapcdfqp7afmzz3n2r3rr3qzlibwc6w7pj1d";
        libraryHaskellDepends = [
          aeson base BiobaseEnsembl bytestring conduit either-unwrap HTTP
          http-conduit hxt mtl network Taxonomy text transformers
@@ -2629,10 +2631,10 @@ self: {
        license = "GPL";
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {opencv_calib3d = null; opencv_contrib = null; 
-         opencv_core = null; opencv_features2d = null; opencv_flann = null; 
-         opencv_gpu = null; opencv_highgui = null; opencv_imgproc = null; 
-         opencv_legacy = null; opencv_ml = null; opencv_objdetect = null; 
+     }) {opencv_calib3d = null; opencv_contrib = null;
+         opencv_core = null; opencv_features2d = null; opencv_flann = null;
+         opencv_gpu = null; opencv_highgui = null; opencv_imgproc = null;
+         opencv_legacy = null; opencv_ml = null; opencv_objdetect = null;
          opencv_video = null;};
 
   "Cabal_2_2_0_1" = callPackage
@@ -3163,12 +3165,14 @@ self: {
      }:
      mkDerivation {
        pname = "ClustalParser";
-       version = "1.2.3";
-       sha256 = "0wjs6bsbyykrm0hjdybnap86zsnhjjifampm08dqg7fqp7f7pmpy";
+       version = "1.3.0";
+       sha256 = "0zm0n4pvs9dspfh3x7zfjs20k78mkhsqy6xkg4002b7g8c5bwkp6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base parsec text vector ];
-       executableHaskellDepends = [ base cmdargs either-unwrap ];
+       executableHaskellDepends = [
+         base cmdargs either-unwrap parsec text vector
+       ];
        testHaskellDepends = [ base hspec hspec-discover parsec text ];
        testToolDepends = [ hspec-discover ];
        description = "Libary for parsing Clustal tools output";
@@ -6462,7 +6466,7 @@ self: {
        librarySystemDepends = [ libGL libX11 libXext libXfixes ];
        description = "A Haskell binding for GLFW";
        license = stdenv.lib.licenses.bsd3;
-     }) {inherit (pkgs) libGL; inherit (pkgs.xorg) libX11; 
+     }) {inherit (pkgs) libGL; inherit (pkgs.xorg) libX11;
          inherit (pkgs.xorg) libXext; inherit (pkgs.xorg) libXfixes;};
 
   "GLFW-OGL" = callPackage
@@ -7825,7 +7829,7 @@ self: {
        license = "LGPL";
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {mysqlclient = null; inherit (pkgs) openssl; 
+     }) {mysqlclient = null; inherit (pkgs) openssl;
          inherit (pkgs) zlib;};
 
   "HDBC-odbc" = callPackage
@@ -8025,12 +8029,12 @@ self: {
      }) {};
 
   "HGL" = callPackage
-    ({ mkDerivation, array, base, X11 }:
+    ({ mkDerivation, array, base, stm, X11 }:
      mkDerivation {
        pname = "HGL";
-       version = "3.2.3.1";
-       sha256 = "0m9y2sdlbmw0n4xad26viajr391w0clpqw1256lanidwkrxfwpfh";
-       libraryHaskellDepends = [ array base X11 ];
+       version = "3.2.3.2";
+       sha256 = "087k8i0bha3mzpqa3z3c6npl5vmccg7xcwl28lbv0yzbvj1qkg38";
+       libraryHaskellDepends = [ array base stm X11 ];
        description = "A simple graphics library based on X11 or Win32";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -8129,7 +8133,7 @@ self: {
        description = "A Toolset for the Haskell Game Programmer - CEGUI Bindings";
        license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {CEGUIBase = null; CEGUIOgreRenderer = null; 
+     }) {CEGUIBase = null; CEGUIOgreRenderer = null;
          hg3dcegui050 = null;};
 
   "HGamer3D-Common" = callPackage
@@ -8281,8 +8285,8 @@ self: {
        description = "Ogre Binding for HGamer3D";
        license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {OgreMain = null; OgrePaging = null; OgreProperty = null; 
-         OgreRTShaderSystem = null; OgreTerrain = null; 
+     }) {OgreMain = null; OgrePaging = null; OgreProperty = null;
+         OgreRTShaderSystem = null; OgreTerrain = null;
          hg3dogre050 = null;};
 
   "HGamer3D-SDL2-Binding" = callPackage
@@ -8300,7 +8304,7 @@ self: {
        description = "SDL2 Binding for HGamer3D";
        license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {inherit (pkgs) SDL2; hg3dsdl2050 = null; 
+     }) {inherit (pkgs) SDL2; hg3dsdl2050 = null;
          inherit (pkgs.xorg) libX11;};
 
   "HGamer3D-SFML-Binding" = callPackage
@@ -8318,7 +8322,7 @@ self: {
        description = "SFML Binding for HGamer3D";
        license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {hg3dsfml050 = null; sfml-audio = null; sfml-network = null; 
+     }) {hg3dsfml050 = null; sfml-audio = null; sfml-network = null;
          sfml-system = null; sfml-window = null;};
 
   "HGamer3D-WinEvent" = callPackage
@@ -9227,6 +9231,42 @@ self: {
        license = stdenv.lib.licenses.lgpl21;
      }) {};
 
+  "HTF_0_14_0_1" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, array, base
+     , base64-bytestring, bytestring, Cabal, containers, cpphs, Diff
+     , directory, filepath, haskell-src, HUnit, lifted-base
+     , monad-control, mtl, old-time, pretty, process, QuickCheck, random
+     , regex-compat, template-haskell, temporary, text, time, unix
+     , unordered-containers, vector, xmlgen
+     }:
+     mkDerivation {
+       pname = "HTF";
+       version = "0.14.0.1";
+       sha256 = "025gcc77j547713bxm8y2i7xmq95nc4imyym6agmfrd7bh8h1jdb";
+       isLibrary = true;
+       isExecutable = true;
+       setupHaskellDepends = [ base Cabal process ];
+       libraryHaskellDepends = [
+         aeson array base base64-bytestring bytestring containers cpphs Diff
+         directory haskell-src HUnit lifted-base monad-control mtl old-time
+         pretty process QuickCheck random regex-compat text time unix vector
+         xmlgen
+       ];
+       libraryToolDepends = [ cpphs ];
+       executableHaskellDepends = [
+         array base cpphs directory HUnit mtl old-time random text
+       ];
+       executableToolDepends = [ cpphs ];
+       testHaskellDepends = [
+         aeson aeson-pretty base bytestring directory filepath HUnit mtl
+         process random regex-compat template-haskell temporary text
+         unordered-containers
+       ];
+       description = "The Haskell Test Framework";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "HTTP" = callPackage
     ({ mkDerivation, array, base, bytestring, deepseq, httpd-shed
      , HUnit, mtl, network, network-uri, parsec, pureMD5, split
@@ -12456,6 +12496,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ListLike_4_6_3" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, deepseq
+     , dlist, fmlist, HUnit, QuickCheck, random, text, utf8-string
+     , vector
+     }:
+     mkDerivation {
+       pname = "ListLike";
+       version = "4.6.3";
+       sha256 = "10vn7gslx4zzjq547cwpzdfb4c5w3nsfis6qr03dr9c4fdzj61lx";
+       libraryHaskellDepends = [
+         array base bytestring containers deepseq dlist fmlist text
+         utf8-string vector
+       ];
+       testHaskellDepends = [
+         array base bytestring containers dlist fmlist HUnit QuickCheck
+         random text utf8-string vector
+       ];
+       description = "Generalized support for list-like structures";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ListT" = callPackage
     ({ mkDerivation, base, smallcheck, tasty, tasty-smallcheck
      , transformers, util
@@ -12837,15 +12899,15 @@ self: {
      }:
      mkDerivation {
        pname = "MagicHaskeller";
-       version = "0.9.6.7";
-       sha256 = "0cl0lq45x8pxsbdiqg9sx39jvs8h2h32mni5zq2jb61ac7wim9g1";
+       version = "0.9.6.8";
+       sha256 = "1091s8jrynjb76wg5r53kp0siv0dgbsxsb9y2djrq1iz06h01m55";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base bytestring containers directory ghc ghc-paths hashable
          haskell-src html mtl network network-uri pretty random syb
-         template-haskell tf-random time
+         template-haskell tf-random time transformers
        ];
        executableHaskellDepends = [
          abstract-par array base bytestring cgi containers directory
@@ -12885,8 +12947,8 @@ self: {
      }:
      mkDerivation {
        pname = "Map";
-       version = "0.1.3.0";
-       sha256 = "06i3lw329mvx7is5kb8hl2dz9dd0r8qh5g674ld006kbbk7p3jay";
+       version = "0.1.3.1";
+       sha256 = "1a5pygjxk839lxx6pavq72fl35sk53zq10q1ivsm309xrvq93pki";
        libraryHaskellDepends = [
          base containers either-both filtrable util
        ];
@@ -14493,8 +14555,8 @@ self: {
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {comctl32 = null; comdlg32 = null; gdi32 = null; 
-         kernel32 = null; ole32 = null; shell32 = null; user32 = null; 
+     }) {comctl32 = null; comdlg32 = null; gdi32 = null;
+         kernel32 = null; ole32 = null; shell32 = null; user32 = null;
          winmm = null; winspool = null;};
 
   "ObjectName" = callPackage
@@ -16175,15 +16237,14 @@ self: {
      }:
      mkDerivation {
        pname = "R-pandoc";
-       version = "0.2.2";
-       sha256 = "1kb9dnwbkinx3wi7fr8i9a7dpl1gx08f4ysml1jacf1p6nvhi1lq";
+       version = "0.2.3";
+       sha256 = "05pb2gr0s4fjd3lj90r6hdj30bzsz16jsibmi99xi3172plyk449";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base directory filepath pandoc-types process split
        ];
        executableHaskellDepends = [ base pandoc-types ];
-       description = "A pandoc filter to express R plots inside markdown";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -16931,6 +16992,8 @@ self: {
        ];
        description = "Library for accessing S3 compatible storage services";
        license = stdenv.lib.licenses.gpl3Plus;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "SBench" = callPackage
@@ -17106,9 +17169,9 @@ self: {
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {csfml-audio = null; csfml-graphics = null; 
-         csfml-network = null; csfml-system = null; csfml-window = null; 
-         sfml-audio = null; sfml-graphics = null; sfml-network = null; 
+     }) {csfml-audio = null; csfml-graphics = null;
+         csfml-network = null; csfml-system = null; csfml-window = null;
+         sfml-audio = null; sfml-graphics = null; sfml-network = null;
          sfml-system = null; sfml-window = null;};
 
   "SFML-control" = callPackage
@@ -18546,8 +18609,8 @@ self: {
      }:
      mkDerivation {
        pname = "StockholmAlignment";
-       version = "1.1.2";
-       sha256 = "1x41m0xcmz9j4gypbl4pi6a6v53j6v37ndl8g5rq60fqfl18hizb";
+       version = "1.2.0";
+       sha256 = "0zz437d771cb4zpjzcddjl8xvz9qxmj1pyxql70lqczvqrk6k78y";
        libraryHaskellDepends = [
          base colour diagrams-cairo diagrams-lib directory either-unwrap
          filepath parsec ParsecTools SVGFonts text vector
@@ -19047,8 +19110,8 @@ self: {
      }:
      mkDerivation {
        pname = "Taxonomy";
-       version = "1.0.3";
-       sha256 = "0w4j1v2l7c8a8x0rpvq1gxbvjcw83kj84m5bw6bwx3x6gc997xxn";
+       version = "2.0.0";
+       sha256 = "1b2x0lkg5pgjk1jyanbi8g9rs1sr7llihyjhdfsg6fajklrzh3m9";
        libraryHaskellDepends = [
          aeson base bytestring either-unwrap fgl graphviz parsec text vector
        ];
@@ -20649,10 +20712,8 @@ self: {
     ({ mkDerivation, base, bytestring, deepseq, text, text-short }:
      mkDerivation {
        pname = "X";
-       version = "0.3.0.0";
-       sha256 = "0grjiznl8j44mq3m0jkhm9z7wcr4cywrnfmk92nk3g6ddhcyakkc";
-       revision = "1";
-       editedCabalFile = "1nbp0zci2sp07cr5j5xlh7gswcnj52z9dp6akh9xk4mzk3salxwq";
+       version = "0.3.1.0";
+       sha256 = "10paczbaiwag50v8ay9pl0f6whqds6y0yy14z0h8s6j04p9zd50f";
        libraryHaskellDepends = [
          base bytestring deepseq text text-short
        ];
@@ -20674,8 +20735,8 @@ self: {
        ];
        description = "A binding to the X11 graphics library";
        license = stdenv.lib.licenses.bsd3;
-     }) {inherit (pkgs.xorg) libX11; inherit (pkgs.xorg) libXScrnSaver; 
-         inherit (pkgs.xorg) libXext; inherit (pkgs.xorg) libXinerama; 
+     }) {inherit (pkgs.xorg) libX11; inherit (pkgs.xorg) libXScrnSaver;
+         inherit (pkgs.xorg) libXext; inherit (pkgs.xorg) libXinerama;
          inherit (pkgs.xorg) libXrandr; inherit (pkgs.xorg) libXrender;};
 
   "X11-extras" = callPackage
@@ -22003,19 +22064,20 @@ self: {
   "acid-state" = callPackage
     ({ mkDerivation, array, base, bytestring, cereal, containers
      , criterion, deepseq, directory, filelock, filepath, hedgehog
-     , hspec, hspec-discover, mtl, network, random, safecopy, stm
-     , system-fileio, system-filepath, template-haskell, text
-     , th-expand-syns, time, unix
+     , hspec, hspec-discover, mtl, network, network-bsd, random
+     , safecopy, stm, system-fileio, system-filepath, template-haskell
+     , text, th-expand-syns, time, unix
      }:
      mkDerivation {
        pname = "acid-state";
-       version = "0.15.2";
-       sha256 = "08v807yxkd13m1zffw1yryifjgn7w28a31hb0sg0n3yw7vzk9ny3";
+       version = "0.16.0";
+       sha256 = "18pdxawx28wsvjah2rih6fa8mgxpkrpskfkvb5gjb1yn29dd8cmn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          array base bytestring cereal containers directory filelock filepath
-         mtl network safecopy stm template-haskell th-expand-syns unix
+         mtl network network-bsd safecopy stm template-haskell
+         th-expand-syns unix
        ];
        executableHaskellDepends = [ base directory ];
        testHaskellDepends = [
@@ -22648,8 +22710,8 @@ self: {
     ({ mkDerivation, base, criterion, time }:
      mkDerivation {
        pname = "acme-year";
-       version = "2016";
-       sha256 = "1zvhy62hrc47idl1awbdjzrhbhqjplsfy7lpybvdhc298criygdl";
+       version = "2019";
+       sha256 = "011vpap3j0riw6y23j8c4h7610yhjq00jpcfjg2g7lagb62gmkpa";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base time ];
        benchmarkHaskellDepends = [ base criterion ];
@@ -23105,21 +23167,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "advent-of-code-api_0_2_1_0" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
-     , deepseq, directory, filepath, finite-typelits, http-api-data
-     , http-client, http-client-tls, http-media, HUnit, mtl, servant
-     , servant-client, servant-client-core, stm, tagsoup, text, time
+  "advent-of-code-api_0_2_4_2" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, deepseq
+     , directory, filepath, finite-typelits, http-api-data, http-client
+     , http-client-tls, http-media, HUnit, megaparsec, mtl, profunctors
+     , servant, servant-client, servant-client-core, stm, tagsoup, text
+     , time
      }:
      mkDerivation {
        pname = "advent-of-code-api";
-       version = "0.2.1.0";
-       sha256 = "1p6lix0sj7zkcmijc2dphy3bndvam9fmgwzn1a0lniixjz0jkhpd";
+       version = "0.2.4.2";
+       sha256 = "01mw95ygb20bg6fs9bda1fr7z05h2sinmycpvi0ccid5qci57fa3";
        libraryHaskellDepends = [
-         aeson attoparsec base bytestring containers deepseq directory
-         filepath finite-typelits http-api-data http-client http-client-tls
-         http-media mtl servant servant-client servant-client-core stm
-         tagsoup text time
+         aeson base bytestring containers deepseq directory filepath
+         finite-typelits http-api-data http-client http-client-tls
+         http-media megaparsec mtl profunctors servant servant-client
+         servant-client-core stm tagsoup text time
        ];
        testHaskellDepends = [ base directory filepath HUnit text ];
        description = "Advent of Code REST API bindings and servant API";
@@ -23212,8 +23275,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson";
-       version = "1.4.5.0";
-       sha256 = "1jhabz1lbbv6yqxqiybifi86cb5xlsadrn368n5dd0wzzc7ja4iz";
+       version = "1.4.6.0";
+       sha256 = "12s8nfsady47zlz94f7m978irwwj0l0v2x41hk8w1i14wb3b4gwj";
        libraryHaskellDepends = [
          attoparsec base base-compat bytestring containers deepseq dlist
          ghc-prim hashable primitive scientific tagged template-haskell text
@@ -23374,33 +23437,6 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-diff";
-       version = "1.1.0.7";
-       sha256 = "01d48pd7d1mb9cd5yxfajln8rmjdjq8ch91s0lav4qw1azv6vp2r";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base bytestring edit-distance-vector hashable mtl scientific
-         text unordered-containers vector
-       ];
-       executableHaskellDepends = [
-         aeson base bytestring optparse-applicative text
-       ];
-       testHaskellDepends = [
-         aeson base bytestring directory doctest filepath Glob QuickCheck
-         quickcheck-instances text unordered-containers vector
-       ];
-       description = "Extract and apply patches to JSON documents";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "aeson-diff_1_1_0_8" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, directory, doctest
-     , edit-distance-vector, filepath, Glob, hashable, mtl
-     , optparse-applicative, QuickCheck, quickcheck-instances
-     , scientific, text, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "aeson-diff";
        version = "1.1.0.8";
        sha256 = "1pim103mywlhxssrhr0ca0gsvql52g799fk73bdj5h31ziibdsi4";
        isLibrary = true;
@@ -23418,7 +23454,6 @@ self: {
        ];
        description = "Extract and apply patches to JSON documents";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "aeson-diff-generic" = callPackage
@@ -24756,23 +24791,6 @@ self: {
      }:
      mkDerivation {
        pname = "alex";
-       version = "3.2.4";
-       sha256 = "0cpjixgsr0b2x4s6hz4aa6gnmjw9i7xd9nlfi8m37zqlidq4v3nm";
-       isLibrary = false;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       executableHaskellDepends = [ array base containers directory ];
-       executableToolDepends = [ happy ];
-       testHaskellDepends = [ base process ];
-       description = "Alex is a tool for generating lexical analysers in Haskell";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "alex_3_2_5" = callPackage
-    ({ mkDerivation, array, base, containers, directory, happy, process
-     }:
-     mkDerivation {
-       pname = "alex";
        version = "3.2.5";
        sha256 = "1qz0ar9dl0zx42y1gbpd2yx09nbwxs8nw6mjmpi68z3nf098lz5p";
        isLibrary = false;
@@ -24783,7 +24801,6 @@ self: {
        testHaskellDepends = [ base process ];
        description = "Alex is a tool for generating lexical analysers in Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "alex-meta" = callPackage
@@ -24820,16 +24837,21 @@ self: {
      }) {};
 
   "alex-tools" = callPackage
-    ({ mkDerivation, base, deepseq, template-haskell, text }:
+    ({ mkDerivation, base, bytestring, deepseq, template-haskell, text
+     }:
      mkDerivation {
        pname = "alex-tools";
-       version = "0.4";
-       sha256 = "0qyh3dr5nh7whv3qh431l8x4lx3nzkildlyl3xgnaxpbs8gr8sgi";
-       revision = "2";
-       editedCabalFile = "1hz7gdff15bxvx5jijgh6ih1m2v39nadfy2yjsb43c48p9hcn93z";
-       libraryHaskellDepends = [ base deepseq template-haskell text ];
+       version = "0.5";
+       sha256 = "06ghkigqabz9h17wjpc3jwv1f4k6fajpzblzvysqzg71pfncx88m";
+       revision = "1";
+       editedCabalFile = "0br92hrl0pxw2a5k9wgzk3zwyz2dimcwwjxijgzrd2yg0s1vnm9p";
+       libraryHaskellDepends = [
+         base bytestring deepseq template-haskell text
+       ];
        description = "A set of functions for a common use case of Alex";
        license = stdenv.lib.licenses.isc;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "alfred" = callPackage
@@ -25525,6 +25547,22 @@ self: {
        broken = true;
      }) {};
 
+  "altsvc" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, tasty, tasty-hunit
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "altsvc";
+       version = "0.1.0.0";
+       sha256 = "0lgfj02ryc3130ymrkw179j311df2cj0ry9w32mvd77mwx48396c";
+       libraryHaskellDepends = [ base bytestring cereal ];
+       testHaskellDepends = [
+         base bytestring cereal tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "HTTP Alternative Services";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "alure" = callPackage
     ({ mkDerivation, alure, base, OpenAL }:
      mkDerivation {
@@ -28147,8 +28185,8 @@ self: {
      }:
      mkDerivation {
        pname = "amqp-utils";
-       version = "0.3.7.1";
-       sha256 = "1z7jf7ai7r2rlnwylqs60pqcz0h4dxj4g372c919lcvinmql1yfx";
+       version = "0.4.0.0";
+       sha256 = "0x56yif31bkf01993xh7qvd775c9k8sc6db0ghg8yd10l9fnr92c";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -28696,10 +28734,8 @@ self: {
      }:
      mkDerivation {
        pname = "ansi-pretty";
-       version = "0.1.2.1";
-       sha256 = "1ill2dlzbxn97smkzdqcjfx9z3fw7pgwvz6w36d92n8p7zwik23h";
-       revision = "6";
-       editedCabalFile = "1j2iyzf61wmwdrb8i3xynins7shjv89y4028sy13rfywsbqpjg4s";
+       version = "0.1.2.2";
+       sha256 = "0q72y2pnx5qx7jk1waq3qdry1azq07wygb9hcgjqz78lbszg19cm";
        libraryHaskellDepends = [
          aeson ansi-wl-pprint array base bytestring containers generics-sop
          nats scientific semigroups tagged text time unordered-containers
@@ -28722,12 +28758,12 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "ansi-terminal_0_10_1" = callPackage
+  "ansi-terminal_0_10_2" = callPackage
     ({ mkDerivation, base, colour }:
      mkDerivation {
        pname = "ansi-terminal";
-       version = "0.10.1";
-       sha256 = "1b168z688b1lg4d2bmbxmm2mj51mwm2wv0smfb1vcwjp2vzpqf9i";
+       version = "0.10.2";
+       sha256 = "0h09lia7gqchp023hbgwq4w8bmg33a02chaixdsx8nqbj8jf5558";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base colour ];
@@ -28739,21 +28775,22 @@ self: {
   "ansi-terminal-game" = callPackage
     ({ mkDerivation, ansi-terminal, array, base, bytestring, cereal
      , clock, exceptions, hspec, linebreak, mintty, mtl, QuickCheck
-     , split, terminal-size, timers-tick
+     , random, split, terminal-size, timers-tick
      }:
      mkDerivation {
        pname = "ansi-terminal-game";
-       version = "0.5.0.0";
-       sha256 = "1j56cia0361fdkcskwbj05gxybssrhkqd0x9bfp6zrw0m040cqk6";
+       version = "0.7.2.0";
+       sha256 = "041xw7kq620ydnbdawmsdb65021p2534f9725qddv1i0pcwdn274";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          ansi-terminal array base bytestring cereal clock exceptions
-         linebreak mintty mtl QuickCheck split terminal-size timers-tick
+         linebreak mintty mtl QuickCheck random split terminal-size
+         timers-tick
        ];
        testHaskellDepends = [
          ansi-terminal array base bytestring cereal clock exceptions hspec
-         linebreak mtl QuickCheck split terminal-size timers-tick
+         linebreak mtl QuickCheck random split terminal-size timers-tick
        ];
        description = "sdl-like functions for terminal applications, based on ansi-terminal";
        license = stdenv.lib.licenses.gpl3;
@@ -29410,23 +29447,6 @@ self: {
      }:
      mkDerivation {
        pname = "apecs";
-       version = "0.8.1";
-       sha256 = "10m3lbfg97psnk3z2ml1q9g2ymwa2fnsknrh6ggp9k5c7mskslv0";
-       libraryHaskellDepends = [
-         array base containers mtl template-haskell vector
-       ];
-       testHaskellDepends = [ base containers linear QuickCheck vector ];
-       benchmarkHaskellDepends = [ base criterion linear ];
-       description = "Fast Entity-Component-System library for game programming";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "apecs_0_8_2" = callPackage
-    ({ mkDerivation, array, base, containers, criterion, linear, mtl
-     , QuickCheck, template-haskell, vector
-     }:
-     mkDerivation {
-       pname = "apecs";
        version = "0.8.2";
        sha256 = "06dhq7knzxj48563ll7r1srlgq5nd2kbk5fzrf7x6yjp0w2c9kmp";
        libraryHaskellDepends = [
@@ -29436,7 +29456,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion linear ];
        description = "Fast Entity-Component-System library for game programming";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "apecs-gloss" = callPackage
@@ -29640,6 +29659,8 @@ self: {
        testHaskellDepends = [ base bytestring ];
        description = "RPC API client for Factom";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "api-rpc-pegnet" = callPackage
@@ -30615,8 +30636,8 @@ self: {
      }:
      mkDerivation {
        pname = "arbor-monad-metric-datadog";
-       version = "1.1.1";
-       sha256 = "1188xwwxx7ykdh7v15gqnh0kv9w1g66wp09jp1fpfyms1qj12nqj";
+       version = "1.1.2";
+       sha256 = "1wja13n9k2vad0icqsm8lydrxkgb01062ajm3y1xq7fybn5g6rbx";
        libraryHaskellDepends = [
          arbor-datadog arbor-monad-metric base bytestring containers
          generic-lens lens mtl network resourcet stm text transformers
@@ -31417,8 +31438,8 @@ self: {
      }:
      mkDerivation {
        pname = "arrayfire";
-       version = "0.4.0.0";
-       sha256 = "1skdwl2dnjhc0lbnj0vji9n23xb8hnw029k4wbp14czk91h3pzjz";
+       version = "0.6.0.0";
+       sha256 = "0vm1m3bc3c29dwbpzkp0pnxnz7rah8gqrgc0p4haivm5w4r10bf8";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -31432,6 +31453,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Haskell bindings to the ArrayFire general-purpose GPU library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {af = null;};
 
   "arraylist" = callPackage
@@ -32157,19 +32180,6 @@ self: {
      }) {inherit (pkgs) assimp;};
 
   "assoc" = callPackage
-    ({ mkDerivation, base, bifunctors }:
-     mkDerivation {
-       pname = "assoc";
-       version = "1";
-       sha256 = "0i1jj6lrabl0fhh1iya4nxr2hw1s4xmhca5qnim93ng5znziv9n2";
-       revision = "1";
-       editedCabalFile = "0hcpyypnj9qwbpk079h6lnm8aa3mp3fzjilk9qwibkmnnqwwwcld";
-       libraryHaskellDepends = [ base bifunctors ];
-       description = "swap and assoc: Symmetric and Semigroupy Bifunctors";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "assoc_1_0_1" = callPackage
     ({ mkDerivation, base, bifunctors, tagged }:
      mkDerivation {
        pname = "assoc";
@@ -32178,7 +32188,6 @@ self: {
        libraryHaskellDepends = [ base bifunctors tagged ];
        description = "swap and assoc: Symmetric and Semigroupy Bifunctors";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "assoc-list" = callPackage
@@ -32869,8 +32878,8 @@ self: {
      }:
      mkDerivation {
        pname = "atomic-write";
-       version = "0.2.0.6";
-       sha256 = "1xs3shwnlj8hmnm3q6jc8nv78z0481i5n4hrqqdmbpx8grvlnqyl";
+       version = "0.2.0.7";
+       sha256 = "03cn3ii74h0w3g4h78xsx9v2sn58r3qsr2dbdwq340xwhiwcgxdm";
        libraryHaskellDepends = [
          base bytestring directory filepath temporary text unix-compat
        ];
@@ -32943,8 +32952,8 @@ self: {
      }:
      mkDerivation {
        pname = "ats-format";
-       version = "0.2.0.32";
-       sha256 = "0waxsxj13jcxams5zz13skg46lbf5c0zkwmjap8hibrrkrrilbcv";
+       version = "0.2.0.35";
+       sha256 = "02lqpvfqmz99k5ywim9badn22y18qqss2q21ibj79l1lljw4sqss";
        isLibrary = false;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cli-setup filepath ];
@@ -32969,8 +32978,8 @@ self: {
      }:
      mkDerivation {
        pname = "ats-pkg";
-       version = "3.3.0.4";
-       sha256 = "0s9n7nf2n313ci1hn6yirf4gkyrp612cm600vnb6l7pjhj6zw3yp";
+       version = "3.4.0.1";
+       sha256 = "0lfmlsnxa7fvifqay4xvnkl8cpbx7a6vbfb0szvb5j0nfa8607n6";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -33614,21 +33623,18 @@ self: {
 
   "authenticate" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring
-     , case-insensitive, conduit, containers, http-conduit, http-types
-     , network-uri, resourcet, tagstream-conduit, text, transformers
+     , case-insensitive, conduit, containers, html-conduit, http-conduit
+     , http-types, network-uri, resourcet, text, transformers
      , unordered-containers, xml-conduit
      }:
      mkDerivation {
        pname = "authenticate";
-       version = "1.3.4";
-       sha256 = "1f1gjggfq114h3nrlzg2svm0j5ghp6n9zlgb3fnq2pgpzpdndm9z";
-       revision = "1";
-       editedCabalFile = "0ipbmf633c0kmcwwb7d51ac8s4220nfyk5xghhq66mpgna77j2c2";
+       version = "1.3.5";
+       sha256 = "10df40ycd4r45p58xzdh0vcsa401909fa99nkgd18fx5alqh84sz";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-builder bytestring case-insensitive
-         conduit containers http-conduit http-types network-uri resourcet
-         tagstream-conduit text transformers unordered-containers
-         xml-conduit
+         conduit containers html-conduit http-conduit http-types network-uri
+         resourcet text transformers unordered-containers xml-conduit
        ];
        description = "Authentication methods for Haskell web applications";
        license = stdenv.lib.licenses.mit;
@@ -33740,20 +33746,6 @@ self: {
     ({ mkDerivation, base, Cabal, directory, filepath }:
      mkDerivation {
        pname = "autoexporter";
-       version = "1.1.14";
-       sha256 = "0ijykr8qg7ijadlkn0gx3n06n14ihar8dvaddmmaab2awpmaa3l8";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base Cabal directory filepath ];
-       executableHaskellDepends = [ base Cabal directory filepath ];
-       description = "Automatically re-export modules";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "autoexporter_1_1_15" = callPackage
-    ({ mkDerivation, base, Cabal, directory, filepath }:
-     mkDerivation {
-       pname = "autoexporter";
        version = "1.1.15";
        sha256 = "061pincl8110ifm2d6jahxkgpvwid1anv3hvswbs4zqwkg6ll8lx";
        isLibrary = true;
@@ -33762,7 +33754,6 @@ self: {
        executableHaskellDepends = [ base Cabal directory filepath ];
        description = "Automatically re-export modules";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "autom" = callPackage
@@ -34068,7 +34059,7 @@ self: {
        license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {aviation-cessna172-weight-balance = null; 
+     }) {aviation-cessna172-weight-balance = null;
          aviation-units = null; aviation-weight-balance = null;};
 
   "avl-static" = callPackage
@@ -34112,40 +34103,6 @@ self: {
      }:
      mkDerivation {
        pname = "avro";
-       version = "0.4.5.3";
-       sha256 = "0az1mlil8h7scpma16f52zwkbi5iw6mdl6r7vywqhlgsdd2xl9kx";
-       libraryHaskellDepends = [
-         aeson array base base16-bytestring bifunctors binary bytestring
-         containers data-binary-ieee754 deepseq fail hashable mtl scientific
-         semigroups tagged template-haskell text tf-random
-         unordered-containers vector zlib
-       ];
-       testHaskellDepends = [
-         aeson array base base16-bytestring bifunctors binary bytestring
-         containers directory extra fail hashable hspec lens lens-aeson mtl
-         pure-zlib QuickCheck raw-strings-qq scientific semigroups tagged
-         text tf-random transformers unordered-containers vector
-       ];
-       testToolDepends = [ hspec-discover ];
-       benchmarkHaskellDepends = [
-         aeson base bytestring containers gauge hashable mtl random
-         raw-strings-qq template-haskell text transformers
-         unordered-containers vector
-       ];
-       description = "Avro serialization support for Haskell";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "avro_0_4_5_4" = callPackage
-    ({ mkDerivation, aeson, array, base, base16-bytestring, bifunctors
-     , binary, bytestring, containers, data-binary-ieee754, deepseq
-     , directory, extra, fail, gauge, hashable, hspec, hspec-discover
-     , lens, lens-aeson, mtl, pure-zlib, QuickCheck, random
-     , raw-strings-qq, scientific, semigroups, tagged, template-haskell
-     , text, tf-random, transformers, unordered-containers, vector, zlib
-     }:
-     mkDerivation {
-       pname = "avro";
        version = "0.4.5.4";
        sha256 = "0syf968w8vvb5x18znnzc36w5i4ab1fsdpwsph31sxz3rvsv9sr6";
        libraryHaskellDepends = [
@@ -34168,7 +34125,6 @@ self: {
        ];
        description = "Avro serialization support for Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "avwx" = callPackage
@@ -34677,8 +34633,8 @@ self: {
      }:
      mkDerivation {
        pname = "aws-lambda-haskell-runtime";
-       version = "2.0.1";
-       sha256 = "0q8x5zqxql403wm9ndii42lac8737i0qhd7p7nsy3i2sswfr5gry";
+       version = "2.0.2";
+       sha256 = "11pkvq3d5w56bsqdha9cfsbqw0rhfda9bh7zipik1b0lc3mk8p0a";
        libraryHaskellDepends = [
          aeson base bytestring http-client http-types path path-io
          safe-exceptions-checked template-haskell text
@@ -36182,8 +36138,8 @@ self: {
        pname = "base62";
        version = "0.1.0.0";
        sha256 = "1ns8hr9xjmrlq5lgi47630gpn8xdglk33ncqw4kjvdrb1x90iz0p";
-       revision = "1";
-       editedCabalFile = "13n150czdd97hrpjnrkd0wcg7ch9d5zvqlv38n61pjcds6dvvdsy";
+       revision = "2";
+       editedCabalFile = "0i1ipcawbnjf0mjdva4q8s2kw4hd4lfnygmvc81sjxd9crlwy4vm";
        libraryHaskellDepends = [
          base byteslice natural-arithmetic primitive small-bytearray-builder
          wide-word
@@ -37791,6 +37747,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "bifunctors_5_5_6" = callPackage
+    ({ mkDerivation, base, base-orphans, comonad, containers, hspec
+     , hspec-discover, QuickCheck, tagged, template-haskell
+     , th-abstraction, transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "bifunctors";
+       version = "5.5.6";
+       sha256 = "1jnsnc0rj3vkx8rjwsf2aacla9xzdfy1am9mmjk8crxp2gkazcnc";
+       libraryHaskellDepends = [
+         base base-orphans comonad containers tagged template-haskell
+         th-abstraction transformers
+       ];
+       testHaskellDepends = [
+         base hspec QuickCheck template-haskell transformers
+         transformers-compat
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Bifunctors";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "bighugethesaurus" = callPackage
     ({ mkDerivation, base, HTTP, split }:
      mkDerivation {
@@ -37886,7 +37865,7 @@ self: {
        license = "LGPL";
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {leksah-dummy = null; leksah-main = null; 
+     }) {leksah-dummy = null; leksah-main = null;
          leksah-plugin-pane = null;};
 
   "billeksah-pane" = callPackage
@@ -38670,10 +38649,10 @@ self: {
        ];
        description = "Low-level bindings to GLFW OpenGL library";
        license = stdenv.lib.licenses.bsd3;
-     }) {inherit (pkgs) libGL; inherit (pkgs.xorg) libX11; 
-         inherit (pkgs.xorg) libXcursor; inherit (pkgs.xorg) libXext; 
-         inherit (pkgs.xorg) libXfixes; inherit (pkgs.xorg) libXi; 
-         inherit (pkgs.xorg) libXinerama; inherit (pkgs.xorg) libXrandr; 
+     }) {inherit (pkgs) libGL; inherit (pkgs.xorg) libX11;
+         inherit (pkgs.xorg) libXcursor; inherit (pkgs.xorg) libXext;
+         inherit (pkgs.xorg) libXfixes; inherit (pkgs.xorg) libXi;
+         inherit (pkgs.xorg) libXinerama; inherit (pkgs.xorg) libXrandr;
          inherit (pkgs.xorg) libXxf86vm;};
 
   "bindings-GLFW_3_3_0_0" = callPackage
@@ -38696,10 +38675,10 @@ self: {
        description = "Low-level bindings to GLFW OpenGL library";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {inherit (pkgs) libGL; inherit (pkgs.xorg) libX11; 
-         inherit (pkgs.xorg) libXcursor; inherit (pkgs.xorg) libXext; 
-         inherit (pkgs.xorg) libXfixes; inherit (pkgs.xorg) libXi; 
-         inherit (pkgs.xorg) libXinerama; inherit (pkgs.xorg) libXrandr; 
+     }) {inherit (pkgs) libGL; inherit (pkgs.xorg) libX11;
+         inherit (pkgs.xorg) libXcursor; inherit (pkgs.xorg) libXext;
+         inherit (pkgs.xorg) libXfixes; inherit (pkgs.xorg) libXi;
+         inherit (pkgs.xorg) libXinerama; inherit (pkgs.xorg) libXrandr;
          inherit (pkgs.xorg) libXxf86vm;};
 
   "bindings-K8055" = callPackage
@@ -39883,6 +39862,8 @@ self: {
        ];
        description = "Plays chess";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "bit-array" = callPackage
@@ -41833,15 +41814,16 @@ self: {
 
   "bond" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, async, base, bytestring
-     , cmdargs, derive, Diff, directory, filepath, HUnit, megaparsec
-     , monad-loops, mtl, pretty, process, QuickCheck, scientific
-     , shakespeare, tasty, tasty-golden, tasty-hunit, tasty-quickcheck
-     , text, unordered-containers
+     , cmdargs, Diff, directory, filepath, HUnit, megaparsec
+     , monad-loops, mtl, pretty, process, QuickCheck
+     , quickcheck-arbitrary-template, scientific, shakespeare, tasty
+     , tasty-golden, tasty-hunit, tasty-quickcheck, text
+     , unordered-containers
      }:
      mkDerivation {
        pname = "bond";
-       version = "0.11.0.3";
-       sha256 = "1zarrlhcp8q1impikmqsz8mnaxi8l8b4nl02qp8xm6y6gpbyhaqj";
+       version = "0.12.0.1";
+       sha256 = "0zhfhr1ya0ljvg5s0s6fpqyrb0f25qdkschblfcmf68c6xmy4ws0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -41850,12 +41832,14 @@ self: {
        ];
        executableHaskellDepends = [
          aeson async base bytestring cmdargs directory filepath megaparsec
-         monad-loops process text
+         monad-loops mtl process scientific shakespeare text
+         unordered-containers
        ];
        testHaskellDepends = [
-         aeson aeson-pretty base bytestring cmdargs derive Diff directory
-         filepath HUnit megaparsec monad-loops pretty QuickCheck shakespeare
-         tasty tasty-golden tasty-hunit tasty-quickcheck text
+         aeson aeson-pretty base bytestring cmdargs Diff directory filepath
+         HUnit megaparsec monad-loops mtl pretty QuickCheck
+         quickcheck-arbitrary-template scientific shakespeare tasty
+         tasty-golden tasty-hunit tasty-quickcheck text unordered-containers
        ];
        description = "Bond schema compiler and code generator";
        license = stdenv.lib.licenses.mit;
@@ -42154,8 +42138,8 @@ self: {
     ({ mkDerivation, base, mtl, semigroups, template-haskell, text }:
      mkDerivation {
        pname = "boomerang";
-       version = "1.4.5.6";
-       sha256 = "0zkr9w9qqrcicdm6r928a1z1svspnx6vh0b9mac4q7cd1h021ph3";
+       version = "1.4.5.7";
+       sha256 = "11ycghpgngnw0ks47h3wmp0xdfl3qw1wnwdil1vmr1b5a4gngzi1";
        libraryHaskellDepends = [
          base mtl semigroups template-haskell text
        ];
@@ -42575,25 +42559,25 @@ self: {
   "box" = callPackage
     ({ mkDerivation, async, attoparsec, base, concurrency
      , contravariant, dejafu, doctest, exceptions, foldl, generic-lens
-     , lens, pipes, profunctors, protolude, random, streaming, text
-     , time, transformers, transformers-base
+     , lens, mtl, pipes, profunctors, random, streaming, text, time
+     , transformers, transformers-base
      }:
      mkDerivation {
        pname = "box";
-       version = "0.0.1.5";
-       sha256 = "0iqza6n4p8vnnppvc0jba8in77i66nz1rzbsmv3yki55qaf9fkvb";
+       version = "0.1.0";
+       sha256 = "1q03sgz4qzm61rs5chkvk0h9qj7idxxzmyr29awkxigv18nab18h";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          async attoparsec base concurrency contravariant exceptions foldl
-         lens pipes profunctors protolude streaming text time transformers
+         lens pipes profunctors streaming text time transformers
          transformers-base
        ];
        executableHaskellDepends = [
-         base concurrency dejafu generic-lens lens protolude random
-         streaming text transformers
+         base concurrency dejafu generic-lens lens mtl random streaming text
+         transformers
        ];
-       testHaskellDepends = [ base doctest protolude ];
+       testHaskellDepends = [ base doctest ];
        description = "boxes";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -42822,7 +42806,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "brick_0_50" = callPackage
+  "brick_0_50_1" = callPackage
     ({ mkDerivation, base, bytestring, config-ini, containers
      , contravariant, data-clist, deepseq, directory, dlist, filepath
      , microlens, microlens-mtl, microlens-th, QuickCheck, stm
@@ -42831,10 +42815,8 @@ self: {
      }:
      mkDerivation {
        pname = "brick";
-       version = "0.50";
-       sha256 = "0g2c420zpvjv8v3y5l4jhmml279d920k9d92yga8d86jymanbvy9";
-       revision = "1";
-       editedCabalFile = "0sknkg4fkmxs78ysk76xhrz5mixndazxnmw7ss1j560z8z368ry0";
+       version = "0.50.1";
+       sha256 = "0wv69pbs4xqfdqw9ag32fhqhmh8djxb14h8jpyblmykirlznx77y";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -43097,16 +43079,14 @@ self: {
      }) {};
 
   "broadcast-chan" = callPackage
-    ({ mkDerivation, async, base, criterion, deepseq, stm
+    ({ mkDerivation, async, base, criterion, deepseq, stm, transformers
      , unliftio-core
      }:
      mkDerivation {
        pname = "broadcast-chan";
-       version = "0.2.0.2";
-       sha256 = "12ax37y9i3cs8wifz01lpq0awm9c235l5xkybf13ywvyk5svb0jv";
-       revision = "1";
-       editedCabalFile = "1sgifhdf9l8zkc0dddnkfy8f1bkry061vm67iich489fi8nlhfjn";
-       libraryHaskellDepends = [ base unliftio-core ];
+       version = "0.2.1";
+       sha256 = "1pigxkncv71p51qnhxkag6hry14jp5s2skmxxbq2pmlrkj9j6rgs";
+       libraryHaskellDepends = [ base transformers unliftio-core ];
        benchmarkHaskellDepends = [ async base criterion deepseq stm ];
        description = "Closable, fair, single-wakeup channel type that avoids 0 reader space leaks";
        license = stdenv.lib.licenses.bsd3;
@@ -43118,8 +43098,8 @@ self: {
      }:
      mkDerivation {
        pname = "broadcast-chan-conduit";
-       version = "0.2.0.2";
-       sha256 = "1xnf1ibgnzi4xbmfgrkkfg3pkig7v8vv0xpfhhcdmnybwm2yhlli";
+       version = "0.2.1";
+       sha256 = "1n9hqmdyw3v58kv8czbvvw5sfy4il3izqvn6rk8gak84hb51brxq";
        libraryHaskellDepends = [
          base broadcast-chan conduit resourcet transformers unliftio-core
        ];
@@ -43138,8 +43118,8 @@ self: {
      }:
      mkDerivation {
        pname = "broadcast-chan-pipes";
-       version = "0.2.0.2";
-       sha256 = "1brr0vjrsd53qji8pmns003m3k1s28hvr2w8875hv2fznmm8x1g7";
+       version = "0.2.1";
+       sha256 = "0yifpd97cihagflmh0xs0wcl541k89hick4h9hh8zrah72g71fqr";
        libraryHaskellDepends = [ base broadcast-chan pipes pipes-safe ];
        testHaskellDepends = [
          base broadcast-chan-tests containers foldl pipes pipes-safe
@@ -43158,10 +43138,8 @@ self: {
      }:
      mkDerivation {
        pname = "broadcast-chan-tests";
-       version = "0.2.0.2";
-       sha256 = "1m7m06pd9vfvz0rfnylpr6pjvizxv31qizri3a400rkz3zanhkym";
-       revision = "2";
-       editedCabalFile = "0mfld36ppfyhx2w9a99gxa8qxnik0mnznl7bvqhbbaf1ayinhx91";
+       version = "0.2.1";
+       sha256 = "01vlhxxwhkakllffw7vdqr7fcsf9m7rkwkbs8x6d5dfwb5qxs6gk";
        libraryHaskellDepends = [
          async base broadcast-chan clock containers optparse-applicative
          paramtree stm tagged tasty tasty-golden tasty-hunit tasty-travis
@@ -43323,6 +43301,8 @@ self: {
        pname = "brotli-streams";
        version = "0.0.0.0";
        sha256 = "14jc1nhm50razsl99d95amdf4njf75dnzx8vqkihgrgp7qisyz3z";
+       revision = "1";
+       editedCabalFile = "1mpd5wf027g1f46a9a2g1wvsaxhr1asyj5f3k69vq3226dfisnn7";
        libraryHaskellDepends = [ base brotli bytestring io-streams ];
        testHaskellDepends = [
          base bytestring HUnit io-streams QuickCheck test-framework
@@ -43361,8 +43341,8 @@ self: {
        pname = "bsb-http-chunked";
        version = "0.0.0.4";
        sha256 = "0z0f18yc6zlwh29c6175ivfcin325lvi4irpvv0n3cmq7vi0k0ql";
-       revision = "1";
-       editedCabalFile = "07k9422yaw7rz66awmc20ni17xw2bd1pn48ja79c66d5va89f6wz";
+       revision = "2";
+       editedCabalFile = "0bz62lxdbnwkfr1d4ngm8xi4y1ndpdflbv71s6h43vp5lbd546hr";
        libraryHaskellDepends = [ base bytestring ];
        testHaskellDepends = [
          attoparsec base blaze-builder bytestring doctest hedgehog tasty
@@ -43677,6 +43657,35 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "buffet" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, cassava
+     , containers, directory, filepath, language-docker, mustache
+     , optparse-applicative, parsec, random, split, tasty, tasty-hunit
+     , text, typed-process, unordered-containers, vector, yaml
+     }:
+     mkDerivation {
+       pname = "buffet";
+       version = "0.2.0";
+       sha256 = "1zmsgsxdl7mr6h9m7g9n7qb2w86s6xr379psr947fba4vkydzi0n";
+       isLibrary = false;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty base bytestring cassava containers directory
+         filepath language-docker mustache optparse-applicative parsec
+         random split text typed-process unordered-containers vector yaml
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         aeson base bytestring directory filepath tasty tasty-hunit text
+         typed-process unordered-containers vector yaml
+       ];
+       doHaddock = false;
+       description = "Assembles many Dockerfiles in one";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "buffon" = callPackage
     ({ mkDerivation, base, monad-primitive, mwc-random
      , mwc-random-monad, primitive, transformers
@@ -43973,8 +43982,8 @@ self: {
      }:
      mkDerivation {
        pname = "bulmex";
-       version = "2.1.0";
-       sha256 = "0awdbwh9s5wdj05fnkzr7dpp2riipv9rlvknrcxf4dpxp9c72n1g";
+       version = "4.0.0";
+       sha256 = "0892prpi8hf8mkwr6n9228bfyji0wgdz9hyh619k20f6xim13ysc";
        libraryHaskellDepends = [
          aeson base bytestring containers generic-lens jsaddle jsaddle-dom
          keycode lens network-uri reflex reflex-dom-core reflex-dom-helpers
@@ -44458,16 +44467,16 @@ self: {
      }) {};
 
   "byteslice" = callPackage
-    ({ mkDerivation, base, primitive, primitive-addr, run-st, tasty
-     , tasty-hunit, tasty-quickcheck
+    ({ mkDerivation, base, bytestring, primitive, primitive-addr
+     , run-st, tasty, tasty-hunit, tasty-quickcheck
      }:
      mkDerivation {
        pname = "byteslice";
-       version = "0.1.3.0";
-       sha256 = "0lx69pcac7p20zs790x6ygqlgc3vljn4wjjp1jlcnp1jv6nhfwgf";
+       version = "0.1.4.0";
+       sha256 = "0kpamfmbgc31xha3p3rm2mqgngmdivkxl4z8lr0rjbil16r02nqr";
        libraryHaskellDepends = [ base primitive primitive-addr run-st ];
        testHaskellDepends = [
-         base primitive tasty tasty-hunit tasty-quickcheck
+         base bytestring primitive tasty tasty-hunit tasty-quickcheck
        ];
        description = "Slicing managed and unmanaged memory";
        license = stdenv.lib.licenses.bsd3;
@@ -44476,19 +44485,23 @@ self: {
      }) {};
 
   "bytesmith" = callPackage
-    ({ mkDerivation, base, byteslice, bytestring, contiguous, gauge
-     , primitive, run-st, tasty, tasty-hunit, tasty-quickcheck
-     , text-short
+    ({ mkDerivation, base, byte-order, byteslice, bytestring
+     , contiguous, gauge, primitive, run-st, tasty, tasty-hunit
+     , tasty-quickcheck, text-short, wide-word
      }:
      mkDerivation {
        pname = "bytesmith";
-       version = "0.3.0.0";
-       sha256 = "0zwa0klj1slazsvd37l33p5j2ii3ab114ic5fvd10aic37y6w82s";
+       version = "0.3.1.0";
+       sha256 = "1wkwxb9ygc6hii90jr7cjbv4s5d0l4wv0197p9jn4lj7h4i79iqd";
+       revision = "1";
+       editedCabalFile = "13maddwkl9ajczvnrsnsa9f7w20fzq8il09xh9lqhwyrz9yak4ii";
        libraryHaskellDepends = [
          base byteslice bytestring contiguous primitive run-st text-short
+         wide-word
        ];
        testHaskellDepends = [
-         base byteslice primitive tasty tasty-hunit tasty-quickcheck
+         base byte-order byteslice primitive tasty tasty-hunit
+         tasty-quickcheck text-short wide-word
        ];
        benchmarkHaskellDepends = [
          base byteslice bytestring gauge primitive
@@ -44934,6 +44947,8 @@ self: {
        pname = "bytestring-trie";
        version = "0.2.5.0";
        sha256 = "1jpynpyarikxhlc4ifdswvkj0ph9fd5d0vcxhjv0lrv0zwqvv488";
+       revision = "1";
+       editedCabalFile = "1qpv52ywp8r30s3m9qyjiqiwa6clg3zp095yhs2d4533amprryly";
        libraryHaskellDepends = [ base binary bytestring ];
        description = "An efficient finite map from (byte)strings to values";
        license = stdenv.lib.licenses.bsd3;
@@ -45709,6 +45724,8 @@ self: {
        doCheck = false;
        description = "Simple interface to some of Cabal's configuration state, mainly used by ghc-mod";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "cabal-info" = callPackage
@@ -45826,6 +45843,32 @@ self: {
        broken = true;
      }) {};
 
+  "cabal-install-parsers" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, base, base16-bytestring
+     , binary, binary-instances, bytestring, Cabal, containers
+     , cryptohash-sha256, directory, filepath, lukko, network-uri
+     , parsec, pretty, tar, tasty, tasty-golden, tasty-hunit, text, time
+     , transformers, tree-diff
+     }:
+     mkDerivation {
+       pname = "cabal-install-parsers";
+       version = "0.1";
+       sha256 = "0jklbv5c6nsbdj52a42ywr6nl7xqr2hgzc8l8g6aalb8nr117b45";
+       libraryHaskellDepends = [
+         aeson base base16-bytestring binary binary-instances bytestring
+         Cabal containers cryptohash-sha256 directory filepath lukko
+         network-uri parsec pretty tar text time transformers
+       ];
+       testHaskellDepends = [
+         ansi-terminal base bytestring Cabal containers directory filepath
+         tasty tasty-golden tasty-hunit tree-diff
+       ];
+       description = "Utilities to work with cabal-install files";
+       license = "GPL-2.0-or-later AND BSD-3-Clause";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "cabal-lenses" = callPackage
     ({ mkDerivation, base, Cabal, lens, strict, system-fileio
      , system-filepath, text, transformers, unordered-containers
@@ -45932,18 +45975,16 @@ self: {
      }) {};
 
   "cabal-plan" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, base, base-compat
+    ({ mkDerivation, aeson, ansi-terminal, async, base, base-compat
      , base16-bytestring, bytestring, containers, directory, filepath
-     , mtl, optics-core, optparse-applicative, parsec, process-extras
+     , mtl, optics-core, optparse-applicative, parsec, process
      , semialign, singleton-bool, text, these, topograph, transformers
      , vector
      }:
      mkDerivation {
        pname = "cabal-plan";
-       version = "0.6.1.0";
-       sha256 = "0jb50a45aky1jljl6g84h61wrirk6gh5pwk0m0pkhd1q7zj58jgi";
-       revision = "1";
-       editedCabalFile = "02krq0ibb4q2ypj7cp8yclc175a2hlaa9x5x3j3i8wjkf8pyyvx1";
+       version = "0.6.2.0";
+       sha256 = "0gwbyyj4xih9barg2c589v6z82s0gx98airs6icivg301khg9fzg";
        configureFlags = [ "-fexe" ];
        isLibrary = true;
        isExecutable = true;
@@ -45952,9 +45993,9 @@ self: {
          filepath text
        ];
        executableHaskellDepends = [
-         ansi-terminal base base-compat bytestring containers directory mtl
-         optics-core optparse-applicative parsec process-extras semialign
-         singleton-bool text these topograph transformers vector
+         ansi-terminal async base base-compat bytestring containers
+         directory mtl optics-core optparse-applicative parsec process
+         semialign singleton-bool text these topograph transformers vector
        ];
        description = "Library and utility for processing cabal's plan.json file";
        license = stdenv.lib.licenses.gpl2Plus;
@@ -47023,6 +47064,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "calenderweek" = callPackage
+    ({ mkDerivation, base, megaparsec, optparse-generic, text, time }:
+     mkDerivation {
+       pname = "calenderweek";
+       version = "1.0.0";
+       sha256 = "10lv7c74jrw8v06vaz8assgqlvrk0spn08sw0nvzz1q0x0zbbwff";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base megaparsec optparse-generic text time
+       ];
+       description = "Commandline tool to get week of the year";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "call" = callPackage
     ({ mkDerivation, base, bindings-portaudio, boundingboxes, colors
      , containers, control-bool, deepseq, directory, filepath, free
@@ -47068,6 +47126,8 @@ self: {
        ];
        description = "A simple library to call Alloy given a specification";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "call-haskell-from-anything" = callPackage
@@ -47378,8 +47438,8 @@ self: {
        pname = "cantor-pairing";
        version = "0.1.1.0";
        sha256 = "03vl7qd5962kr0mi4ymgmh667948rzqiq9f1ixcvycyjz8hz0yqw";
-       revision = "2";
-       editedCabalFile = "0vl4b3v7qzbsd93vb0flyd6xkpayji49il97d2a6v35cliph5yw2";
+       revision = "3";
+       editedCabalFile = "0rcjz2r4l4crxxda3hjpi5kkxrh4pgdrcbw29bj5w9a4jph0d0ld";
        libraryHaskellDepends = [
          arithmoi base containers integer-gmp integer-logarithms
        ];
@@ -48290,8 +48350,8 @@ self: {
      }:
      mkDerivation {
        pname = "cassava-megaparsec";
-       version = "2.0.0";
-       sha256 = "0jwhvgfkgxpxp6cci9ahp3kryr4vaxbpqgjzf8ylr2592dm2irnf";
+       version = "2.0.1";
+       sha256 = "0q4skw98nzy6icmgpwqvgw0c5pqcgi25rf7nmwh2pksvv94pi3p3";
        libraryHaskellDepends = [
          base bytestring cassava megaparsec unordered-containers vector
        ];
@@ -50625,10 +50685,8 @@ self: {
      }:
      mkDerivation {
        pname = "chronos";
-       version = "1.0.7";
-       sha256 = "0yqk43ax20sk3rpxd5s857ivbgigvd5qdq4axawzmqr2na6jlikx";
-       revision = "1";
-       editedCabalFile = "0rf2rcdx7cvx1aa6yb9khbgkrh08v4l52sg1w89qz0245dalw14r";
+       version = "1.0.9";
+       sha256 = "103vwpdjqk1csw8famc62ba5ck9s6yd8w5hfa6a0qj3bx9vmf9qv";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring clock hashable primitive
          semigroups text torsor vector
@@ -50645,20 +50703,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "chronos_1_0_8" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, clock
-     , criterion, deepseq, doctest, hashable, HUnit, old-locale
-     , primitive, QuickCheck, semigroups, test-framework
-     , test-framework-hunit, test-framework-quickcheck2, text, thyme
-     , time, torsor, vector
+  "chronos_1_1" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, criterion
+     , deepseq, doctest, hashable, HUnit, old-locale, primitive
+     , QuickCheck, semigroups, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, text, thyme, time, torsor, vector
      }:
      mkDerivation {
        pname = "chronos";
-       version = "1.0.8";
-       sha256 = "08lxf5f40nhqpxx7f75d3lp5xyjmh3gk1hljm4iq7p8mm22nl2fn";
+       version = "1.1";
+       sha256 = "0g41hchir6rxfnd8halg49y80pc9dr38k7b7cik18gqdasswwg6c";
        libraryHaskellDepends = [
-         aeson attoparsec base bytestring clock hashable primitive
-         semigroups text torsor vector
+         aeson attoparsec base bytestring hashable primitive semigroups text
+         torsor vector
        ];
        testHaskellDepends = [
          attoparsec base bytestring doctest HUnit QuickCheck test-framework
@@ -51924,8 +51981,23 @@ self: {
     ({ mkDerivation, base, hspec, hspec-discover, mtl, text }:
      mkDerivation {
        pname = "clay";
-       version = "0.13.1";
-       sha256 = "18r8lgzyscxnw6xdxg0jxvp2977i02fjh3n5p89fnd8qrh0r2kl4";
+       version = "0.13.2";
+       sha256 = "1jxwq159hcc55ijga18zdlqr3ga1flilymq96hqpizb4khpq7y6j";
+       libraryHaskellDepends = [ base mtl text ];
+       testHaskellDepends = [ base hspec hspec-discover mtl text ];
+       testToolDepends = [ hspec-discover ];
+       description = "CSS preprocessor as embedded Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "clay_0_13_3" = callPackage
+    ({ mkDerivation, base, hspec, hspec-discover, mtl, text }:
+     mkDerivation {
+       pname = "clay";
+       version = "0.13.3";
+       sha256 = "192lsbyj6azjs2ygpx4i47fyr8zfmvwcas8mia07ndqglk2c9csx";
        libraryHaskellDepends = [ base mtl text ];
        testHaskellDepends = [ base hspec hspec-discover mtl text ];
        testToolDepends = [ hspec-discover ];
@@ -52333,8 +52405,8 @@ self: {
      }:
      mkDerivation {
        pname = "cli-setup";
-       version = "0.2.0.7";
-       sha256 = "1fp1m48rpgnq3db4nvcnry3h46m7k07g8blivv0mb62w8fdm9smq";
+       version = "0.2.1.2";
+       sha256 = "0fh9lp8r73mslhwxcjpfzvm0j0qbq0prr4bkkwq2v16izg14ccda";
        libraryHaskellDepends = [
          base bytestring directory file-embed process
        ];
@@ -52792,13 +52864,15 @@ self: {
      }:
      mkDerivation {
        pname = "cloudi";
-       version = "1.7.5";
-       sha256 = "08cklswxmd7x0zxkkrlwh1qy57jbqp0dv3x57xskxpmwyhws2vgs";
+       version = "1.8.0";
+       sha256 = "0j98dbyhc845y26abyp8sdcajpxvpsjcqrmcls4jnb4bhnz21jkc";
        libraryHaskellDepends = [
          array base binary bytestring containers network time unix zlib
        ];
        description = "Haskell CloudI API";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "cloudyfs" = callPackage
@@ -53106,8 +53180,8 @@ self: {
      }:
      mkDerivation {
        pname = "cmark-gfm";
-       version = "0.2.0";
-       sha256 = "03xflrkyw84qv3yjly5iks9311bqv5cmrmsylr763v4ph0fn7rjq";
+       version = "0.2.1";
+       sha256 = "1qbhcirg7a0r68l3ifq8q9clnkai5hyhk62jb232bjplrl6y4c23";
        libraryHaskellDepends = [ base bytestring text ];
        testHaskellDepends = [ base HUnit text ];
        benchmarkHaskellDepends = [
@@ -53309,6 +53383,18 @@ self: {
        broken = true;
      }) {};
 
+  "cmf" = callPackage
+    ({ mkDerivation, base, containers, hedgehog }:
+     mkDerivation {
+       pname = "cmf";
+       version = "0.1";
+       sha256 = "16d83x6qggifljm7n8sqlawy79iz7lkrb6vknrr825wa0zg1bc49";
+       libraryHaskellDepends = [ base containers ];
+       testHaskellDepends = [ base containers hedgehog ];
+       description = "(C)oncurrent (M)onoidal (F)olds";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "cml" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -53603,46 +53689,52 @@ self: {
 
   "cobot-io" = callPackage
     ({ mkDerivation, array, attoparsec, base, binary, bytestring
-     , containers, data-msgpack, deepseq, hspec, http-conduit, hyraxAbif
-     , lens, linear, mtl, neat-interpolation, QuickCheck, split, text
-     , vector
+     , containers, data-msgpack, deepseq, directory, hspec, http-conduit
+     , hyraxAbif, lens, linear, mtl, neat-interpolation, QuickCheck
+     , split, text, vector
      }:
      mkDerivation {
        pname = "cobot-io";
-       version = "0.1.2.0";
-       sha256 = "0md5sd67sd3wl7p9z6904pbswlkkzlclrgj7lc3a2qpq6ky7w1ik";
+       version = "0.1.2.1";
+       sha256 = "17rl3xbap3fgn2bg0iykysxaff1rakr8fq759hl7pmx3qnr8xz12";
        libraryHaskellDepends = [
          array attoparsec base binary bytestring containers data-msgpack
          deepseq http-conduit hyraxAbif lens linear mtl split text vector
        ];
        testHaskellDepends = [
          array attoparsec base binary bytestring containers data-msgpack
-         deepseq hspec http-conduit hyraxAbif lens linear mtl
+         deepseq directory hspec http-conduit hyraxAbif lens linear mtl
          neat-interpolation QuickCheck split text vector
        ];
        description = "Biological data file formats and IO";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "cobot-tools" = callPackage
-    ({ mkDerivation, array, base, cobot, containers, data-msgpack
-     , deepseq, hspec, lens, mtl, neat-interpolation, QuickCheck, RNA
-     , text
+    ({ mkDerivation, array, base, bytestring, cobot, containers
+     , data-default, data-msgpack, deepseq, hspec, lens, mtl
+     , neat-interpolation, QuickCheck, regex-tdfa, RNA, text
      }:
      mkDerivation {
        pname = "cobot-tools";
-       version = "0.1.0.1";
-       sha256 = "0jlfz2jf8vphaxg3wn9bhzzjp5ldnpiyf420fz7waadi6bfi7q75";
+       version = "0.1.1.0";
+       sha256 = "0i717g632jvnah8cibgia6r12mmyiqwfgryiam71pvbaz2508rhr";
        libraryHaskellDepends = [
-         array base cobot containers data-msgpack deepseq lens mtl text
+         array base bytestring cobot containers data-default data-msgpack
+         deepseq lens mtl regex-tdfa text
        ];
        librarySystemDepends = [ RNA ];
        testHaskellDepends = [
-         array base cobot containers data-msgpack deepseq hspec lens mtl
-         neat-interpolation QuickCheck text
+         array base bytestring cobot containers data-default data-msgpack
+         deepseq hspec lens mtl neat-interpolation QuickCheck regex-tdfa
+         text
        ];
        description = "Biological data file formats and IO";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {RNA = null;};
 
   "code-builder" = callPackage
@@ -55046,6 +55138,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "comonad_5_0_6" = callPackage
+    ({ mkDerivation, base, Cabal, cabal-doctest, containers
+     , distributive, doctest, tagged, transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "comonad";
+       version = "5.0.6";
+       sha256 = "1blgp2nm9cvnsdi2bmkmly5m0gz91npjvf1i5j4pnx6imhbb1kvp";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base containers distributive tagged transformers
+         transformers-compat
+       ];
+       testHaskellDepends = [ base doctest ];
+       description = "Comonads";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "comonad-extras" = callPackage
     ({ mkDerivation, array, base, comonad, containers, distributive
      , semigroupoids, transformers
@@ -55226,6 +55337,24 @@ self: {
        broken = true;
      }) {};
 
+  "compact-word-vectors" = callPackage
+    ({ mkDerivation, base, primitive, QuickCheck, random, tasty
+     , tasty-hunit, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "compact-word-vectors";
+       version = "0.2.0.1";
+       sha256 = "0ix8l6vvnf62vp6716gmypwqsrs6x5pzcx5yfj24bn4gk0xak3lm";
+       libraryHaskellDepends = [ base primitive ];
+       testHaskellDepends = [
+         base primitive QuickCheck random tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "Small vectors of small integers stored very compactly";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "compactable" = callPackage
     ({ mkDerivation, base, containers, transformers, vector }:
      mkDerivation {
@@ -55370,6 +55499,30 @@ self: {
        pname = "compensated";
        version = "0.7.3";
        sha256 = "089xj9j3gznxz66ywapjd9kasjcnv197ipj4azgjfbpl2y11l8dg";
+       revision = "1";
+       editedCabalFile = "1ax4jq2hp5737yvi3lxvyj3c4bzkg10h4c7w3nw0hgfcn1ng49kc";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base bifunctors binary bytes cereal comonad deepseq distributive
+         hashable lens log-domain safecopy semigroupoids semigroups vector
+       ];
+       testHaskellDepends = [
+         base doctest generic-deriving semigroups simple-reflect
+       ];
+       description = "Compensated floating-point arithmetic";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "compensated_0_8" = callPackage
+    ({ mkDerivation, base, bifunctors, binary, bytes, Cabal
+     , cabal-doctest, cereal, comonad, deepseq, distributive, doctest
+     , generic-deriving, hashable, lens, log-domain, safecopy
+     , semigroupoids, semigroups, simple-reflect, vector
+     }:
+     mkDerivation {
+       pname = "compensated";
+       version = "0.8";
+       sha256 = "1jvvsa1dqsds6ri6f746y47flwrlfxnc7jsgic2m6kvf1b700qr9";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base bifunctors binary bytes cereal comonad deepseq distributive
@@ -55380,6 +55533,7 @@ self: {
        ];
        description = "Compensated floating-point arithmetic";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "competition" = callPackage
@@ -56198,14 +56352,14 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "concurrency_1_8_0_0" = callPackage
+  "concurrency_1_8_1_0" = callPackage
     ({ mkDerivation, array, atomic-primops, base, exceptions
      , monad-control, mtl, stm, transformers
      }:
      mkDerivation {
        pname = "concurrency";
-       version = "1.8.0.0";
-       sha256 = "091nv78c4cfcrg4hwxhn97l0xr5x2n4pfh802ysxmn2zvnm9fbf4";
+       version = "1.8.1.0";
+       sha256 = "0nw5i85lzh03ppcprzpvrlp3bmdam1z50bp7ddq9mp2ycyjbvrp5";
        libraryHaskellDepends = [
          array atomic-primops base exceptions monad-control mtl stm
          transformers
@@ -57762,6 +57916,8 @@ self: {
        testHaskellDepends = [ base hedgehog property ];
        description = "Partial orders & Galois connections";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "consistent" = callPackage
@@ -57978,8 +58134,8 @@ self: {
     ({ mkDerivation, base, category, unconstrained }:
      mkDerivation {
        pname = "constraint";
-       version = "0.1.3.0";
-       sha256 = "0yp09vg9hx5p7ncyh8h6mhcl14kanhhjldyn892lmp0jmlm7flyy";
+       version = "0.1.4.0";
+       sha256 = "0cdncdzpgyr9a0v213g9f6fqfd4311j5rg84gh85xynp8hhh0rr4";
        libraryHaskellDepends = [ base category unconstrained ];
        description = "Reified constraints";
        license = stdenv.lib.licenses.bsd3;
@@ -58028,8 +58184,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "constraint-tuples";
-       version = "0.1.1";
-       sha256 = "0jml9sqgmfz3yqpd8g7k0ki1n036a6ws4m5ywbjmcyiz6gr52czl";
+       version = "0.1.2";
+       sha256 = "16f9y0q771f3mc38g8jpr875c8grjav6sg9lwbhg7nmcvcczwqk2";
        libraryHaskellDepends = [ base ];
        description = "Partially applicable constraint tuples";
        license = stdenv.lib.licenses.bsd3;
@@ -59051,8 +59207,8 @@ self: {
      }:
      mkDerivation {
        pname = "cookie";
-       version = "0.4.4";
-       sha256 = "1qy09i0jh2z9i9avy2khf8a8afq4fqgnv0fyrszgfg4kmq2fsi9j";
+       version = "0.4.5";
+       sha256 = "10rmdasb7mypbwxdj2mhr810vqhkakpik7hyd8fvj60hng8r8zvh";
        libraryHaskellDepends = [
          base bytestring data-default-class deepseq text time
        ];
@@ -59096,12 +59252,15 @@ self: {
      }:
      mkDerivation {
        pname = "copilot";
-       version = "3.0.1";
-       sha256 = "0sfvrk8ik6zaim6xlkvlnz3rnrqbiqvq7i6yxjiba74qx5w8yv4m";
+       version = "3.1";
+       sha256 = "1dw7bkmadwsncd39pkngaxglfsnrnc9km7y8ld0l9bkiiw136x2w";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
          base copilot-c99 copilot-core copilot-language copilot-libraries
          copilot-theorem directory filepath optparse-applicative
        ];
+       executableHaskellDepends = [ base copilot-c99 copilot-libraries ];
        description = "A stream DSL for writing embedded C programs";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -59115,8 +59274,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-c99";
-       version = "3.0.2";
-       sha256 = "02987kxwsrxcjicgfnj55prabiv12y5d1s82nr34kk3scrlixl1y";
+       version = "3.1";
+       sha256 = "1cwypmis5dcdzjasq03wcas4lnml7l4a4ymw1v55aybfmz94mxc3";
        libraryHaskellDepends = [
          base containers copilot-core directory filepath language-c99
          language-c99-simple language-c99-util mtl pretty
@@ -59144,14 +59303,12 @@ self: {
      }) {};
 
   "copilot-core" = callPackage
-    ({ mkDerivation, base, containers, dlist, mtl, pretty, random }:
+    ({ mkDerivation, base, containers, dlist, mtl, pretty }:
      mkDerivation {
        pname = "copilot-core";
-       version = "3.0.1";
-       sha256 = "0gq55db39fsg3kim83s86nw58f9wbg59nlrhi4ic70864iv55zs8";
-       libraryHaskellDepends = [
-         base containers dlist mtl pretty random
-       ];
+       version = "3.1";
+       sha256 = "08xz5s0b2fd5igja5wiaq93ignx6bsf942rg4hy42fmh4c03hylp";
+       libraryHaskellDepends = [ base containers dlist mtl pretty ];
        description = "An intermediate representation for Copilot";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -59162,8 +59319,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-language";
-       version = "3.0.1";
-       sha256 = "1vx656vdjvdbsd3zv5cpb9xjvj85ylfqbbk8iibkbdgbq6sm11f6";
+       version = "3.1";
+       sha256 = "0hdk8418l30vz9lv7c4bzh8m5gn8knpvg296b14n66si9g36qglp";
        libraryHaskellDepends = [
          array base containers copilot-core copilot-theorem data-reify
          ghc-prim mtl
@@ -59180,8 +59337,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-libraries";
-       version = "3.0";
-       sha256 = "0xrv37m770qnc722iv5x67kjic11q2sd1bcx2b0gr93p54frbjs4";
+       version = "3.1";
+       sha256 = "094hjzg22b55n4kv89ccr7pbgqpbd0z8f5myn93nyw6yqpmpp30v";
        libraryHaskellDepends = [
          array base containers copilot-language data-reify mtl parsec
        ];
@@ -59215,8 +59372,8 @@ self: {
      }:
      mkDerivation {
        pname = "copilot-theorem";
-       version = "3.0";
-       sha256 = "1h8gjlfhl473d6h8zafmqv3dzdhmgpyp8bsvysfzb7s2ga5hwnrq";
+       version = "3.1";
+       sha256 = "15vnl5lg9s6h9s98f1nvva3ab0gdn3a5314mxdfxxa53ywmiq2a0";
        libraryHaskellDepends = [
          ansi-terminal base bimap containers copilot-core data-default
          directory mtl parsec pretty process random transformers xml
@@ -59287,8 +59444,8 @@ self: {
      }:
      mkDerivation {
        pname = "core-data";
-       version = "0.2.1.0";
-       sha256 = "1d4sf0383kcc7wzy1bld1hlagf9g934bwnx6xdvj45grdkj8l787";
+       version = "0.2.1.4";
+       sha256 = "1arrw5xbzxpwqzpxcyw13lv4sazn5pzv448crw54284kyi798hc3";
        libraryHaskellDepends = [
          aeson base bytestring containers core-text hashable prettyprinter
          prettyprinter-ansi-terminal scientific text unordered-containers
@@ -59324,8 +59481,8 @@ self: {
      }:
      mkDerivation {
        pname = "core-program";
-       version = "0.2.2.0";
-       sha256 = "1k92rj2y48hdr844rnp1wqksm1blq7jahxfqqq21f252vyjj06pq";
+       version = "0.2.2.4";
+       sha256 = "0l30qvn118bb6vj39ca6wl7ynhf7hkwq7pbh60vhcmwcr20rj4b1";
        libraryHaskellDepends = [
          async base bytestring chronologique core-data core-text directory
          exceptions filepath hashable hinotify hourglass mtl prettyprinter
@@ -59345,8 +59502,8 @@ self: {
      }:
      mkDerivation {
        pname = "core-text";
-       version = "0.2.2.1";
-       sha256 = "0bql1ksfblnplhj4rbzsjwjbdqdy3z28c51i63q6vhy20mr3bxqk";
+       version = "0.2.2.4";
+       sha256 = "1lfxphm5y9irrs225vr0gbvb129lxzfr0xjxy23dz6d0cc3pr1ph";
        libraryHaskellDepends = [
          base bytestring deepseq fingertree hashable prettyprinter
          prettyprinter-ansi-terminal template-haskell text text-short
@@ -59959,8 +60116,8 @@ self: {
     ({ mkDerivation, base, containers, directory, parallel }:
      mkDerivation {
        pname = "cpsa";
-       version = "3.6.4";
-       sha256 = "05q3di6p3xr3qmw36bpbc4dzhjrfl7vf3v44i5v7shxpma2qylpf";
+       version = "3.6.5";
+       sha256 = "03qf4gd28097ra0vndizxxdqvqdgl4p3cl41w9r0rfcw4367bzjf";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -60044,8 +60201,8 @@ self: {
      }:
      mkDerivation {
        pname = "cql";
-       version = "4.0.1";
-       sha256 = "021qaz6qvbdp76gdyfcs07wnnq6k6r1cmqky0g3giinjdrm4qac9";
+       version = "4.0.2";
+       sha256 = "0b6806ahmg4yacx5wc4v53gihhkwywajhqm13kb11nxabww3lapl";
        libraryHaskellDepends = [
          base bytestring cereal containers Decimal iproute network
          template-haskell text time transformers uuid vector
@@ -62632,8 +62789,8 @@ self: {
      }:
      mkDerivation {
        pname = "curry-base";
-       version = "1.1.0";
-       sha256 = "1hxac2mx7irphcyhljwivx1w6j6li0s7gl54yb50na6qpna7arqg";
+       version = "1.1.1";
+       sha256 = "0dczgya46jk80j8b7sswjcck64hzw7fifipixnhylhlfvd1cqdlb";
        libraryHaskellDepends = [
          base containers directory extra filepath mtl parsec pretty time
          transformers
@@ -62644,24 +62801,26 @@ self: {
      }) {};
 
   "curry-frontend" = callPackage
-    ({ mkDerivation, base, Cabal, containers, curry-base, directory
-     , extra, filepath, mtl, network-uri, pretty, process, set-extra
-     , transformers
+    ({ mkDerivation, base, bytestring, Cabal, containers, curry-base
+     , directory, extra, file-embed, filepath, mtl, network-uri, pretty
+     , process, set-extra, template-haskell, transformers
      }:
      mkDerivation {
        pname = "curry-frontend";
-       version = "1.0.3";
-       sha256 = "0dqmmvn6iziyzdmig1gbcpdpbpg1hjp57pldzcv03fm2bjhq0a4q";
+       version = "1.0.4";
+       sha256 = "1dfljqyrp9w0sw3zmyy9rglpnjv14qj8ky1yjslmiaanjnl0m07b";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         base containers curry-base directory extra filepath mtl network-uri
-         pretty process set-extra transformers
+         base bytestring containers curry-base directory extra file-embed
+         filepath mtl network-uri pretty process set-extra template-haskell
+         transformers
        ];
        executableHaskellDepends = [
-         base containers curry-base directory extra filepath mtl network-uri
-         pretty process set-extra transformers
+         base bytestring containers curry-base directory extra file-embed
+         filepath mtl network-uri pretty process set-extra template-haskell
+         transformers
        ];
        testHaskellDepends = [ base Cabal curry-base filepath ];
        description = "Compile the functional logic language Curry to several intermediate formats";
@@ -63015,7 +63174,7 @@ self: {
        description = "A raw binding for the directX 11";
        license = stdenv.lib.licenses.mit;
        platforms = stdenv.lib.platforms.none;
-     }) {D3DCompiler = null; d3d11 = null; d3dx11 = null; 
+     }) {D3DCompiler = null; d3d11 = null; d3dx11 = null;
          d3dxof = null; dxgi = null; dxguid = null;};
 
   "d3js" = callPackage
@@ -63324,7 +63483,7 @@ self: {
        license = "GPL";
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {inherit (pkgs) curl; inherit (pkgs) ncurses; 
+     }) {inherit (pkgs) curl; inherit (pkgs) ncurses;
          inherit (pkgs) zlib;};
 
   "darcs-fastconvert" = callPackage
@@ -64152,6 +64311,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "data-diverse_4_7_0_0" = callPackage
+    ({ mkDerivation, base, containers, criterion, deepseq, ghc-prim
+     , hspec, tagged
+     }:
+     mkDerivation {
+       pname = "data-diverse";
+       version = "4.7.0.0";
+       sha256 = "0ccbb8kf2spaa2h6k10y26zzaij1w28vrifhc8c1ljlvsmc9dkf3";
+       libraryHaskellDepends = [
+         base containers deepseq ghc-prim tagged
+       ];
+       testHaskellDepends = [ base hspec tagged ];
+       benchmarkHaskellDepends = [ base criterion ];
+       description = "Extensible records and polymorphic variants";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "data-diverse-lens" = callPackage
     ({ mkDerivation, base, data-diverse, data-has, hspec, lens
      , profunctors, tagged
@@ -67603,8 +67780,8 @@ self: {
      }:
      mkDerivation {
        pname = "dependent-monoidal-map";
-       version = "0.1.1.0";
-       sha256 = "0l5nj7jalyca6vv9aqsx0j799vrr65cm1jzh17fcnwkxair3lkgx";
+       version = "0.1.1.1";
+       sha256 = "0i3zgngcdli6hw09h985ca4n7l9cpsrxalbhg8lbq32hwh7dim89";
        libraryHaskellDepends = [
          aeson base constraints constraints-extras dependent-map
          dependent-sum dependent-sum-aeson-orphans
@@ -68048,6 +68225,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "deriving-compat_0_5_8" = callPackage
+    ({ mkDerivation, base, base-compat, base-orphans, containers
+     , ghc-boot-th, ghc-prim, hspec, hspec-discover, QuickCheck, tagged
+     , template-haskell, th-abstraction, transformers
+     , transformers-compat
+     }:
+     mkDerivation {
+       pname = "deriving-compat";
+       version = "0.5.8";
+       sha256 = "1dznwypw0w935z30zi9pf9k4mr5yfl6jfp43nv9vx3f6zy5gip9r";
+       libraryHaskellDepends = [
+         base containers ghc-boot-th ghc-prim template-haskell
+         th-abstraction transformers transformers-compat
+       ];
+       testHaskellDepends = [
+         base base-compat base-orphans hspec QuickCheck tagged
+         template-haskell transformers transformers-compat
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Backports of GHC deriving extensions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "derp" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -68076,21 +68277,6 @@ self: {
     ({ mkDerivation, base, doctest }:
      mkDerivation {
        pname = "derulo";
-       version = "1.0.5";
-       sha256 = "1pyal6rhnyhqx8gwyh42vf66i18y9nplmqka546ikzps439rvmly";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base ];
-       executableHaskellDepends = [ base ];
-       testHaskellDepends = [ base doctest ];
-       description = "Parse and render JSON simply";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "derulo_1_0_7" = callPackage
-    ({ mkDerivation, base, doctest }:
-     mkDerivation {
-       pname = "derulo";
        version = "1.0.7";
        sha256 = "0ph4szgn009asgcpd6rzdach41jzyrwilk4x9vnrqk3mjk36zxy5";
        isLibrary = true;
@@ -68100,7 +68286,6 @@ self: {
        testHaskellDepends = [ base doctest ];
        description = "Parse and render JSON simply";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "describe" = callPackage
@@ -68352,8 +68537,8 @@ self: {
      }:
      mkDerivation {
        pname = "df1";
-       version = "0.3.1";
-       sha256 = "0a1fpi9r6nivjxlknfyfkwdgnq5m6qmf68z46m3xjvy0md40caij";
+       version = "0.3.2";
+       sha256 = "1iywyrz2pfdpichfq6n77x8fpmfikj20rhkgnrwcf63ichav6xfp";
        libraryHaskellDepends = [
          attoparsec base bytestring containers text time
        ];
@@ -68619,30 +68804,33 @@ self: {
 
   "dhall-fly" = callPackage
     ({ mkDerivation, aeson, aeson-casing, aeson-yaml, base, bytestring
-     , dhall, dhall-json, hspec, hspec-discover, scientific, text
-     , transformers, unordered-containers, vector
+     , dhall, dhall-json, hspec, hspec-discover, optparse-applicative
+     , scientific, text, transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "dhall-fly";
-       version = "0.1.0";
-       sha256 = "0rjbcpwcpz3kq0cil0pp7vkmksvnyxzv8jg5jpgnkg9pzmapg43y";
+       version = "0.2.0";
+       sha256 = "0h684icyp6r5cmr5cddgwbi2ci5ihkra0lyhgnisgrsvn8qmzz5d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson aeson-casing base dhall scientific text transformers
-         unordered-containers vector
+         aeson aeson-casing base dhall optparse-applicative scientific text
+         transformers unordered-containers vector
        ];
        executableHaskellDepends = [
          aeson aeson-casing aeson-yaml base bytestring dhall dhall-json
-         scientific text transformers unordered-containers vector
+         optparse-applicative scientific text transformers
+         unordered-containers vector
        ];
        testHaskellDepends = [
-         aeson aeson-casing base dhall hspec scientific text transformers
-         unordered-containers vector
+         aeson aeson-casing base dhall hspec optparse-applicative scientific
+         text transformers unordered-containers vector
        ];
        testToolDepends = [ hspec-discover ];
        description = "Translate concourse config from Dhall to YAML";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "dhall-json" = callPackage
@@ -68887,8 +69075,8 @@ self: {
      }:
      mkDerivation {
        pname = "di";
-       version = "1.2";
-       sha256 = "0d4ywmnibg9h12bah4bdh03fs2l50f5s590kv45baz010bcqyx0b";
+       version = "1.3";
+       sha256 = "13d503xhmnj2br9m4r4xx58hd2p8jsj8hxf9b4k4451p31kbzs54";
        libraryHaskellDepends = [
          base containers df1 di-core di-df1 di-handle di-monad exceptions
        ];
@@ -68902,8 +69090,8 @@ self: {
      }:
      mkDerivation {
        pname = "di-core";
-       version = "1.0.3";
-       sha256 = "1rfza96ljcf754mj44m2ffm51k9v6c0ii2sqqnddjkva3h3hx47h";
+       version = "1.0.4";
+       sha256 = "0wrj2ndzk9r7izjvwkjjmqb3gg1zy93ch7j7fdalzadzzsd4sqsm";
        libraryHaskellDepends = [
          base containers safe-exceptions stm time
        ];
@@ -68921,8 +69109,8 @@ self: {
      }:
      mkDerivation {
        pname = "di-df1";
-       version = "1.0.2";
-       sha256 = "1imk26njmr7hj56227yxgshjh4dicgr2c9bpc2m9nvsw2qbqslfh";
+       version = "1.2";
+       sha256 = "0bixrinmmb496j55c3vlh914nq6zfsaxq0pp2fcdxhwig1y53fgr";
        libraryHaskellDepends = [
          base df1 di-core di-handle di-monad stm
        ];
@@ -68953,21 +69141,6 @@ self: {
      }:
      mkDerivation {
        pname = "di-monad";
-       version = "1.3";
-       sha256 = "019k7jc3lvh6cgmrgdjq13hcvh6ar76n38li4nviikqbsvxmpqsl";
-       libraryHaskellDepends = [
-         base containers di-core exceptions mtl pipes stm transformers
-       ];
-       description = "mtl flavoured typeful hierarchical structured logging for di-core";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "di-monad_1_3_1" = callPackage
-    ({ mkDerivation, base, containers, di-core, exceptions, mtl, pipes
-     , stm, transformers
-     }:
-     mkDerivation {
-       pname = "di-monad";
        version = "1.3.1";
        sha256 = "190n6hwa7xs4b75bfvk4k2kn3rq8hkgs52f9plxfixlrl7jympgm";
        libraryHaskellDepends = [
@@ -68975,7 +69148,6 @@ self: {
        ];
        description = "mtl flavoured typeful hierarchical structured logging for di-core";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "dia-base" = callPackage
@@ -69150,10 +69322,8 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-contrib";
-       version = "1.4.3";
-       sha256 = "01r081rvxkb9i56iqi28zw4054nm62pf9f1szd9i0avmnxxsiyv5";
-       revision = "3";
-       editedCabalFile = "0mm1mmagx6q8g6dxk1cagqka38z6393ihp0lvf6095prlvidasqs";
+       version = "1.4.4";
+       sha256 = "043jpr7lqg708lzmv6cqys7312lfdwnf8ijcnpl4jkbvcwl87c1m";
        libraryHaskellDepends = [
          base circle-packing colour containers cubicbezier data-default
          data-default-class diagrams-core diagrams-lib diagrams-solve
@@ -69296,39 +69466,6 @@ self: {
      , dual-tree, exceptions, filepath, fingertree, fsnotify, hashable
      , intervals, JuicyPixels, lens, linear, monoid-extras, mtl
      , numeric-extras, optparse-applicative, process, profunctors
-     , semigroups, tagged, tasty, tasty-hunit, tasty-quickcheck, text
-     , transformers, unordered-containers
-     }:
-     mkDerivation {
-       pname = "diagrams-lib";
-       version = "1.4.2.3";
-       sha256 = "175yzi5kw4yd8ykdkpf64q85c7j3p89l90m3h6qcsx9ipv6av9r5";
-       revision = "3";
-       editedCabalFile = "157y2qdsh0aczs81vzlm377mks976mpv6y3aqnchwsnr7apzp8ai";
-       libraryHaskellDepends = [
-         active adjunctions array base bytestring cereal colour containers
-         data-default-class diagrams-core diagrams-solve directory
-         distributive dual-tree exceptions filepath fingertree fsnotify
-         hashable intervals JuicyPixels lens linear monoid-extras mtl
-         optparse-applicative process profunctors semigroups tagged text
-         transformers unordered-containers
-       ];
-       testHaskellDepends = [
-         base deepseq diagrams-solve distributive lens numeric-extras tasty
-         tasty-hunit tasty-quickcheck
-       ];
-       benchmarkHaskellDepends = [ base criterion diagrams-core ];
-       description = "Embedded domain-specific language for declarative graphics";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "diagrams-lib_1_4_3" = callPackage
-    ({ mkDerivation, active, adjunctions, array, base, bytestring
-     , cereal, colour, containers, criterion, data-default-class
-     , deepseq, diagrams-core, diagrams-solve, directory, distributive
-     , dual-tree, exceptions, filepath, fingertree, fsnotify, hashable
-     , intervals, JuicyPixels, lens, linear, monoid-extras, mtl
-     , numeric-extras, optparse-applicative, process, profunctors
      , QuickCheck, semigroups, tagged, tasty, tasty-hunit
      , tasty-quickcheck, text, transformers, unordered-containers
      }:
@@ -69351,7 +69488,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion diagrams-core ];
        description = "Embedded domain-specific language for declarative graphics";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "diagrams-pandoc" = callPackage
@@ -70206,8 +70342,8 @@ self: {
      }:
      mkDerivation {
        pname = "digit";
-       version = "0.8";
-       sha256 = "0m3m9c2452b0x7ccglkz7mr3ivi7r98qa44zwfnf7a55d6xckfa9";
+       version = "0.9";
+       sha256 = "0xyghgg8kzjrvhrcjizqnbprcyq5a3ma3x0dfijrdvbyd3lzghvm";
        libraryHaskellDepends = [
          base lens parsers scientific semigroupoids semigroups
          template-haskell
@@ -71107,8 +71243,8 @@ self: {
      }:
      mkDerivation {
        pname = "diskhash";
-       version = "0.0.4.0";
-       sha256 = "03kc5jc63726vk3airvwag69855rilanvjvqcqxi3ylvjg2p9dil";
+       version = "0.0.4.2";
+       sha256 = "0rjbjjvvr75ki8kw8y3xf1z8x8cg46h10c73600lcz3bnxba188c";
        libraryHaskellDepends = [ base bytestring ];
        testHaskellDepends = [
          base bytestring directory HUnit QuickCheck test-framework
@@ -72275,17 +72411,14 @@ self: {
 
   "dns" = callPackage
     ({ mkDerivation, array, async, attoparsec, auto-update, base
-     , base16-bytestring, base64-bytestring, bytestring, Cabal
-     , cabal-doctest, containers, cryptonite, doctest, hourglass, hspec
-     , iproute, mtl, network, psqueues, QuickCheck, word8
+     , base16-bytestring, base64-bytestring, bytestring, containers
+     , cryptonite, doctest, hourglass, hspec, iproute, mtl, network
+     , psqueues, QuickCheck, word8
      }:
      mkDerivation {
        pname = "dns";
-       version = "4.0.0";
-       sha256 = "0gq0y8pw4x8fja0f3hhwpbxh4rg2i8nzfnp2rxh2py49qfhg38mj";
-       revision = "1";
-       editedCabalFile = "0cg5jhn5g28qspkinx44zyz0yn08ddcsylhmvlpp4clyb9zlz1si";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "4.0.1";
+       sha256 = "1jv89bdhvwb51d9h9157k2r1cg7x0gzari91lddwvghrkx8v9k90";
        libraryHaskellDepends = [
          array async attoparsec auto-update base base16-bytestring
          base64-bytestring bytestring containers cryptonite hourglass
@@ -72294,6 +72427,7 @@ self: {
        testHaskellDepends = [
          base bytestring doctest hspec iproute network QuickCheck word8
        ];
+       doHaddock = false;
        testTarget = "spec";
        description = "DNS library in Haskell";
        license = stdenv.lib.licenses.bsd3;
@@ -72653,7 +72787,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "doctemplates_0_7" = callPackage
+  "doctemplates_0_7_2" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, criterion
      , doclayout, filepath, Glob, HsYAML, mtl, parsec, safe, scientific
      , tasty, tasty-golden, tasty-hunit, temporary, text
@@ -72661,16 +72795,16 @@ self: {
      }:
      mkDerivation {
        pname = "doctemplates";
-       version = "0.7";
-       sha256 = "061llh59b69a84175z5wp0y0s2nw461kmf2w986wd5qcrjanxi62";
+       version = "0.7.2";
+       sha256 = "1sadadxq3vyzq4l3p05wvmkw68nwjprn98hn4l5zxif0r722jyxj";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base containers doclayout filepath HsYAML mtl parsec safe
          scientific text text-conversions unordered-containers vector
        ];
        testHaskellDepends = [
-         aeson base bytestring doclayout filepath Glob tasty tasty-golden
-         tasty-hunit temporary text
+         aeson base bytestring containers doclayout filepath Glob tasty
+         tasty-golden tasty-hunit temporary text
        ];
        benchmarkHaskellDepends = [
          aeson base containers criterion doclayout filepath mtl text
@@ -72760,23 +72894,6 @@ self: {
     ({ mkDerivation, base, doctest }:
      mkDerivation {
        pname = "doctest-driver-gen";
-       version = "0.3.0.1";
-       sha256 = "1sa47c1wml8k00h4h1gzbckfzbr3w7k3j0lvr1x5z6fh05s5xbsn";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base ];
-       executableHaskellDepends = [ base ];
-       testHaskellDepends = [ base doctest ];
-       description = "Generate driver file for doctest's cabal integration";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "doctest-driver-gen_0_3_0_2" = callPackage
-    ({ mkDerivation, base, doctest }:
-     mkDerivation {
-       pname = "doctest-driver-gen";
        version = "0.3.0.2";
        sha256 = "1xkq9fpdm8ayjwf2lypkfnh1w08zimvhf27ffn71hfckd5nw4h2q";
        isLibrary = true;
@@ -73138,8 +73255,8 @@ self: {
      }:
      mkDerivation {
        pname = "dotenv";
-       version = "0.8.0.2";
-       sha256 = "0an7spi0cgvzr64nyy7p8pdslyf0jlh9l2ww52jbh1habsxjn6fp";
+       version = "0.8.0.4";
+       sha256 = "05dqa91zmxkzkz1dcpx2jxkzhdr4f51gw0qql47da9bllavl0jj4";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -73157,8 +73274,6 @@ self: {
        ];
        description = "Loads environment variables from dotenv files";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "dotfs" = callPackage
@@ -74247,6 +74362,35 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "duet" = callPackage
+    ({ mkDerivation, aeson, base, containers, deepseq, edit-distance
+     , exceptions, hspec, monad-logger, mtl, optparse-simple, parsec
+     , syb, text
+     }:
+     mkDerivation {
+       pname = "duet";
+       version = "0.0.2";
+       sha256 = "16hjhyn254d307ibg5541y00x0l6n5rwk06r5cdkj5x07jmgcafm";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base containers deepseq edit-distance exceptions monad-logger
+         mtl parsec syb text
+       ];
+       executableHaskellDepends = [
+         aeson base containers deepseq exceptions monad-logger mtl
+         optparse-simple syb text
+       ];
+       testHaskellDepends = [
+         aeson base containers deepseq edit-distance exceptions hspec
+         monad-logger mtl parsec syb text
+       ];
+       description = "A tiny language, a subset of Haskell (with type classes) aimed at aiding teachers to teach Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "dumb-cas" = callPackage
     ({ mkDerivation, base, containers, decimal-literals, hashable
      , tasty, tasty-hunit, template-haskell, unordered-containers
@@ -75877,29 +76021,29 @@ self: {
      }) {};
 
   "egison" = callPackage
-    ({ mkDerivation, alex, array, base, containers, criterion, deepseq
-     , directory, filepath, ghc, ghc-paths, Glob, happy, hashable
-     , haskeline, HUnit, mtl, optparse-applicative, parallel, parsec
-     , process, random, regex-tdfa, split, test-framework
-     , test-framework-hunit, text, transformers, unordered-containers
-     , vector
+    ({ mkDerivation, array, base, containers, criterion, deepseq
+     , directory, filepath, ghc, ghc-paths, Glob, hashable, haskeline
+     , HUnit, megaparsec, mtl, optparse-applicative, parsec
+     , parser-combinators, prettyprinter, process, random, regex-tdfa
+     , split, test-framework, test-framework-hunit, text, transformers
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "egison";
-       version = "3.9.1";
-       sha256 = "1q4hyvr52zv2p827cvkmi4rl1d1dvrdg9bly6wykbhdv6ycbihn5";
+       version = "3.10.1";
+       sha256 = "047l2knxhzlrmc4n6xaannnwa1zhq7lxr3iswwrji5xcqbbag5xp";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base containers directory ghc ghc-paths hashable haskeline
-         mtl parallel parsec process random regex-tdfa split text
-         transformers unordered-containers vector
+         megaparsec mtl optparse-applicative parsec parser-combinators
+         prettyprinter process random regex-tdfa split text transformers
+         unordered-containers vector
        ];
-       libraryToolDepends = [ alex happy ];
        executableHaskellDepends = [
          array base containers directory filepath ghc ghc-paths haskeline
-         mtl optparse-applicative parsec process regex-tdfa text
+         mtl optparse-applicative parsec prettyprinter process split text
          transformers unordered-containers vector
        ];
        testHaskellDepends = [
@@ -75937,8 +76081,8 @@ self: {
      }:
      mkDerivation {
        pname = "egison-tutorial";
-       version = "3.7.14";
-       sha256 = "1ar5yg00arqd09wva0q1y4d8lfpd0vjw9sgk47jsyqs7ydm59hnb";
+       version = "3.10.0";
+       sha256 = "109j17iskxs7gwgvxyyvmipf3xsbnysjxj20z6hhjzz1sb3sw5x5";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -77268,6 +77412,8 @@ self: {
        ];
        description = "Perform basic syntax and deliverability checks on email addresses";
        license = stdenv.lib.licenses.agpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "emailaddress" = callPackage
@@ -78999,7 +79145,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "esqueleto_3_2_2" = callPackage
+  "esqueleto_3_2_3" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, blaze-html, bytestring
      , conduit, containers, exceptions, hspec, monad-logger, mtl, mysql
      , mysql-simple, persistent, persistent-mysql, persistent-postgresql
@@ -79009,8 +79155,8 @@ self: {
      }:
      mkDerivation {
        pname = "esqueleto";
-       version = "3.2.2";
-       sha256 = "1pnhnnsxx21jah4rnv8qy7jb4n7f6vbrxjh9cs2rygvrwqkg3n9c";
+       version = "3.2.3";
+       sha256 = "1m8ib08bnrmigpf0lzkn1wm8p479aflm92irzq5v3gg07dqgypcy";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-html bytestring conduit containers
          monad-logger persistent resourcet tagged text time transformers
@@ -80647,6 +80793,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "exist" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, util }:
+     mkDerivation {
+       pname = "exist";
+       version = "0.2.0.0";
+       sha256 = "0w2ip29f99qzi3wxicydkv991ws0lhnar3w0qka54r2mjb3xzrk9";
+       libraryHaskellDepends = [ base base-unicode-symbols util ];
+       description = "Dependent sum type";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "exist-instances" = callPackage
+    ({ mkDerivation, base, base-unicode-symbols, constraint, exist
+     , util
+     }:
+     mkDerivation {
+       pname = "exist-instances";
+       version = "0.1.0.0";
+       sha256 = "09714dl2gwpr44fhkq5w9fswn4fk0zhddg21mgcw2nb5l7930d7x";
+       libraryHaskellDepends = [
+         base base-unicode-symbols constraint exist util
+       ];
+       description = "Instances for \"exist\" package (requires more language extensions and dependencies)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "existential" = callPackage
     ({ mkDerivation, base, cereal, constraints, control-invariants
      , lens, portable-template-haskell-lens, QuickCheck
@@ -81090,8 +81264,8 @@ self: {
      }:
      mkDerivation {
        pname = "expresso";
-       version = "0.1.2.0";
-       sha256 = "15s4gpf7pv6wv13q5i1cff7s93nx5vb8gyjfm4ifz76ki3xafgcn";
+       version = "0.1.2.2";
+       sha256 = "1fa37bqyw8zlva3z6sj10sp4r7sslh4xakrmr7d5diqynyrgdjax";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -81554,6 +81728,8 @@ self: {
        ];
        description = "Rational arithmetic in an irrational world";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "facts" = callPackage
@@ -81803,7 +81979,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "fakedata_0_3_1" = callPackage
+  "fakedata_0_4_0" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, directory
      , exceptions, filepath, gauge, hashable, hspec, hspec-discover
      , random, template-haskell, text, time, unordered-containers
@@ -81811,8 +81987,8 @@ self: {
      }:
      mkDerivation {
        pname = "fakedata";
-       version = "0.3.1";
-       sha256 = "0y5gnqjgn3n2px80xbpqx0kaxrdkaqhw8n9ah4ry310j80m9z8ma";
+       version = "0.4.0";
+       sha256 = "0q90aa92wraqjnj256bpv34mhsl42wyp31y2g4nv2sgzj7mi9jjg";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring containers directory exceptions filepath hashable
@@ -82042,15 +82218,15 @@ self: {
      }) {};
 
   "fast-downward" = callPackage
-    ({ mkDerivation, base, containers, list-t, mtl, process, temporary
-     , text, transformers
+    ({ mkDerivation, base, containers, mtl, process, temporary, text
+     , transformers
      }:
      mkDerivation {
        pname = "fast-downward";
-       version = "0.1.1.0";
-       sha256 = "1c4qsihjf6wjmmh4nm088pxaj7xc1mm9di8jq124zgllf85j1lfl";
+       version = "0.2.0.0";
+       sha256 = "0a2ax0z326mf02p5wyp1d8knxj6afn92n9bqxav2qhkc2v5kijhw";
        libraryHaskellDepends = [
-         base containers list-t mtl process temporary text transformers
+         base containers mtl process temporary text transformers
        ];
        description = "Solve classical planning problems (STRIPS/SAS+) using Haskell & Fast Downward";
        license = stdenv.lib.licenses.bsd3;
@@ -83027,6 +83203,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "feed_1_3_0_0" = callPackage
+    ({ mkDerivation, base, base-compat, bytestring, HUnit
+     , markdown-unlit, old-locale, old-time, safe, syb, test-framework
+     , test-framework-hunit, text, time, time-locale-compat, utf8-string
+     , xml-conduit, xml-types
+     }:
+     mkDerivation {
+       pname = "feed";
+       version = "1.3.0.0";
+       sha256 = "19xqkx8ars0sjana18m34d7qg9l0qbg1i3v14a5rqabdppzcfrp2";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base base-compat bytestring old-locale old-time safe text time
+         time-locale-compat utf8-string xml-conduit xml-types
+       ];
+       testHaskellDepends = [
+         base base-compat HUnit old-time syb test-framework
+         test-framework-hunit text time xml-conduit xml-types
+       ];
+       testToolDepends = [ markdown-unlit ];
+       description = "Interfacing with RSS (v 0.9x, 2.x, 1.0) + Atom feeds.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "feed-cli" = callPackage
     ({ mkDerivation, base, directory, feed, old-locale, old-time, time
      , xml
@@ -83589,7 +83790,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {inherit (pkgs) ffmpeg; libavcodec = null; libavdevice = null; 
+     }) {inherit (pkgs) ffmpeg; libavcodec = null; libavdevice = null;
          libavformat = null; libswscale = null;};
 
   "ffmpeg-tutorials" = callPackage
@@ -84031,8 +84232,8 @@ self: {
     ({ mkDerivation, async, base, process, unix }:
      mkDerivation {
        pname = "filelock";
-       version = "0.1.1.3";
-       sha256 = "04qimhz78jjndk686dblkx06l9jscq2q9gyr014a4pbfj4iljgi5";
+       version = "0.1.1.4";
+       sha256 = "189n4pvq7f4d235smg2iqs2m5rqmnjdxflifq0mnb2qdbc4jjznr";
        libraryHaskellDepends = [ base unix ];
        testHaskellDepends = [ async base process ];
        description = "Portable interface to file locking (flock / LockFileEx)";
@@ -84167,8 +84368,8 @@ self: {
      }:
      mkDerivation {
        pname = "filestore";
-       version = "0.6.3.4";
-       sha256 = "0q1ynqjslcxx5r93l6w2hsmd1khlq38c5g5mwrifrv12qnh28sx0";
+       version = "0.6.4";
+       sha256 = "1z967kviqsy3ma8xdfffx864f7ji6nsrbd5riis0nasm1bbwm8rr";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring containers Diff directory filepath old-locale
@@ -84179,6 +84380,8 @@ self: {
        ];
        description = "Interface for versioning file stores";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "filesystem-abstractions" = callPackage
@@ -84512,24 +84715,25 @@ self: {
      }) {};
 
   "finitary-derive" = callPackage
-    ({ mkDerivation, base, binary, coercible-utils, deepseq, finitary
-     , finite-typelits, ghc-typelits-extra, ghc-typelits-knownnat
-     , hashable, hedgehog, hedgehog-classes, monad-loops, mtl, vector
-     , vector-sized
+    ({ mkDerivation, base, binary, bitvec, coercible-utils, deepseq
+     , finitary, finite-typelits, ghc-typelits-extra
+     , ghc-typelits-knownnat, hashable, hedgehog, hedgehog-classes
+     , transformers, vector, vector-binary-instances, vector-instances
      }:
      mkDerivation {
        pname = "finitary-derive";
-       version = "1.0.0.1";
-       sha256 = "1wv9jjvv1jd5y39pybfawb19pxzwb6r3p69ajyh2f7m8nn81kcim";
+       version = "2.2.0.0";
+       sha256 = "11nkryzbhkbz4v2i4kwaggw67nlhs5jljqczmvliyz1df75f5kh3";
        libraryHaskellDepends = [
-         base binary coercible-utils deepseq finitary finite-typelits
-         ghc-typelits-extra ghc-typelits-knownnat hashable mtl vector
-         vector-sized
+         base binary bitvec coercible-utils deepseq finitary finite-typelits
+         ghc-typelits-extra ghc-typelits-knownnat hashable transformers
+         vector vector-binary-instances vector-instances
        ];
        testHaskellDepends = [
-         base finitary finite-typelits hedgehog hedgehog-classes monad-loops
+         base binary deepseq finitary finite-typelits hashable hedgehog
+         hedgehog-classes
        ];
-       description = "Easy and efficient Unbox, Storable, Binary and Hashable instances for Finitary types";
+       description = "Flexible and easy deriving of type classes for finitary types";
        license = stdenv.lib.licenses.gpl3Plus;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -84721,6 +84925,8 @@ self: {
        ];
        description = "Calculates file-size frequency-distribution";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "fit" = callPackage
@@ -85191,10 +85397,8 @@ self: {
      }:
      mkDerivation {
        pname = "fixplate";
-       version = "0.1.7";
-       sha256 = "0brll5vkb3341l5iblrc1r50jzg8q6ycvbqvrc9jnj2nc86mslay";
-       revision = "1";
-       editedCabalFile = "0ynmm06iblqsyzfc068sdvmlpll8zwyccwkdlji3nf535biv56hb";
+       version = "0.1.8";
+       sha256 = "0m0g7gbdhigfc0k0sbvxhcl3gilv1wfmffwl14wr6jqbmpqy0as5";
        libraryHaskellDepends = [ base containers ];
        testHaskellDepends = [
          base containers QuickCheck tasty tasty-quickcheck
@@ -85771,8 +85975,8 @@ self: {
      }:
      mkDerivation {
        pname = "floskell";
-       version = "0.10.1";
-       sha256 = "1y79f6a6frcmhs70z34rdcpm5bqpgqf46bx29jnixgs313lwz229";
+       version = "0.10.2";
+       sha256 = "1id1bwvzl5x4wq6i2ailvmvy2gcdzfgs8q59pg7s2j5cv35gf80h";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -85987,7 +86191,7 @@ self: {
 
   "fltkhs" = callPackage
     ({ mkDerivation, base, bytestring, c2hs, Cabal, directory, filepath
-     , fltk14, libGLU_combined, mtl, OpenGLRaw, parsec, pkgconfig, text
+     , fltk14, libGL, libGLU, mtl, OpenGLRaw, parsec, pkg-config, text
      , vector
      }:
      mkDerivation {
@@ -86000,15 +86204,15 @@ self: {
        setupHaskellDepends = [ base Cabal directory filepath ];
        libraryHaskellDepends = [ base bytestring text vector ];
        librarySystemDepends = [ fltk14 ];
-       libraryPkgconfigDepends = [ libGLU_combined ];
-       libraryToolDepends = [ c2hs pkgconfig ];
+       libraryPkgconfigDepends = [ libGL libGLU ];
+       libraryToolDepends = [ c2hs pkg-config ];
        executableHaskellDepends = [
          base directory filepath mtl OpenGLRaw parsec text
        ];
        description = "FLTK bindings";
        license = stdenv.lib.licenses.mit;
-     }) {inherit (pkgs) fltk14; inherit (pkgs) libGLU_combined; 
-         pkgconfig = null;};
+     }) {inherit (pkgs) fltk14; inherit (pkgs) libGL;
+         inherit (pkgs) libGLU; inherit (pkgs) pkg-config;};
 
   "fltkhs-demos" = callPackage
     ({ mkDerivation, base, bytestring, directory, fltkhs, process, stm
@@ -87007,6 +87211,26 @@ self: {
        testHaskellDepends = [ aeson base containers hspec mtl text ];
        description = "Parse and validate forms in JSON format";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "forma_1_1_3" = callPackage
+    ({ mkDerivation, aeson, base, containers, hspec, mtl, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "forma";
+       version = "1.1.3";
+       sha256 = "0pd2qzibffbkw2c4mk687yg109pl0nfjq0kpwi2cl0l8d0qlyv0c";
+       libraryHaskellDepends = [
+         aeson base containers mtl text unordered-containers
+       ];
+       testHaskellDepends = [ aeson base containers hspec mtl text ];
+       description = "Parse and validate forms in JSON format";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "formal" = callPackage
@@ -87756,6 +87980,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "free_5_1_3" = callPackage
+    ({ mkDerivation, base, comonad, containers, distributive
+     , exceptions, mtl, profunctors, semigroupoids, template-haskell
+     , transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "free";
+       version = "5.1.3";
+       sha256 = "0b9f9jrfgkq13333px6p1faxpcypqvzi0m9dnbj2rm8s79pdcw1c";
+       libraryHaskellDepends = [
+         base comonad containers distributive exceptions mtl profunctors
+         semigroupoids template-haskell transformers transformers-base
+       ];
+       description = "Monads for free";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "free-algebras" = callPackage
     ({ mkDerivation, base, containers, data-fix, dlist, free, groups
      , hedgehog, kan-extensions, mtl, transformers
@@ -88125,7 +88367,7 @@ self: {
        description = "Interface to the Kinect device";
        license = stdenv.lib.licenses.bsd3;
        platforms = [ "i686-linux" "x86_64-linux" ];
-     }) {inherit (pkgs) freenect; freenect_sync = null; 
+     }) {inherit (pkgs) freenect; freenect_sync = null;
          libfreenect = null;};
 
   "freer" = callPackage
@@ -89449,6 +89691,33 @@ self: {
        broken = true;
      }) {};
 
+  "functor-combinators_0_2_0_0" = callPackage
+    ({ mkDerivation, base, bifunctors, comonad, constraints, containers
+     , dependent-sum, deriving-compat, free, hedgehog, kan-extensions
+     , mmorph, mtl, natural-transformation, nonempty-containers, pointed
+     , profunctors, semigroupoids, tagged, tasty, tasty-hedgehog, these
+     , transformers, trivial-constraint, vinyl
+     }:
+     mkDerivation {
+       pname = "functor-combinators";
+       version = "0.2.0.0";
+       sha256 = "0z8r9z08cayyv2ag748aa8550sd2mnj2zagdkf5i5yn3lvhd0k6j";
+       libraryHaskellDepends = [
+         base bifunctors comonad constraints containers deriving-compat free
+         kan-extensions mmorph mtl natural-transformation
+         nonempty-containers pointed profunctors semigroupoids tagged these
+         transformers trivial-constraint vinyl
+       ];
+       testHaskellDepends = [
+         base bifunctors dependent-sum free hedgehog nonempty-containers
+         semigroupoids tasty tasty-hedgehog transformers
+       ];
+       description = "Tools for functor combinator-based program design";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "functor-combo" = callPackage
     ({ mkDerivation, base, base-orphans, containers, data-inttrie, lub
      , type-unary, TypeCompose
@@ -89731,31 +90000,90 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fused-effects_1_0_0_0" = callPackage
+    ({ mkDerivation, base, containers, gauge, hedgehog, hedgehog-fn
+     , inspection-testing, markdown-unlit, mtl, tasty, tasty-hedgehog
+     , tasty-hunit, transformers
+     }:
+     mkDerivation {
+       pname = "fused-effects";
+       version = "1.0.0.0";
+       sha256 = "120jvgh35wl5vb2qad8c1dhpr1ddlbhm5b03dy9kcb7d8s89qfs6";
+       libraryHaskellDepends = [ base transformers ];
+       testHaskellDepends = [
+         base containers hedgehog hedgehog-fn inspection-testing mtl tasty
+         tasty-hedgehog tasty-hunit transformers
+       ];
+       testToolDepends = [ markdown-unlit ];
+       benchmarkHaskellDepends = [ base gauge ];
+       description = "A fast, flexible, fused effect system";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "fused-effects-exceptions" = callPackage
-    ({ mkDerivation, base, fused-effects, safe-exceptions
-     , unliftio-core
+    ({ mkDerivation, base, fused-effects, markdown-unlit, tasty
+     , tasty-hunit, transformers
      }:
      mkDerivation {
        pname = "fused-effects-exceptions";
-       version = "0.2.0.0";
-       sha256 = "1hgvl48vdrgcb45izmwad40x5jgxiaf3rdhhm5x0gjd9848drmbb";
-       libraryHaskellDepends = [
-         base fused-effects safe-exceptions unliftio-core
+       version = "1.0.0.0";
+       sha256 = "13ki1fzjsqd762bbc5ia9k4agsa634lflidnzs6lahxmar1sqmid";
+       libraryHaskellDepends = [ base fused-effects transformers ];
+       testHaskellDepends = [
+         base fused-effects tasty tasty-hunit transformers
        ];
+       testToolDepends = [ markdown-unlit ];
        description = "Handle exceptions thrown in IO with fused-effects";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "fused-effects-lens" = callPackage
-    ({ mkDerivation, base, fused-effects, hspec, lens, microlens }:
+    ({ mkDerivation, base, fused-effects, hspec, microlens }:
      mkDerivation {
        pname = "fused-effects-lens";
-       version = "0.2.0.0";
-       sha256 = "199afrkhb1dhah3jy3xyq5k71cqbzf9m8ninyh95qmam600r8q0m";
+       version = "1.0.0.0";
+       sha256 = "0qix94bw9rzv7frwxn4d9l8bz133fbmazzsvmilfz6bm6k8ci6nx";
        libraryHaskellDepends = [ base fused-effects microlens ];
-       testHaskellDepends = [ base fused-effects hspec lens ];
+       testHaskellDepends = [ base fused-effects hspec microlens ];
        description = "Monadic lens combinators for fused-effects";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "fused-effects-random" = callPackage
+    ({ mkDerivation, base, fused-effects, MonadRandom, random
+     , transformers
+     }:
+     mkDerivation {
+       pname = "fused-effects-random";
+       version = "1.0.0.0";
+       sha256 = "14s65ndb5ik47wasn62pd0m5ls02a0v2vinv69jz9z630q9y7ay4";
+       libraryHaskellDepends = [
+         base fused-effects MonadRandom random transformers
+       ];
+       description = "Random number generation for fused-effects";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "fused-effects-resumable" = callPackage
+    ({ mkDerivation, base, deepseq, fused-effects, transformers }:
+     mkDerivation {
+       pname = "fused-effects-resumable";
+       version = "0.1.0.0";
+       sha256 = "0w0ih8sspb7ffpvbf9bcqsiv7683g3ccfpgd48hq0h819zpa58m9";
+       libraryHaskellDepends = [
+         base deepseq fused-effects transformers
+       ];
+       description = "Resumable exceptions for the fused-effects ecosystem";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "fusion" = callPackage
@@ -89789,8 +90117,8 @@ self: {
      }:
      mkDerivation {
        pname = "futhark";
-       version = "0.12.2";
-       sha256 = "1q9k725wwf94gamjsi7rjazjgwdmh42h3fchlf25qm0w27llcrkc";
+       version = "0.13.1";
+       sha256 = "0h92q21hg3850f7hv5n497mn90dv3hxp8fa3cl29gwkn0pkaz33b";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -90157,6 +90485,34 @@ self: {
        broken = true;
      }) {};
 
+  "galois-fft" = callPackage
+    ({ mkDerivation, base, criterion, elliptic-curve, galois-field
+     , pairing, poly, protolude, QuickCheck, quickcheck-instances, tasty
+     , tasty-discover, tasty-hunit, tasty-quickcheck, vector
+     }:
+     mkDerivation {
+       pname = "galois-fft";
+       version = "0.1.0";
+       sha256 = "1qyhx0b0p3avag82g1fdwbiwxdr0npw39k4f2nv0x772rr4h9rz1";
+       libraryHaskellDepends = [
+         base elliptic-curve galois-field poly protolude vector
+       ];
+       testHaskellDepends = [
+         base elliptic-curve galois-field pairing poly protolude QuickCheck
+         quickcheck-instances tasty tasty-discover tasty-hunit
+         tasty-quickcheck vector
+       ];
+       testToolDepends = [ tasty-discover ];
+       benchmarkHaskellDepends = [
+         base criterion elliptic-curve galois-field pairing poly protolude
+         vector
+       ];
+       description = "FFTs over finite fields";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "galois-field" = callPackage
     ({ mkDerivation, base, criterion, integer-gmp, MonadRandom
      , protolude, tasty, tasty-quickcheck, wl-pprint-text
@@ -90428,12 +90784,12 @@ self: {
      }) {};
 
   "gasp" = callPackage
-    ({ mkDerivation, base, binary, containers }:
+    ({ mkDerivation, base, binary, containers, mtl }:
      mkDerivation {
        pname = "gasp";
-       version = "1.1.0.0";
-       sha256 = "1zv7jq60nw2nd0np7xkz83y7jnvnshccz63j0i9bl0d9x1grhzbq";
-       libraryHaskellDepends = [ base binary containers ];
+       version = "1.2.0.0";
+       sha256 = "0dq867kgil7xp7wqk8ylmx9ninxrqwc375g5l13iskvyz1li7474";
+       libraryHaskellDepends = [ base binary containers mtl ];
        description = "A framework of algebraic classes";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -90563,9 +90919,9 @@ self: {
        ];
        description = "A Haskell binding to a subset of the GD graphics library";
        license = stdenv.lib.licenses.bsd3;
-     }) {inherit (pkgs) expat; inherit (pkgs) fontconfig; 
-         inherit (pkgs) freetype; inherit (pkgs) gd; 
-         inherit (pkgs) libjpeg; inherit (pkgs) libpng; 
+     }) {inherit (pkgs) expat; inherit (pkgs) fontconfig;
+         inherit (pkgs) freetype; inherit (pkgs) gd;
+         inherit (pkgs) libjpeg; inherit (pkgs) libpng;
          inherit (pkgs) zlib;};
 
   "gdax" = callPackage
@@ -90674,8 +91030,8 @@ self: {
     ({ mkDerivation, base, lawful }:
      mkDerivation {
        pname = "gdp";
-       version = "0.0.0.2";
-       sha256 = "1gqs19wjyng0nacwvi7sjxnhnxjy2az0jwjyy6w2r5g4w9dgykr1";
+       version = "0.0.3.0";
+       sha256 = "0pkx6j557p9rm39pr6pw8p2j3nz8s4q839n6y9p6c31dnlz0zxx0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base lawful ];
@@ -91241,14 +91597,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "generic-deriving_1_13" = callPackage
+  "generic-deriving_1_13_1" = callPackage
     ({ mkDerivation, base, containers, ghc-prim, hspec, hspec-discover
      , template-haskell, th-abstraction
      }:
      mkDerivation {
        pname = "generic-deriving";
-       version = "1.13";
-       sha256 = "0k4av4jamgpavn82q54g345la5i2ckfbq2w9nnf2a6vhvk1lnw8g";
+       version = "1.13.1";
+       sha256 = "1glsl15dc40wn1r851bray6i450g82xa2n0q53p1i3p5x903mdg9";
        libraryHaskellDepends = [
          base containers ghc-prim template-haskell th-abstraction
        ];
@@ -91511,19 +91867,15 @@ self: {
      }) {};
 
   "generic-xmlpickler" = callPackage
-    ({ mkDerivation, base, generic-deriving, hxt, hxt-pickle-utils
-     , tasty, tasty-hunit, tasty-th, text
+    ({ mkDerivation, base, generic-deriving, hxt, tasty, tasty-hunit
+     , tasty-th, text
      }:
      mkDerivation {
        pname = "generic-xmlpickler";
-       version = "0.1.0.5";
-       sha256 = "1brnlgnbys811qy64aps2j03ks2p0rkihaqzaszfwl80cpsn05ym";
-       revision = "8";
-       editedCabalFile = "1hpcglml4b5yv192syxazminr5v7qjrgqwb2wk0cf7f0sjpm5d0q";
+       version = "0.1.0.6";
+       sha256 = "0cbigrfiilwr2dfcnd2mskj1pjgwrjj72anfpa1yii7q9rs0gdh3";
        libraryHaskellDepends = [ base generic-deriving hxt text ];
-       testHaskellDepends = [
-         base hxt hxt-pickle-utils tasty tasty-hunit tasty-th
-       ];
+       testHaskellDepends = [ base hxt tasty tasty-hunit tasty-th ];
        description = "Generic generation of HXT XmlPickler instances using GHC Generics";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -92490,8 +92842,8 @@ self: {
      }:
      mkDerivation {
        pname = "geoip2";
-       version = "0.4.0.0";
-       sha256 = "1a2wxblnv611asfwkgm2ndam1jvm2xqajj3rk0ii9qi7j9s5w8v0";
+       version = "0.4.0.1";
+       sha256 = "0q0clfmq7spfplxr6dxhq0d39f5l95yfr87ixnv2cn0ahcx7fpi7";
        libraryHaskellDepends = [
          base bytestring cereal containers iproute lens mmap
          reinterpret-cast text
@@ -92719,6 +93071,8 @@ self: {
        ];
        description = "Github Standard Labeler";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "gh-pocket-knife" = callPackage
@@ -93767,11 +94121,11 @@ self: {
     ({ mkDerivation, base, bytestring, criterion, text }:
      mkDerivation {
        pname = "ghc-trace-events";
-       version = "0.0.0.1";
-       sha256 = "0b9s07wy26f9xswg6ysylpjaa9gv9iqw50n3zqpkj3jr8ah8y3kl";
+       version = "0.1.0";
+       sha256 = "0i68zk3k02f3hp6yvkgmdvdjfm8kgh3pwhr3qff4bc9isfh6qks2";
        libraryHaskellDepends = [ base bytestring text ];
        benchmarkHaskellDepends = [ base bytestring criterion ];
-       description = "Faster replacements for traceEvent and traceMarker";
+       description = "Faster traceEvent and traceMarker, and binary object logging for eventlog";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -93935,8 +94289,8 @@ self: {
     ({ mkDerivation, base, directory, ghc, time }:
      mkDerivation {
        pname = "ghcflags";
-       version = "1.0.1";
-       sha256 = "1s7xx13ka5jc8c5ga2yzzx3m6l9kn8fjgrfq6g7y6z8kw38590vb";
+       version = "1.0.2";
+       sha256 = "17j7bkx7ki5vqr0a3vl0f0v4l9cz2q7lm9xpkj3144y9sqmiqzy3";
        libraryHaskellDepends = [ base directory ghc time ];
        description = "Dump the ghc flags during compilation";
        license = stdenv.lib.licenses.bsd2;
@@ -94130,6 +94484,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ghcid_0_7_7" = callPackage
+    ({ mkDerivation, ansi-terminal, base, cmdargs, containers
+     , directory, extra, filepath, fsnotify, process, tasty, tasty-hunit
+     , terminal-size, time, unix
+     }:
+     mkDerivation {
+       pname = "ghcid";
+       version = "0.7.7";
+       sha256 = "1qrj6is1f6jnx9m2g7cp2009dik7inzf5yqlvqv4pwzzxp0nhl3a";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-terminal base cmdargs directory extra filepath process time
+       ];
+       executableHaskellDepends = [
+         ansi-terminal base cmdargs containers directory extra filepath
+         fsnotify process terminal-size time unix
+       ];
+       testHaskellDepends = [
+         ansi-terminal base cmdargs containers directory extra filepath
+         fsnotify process tasty tasty-hunit terminal-size time unix
+       ];
+       description = "GHCi based bare bones IDE";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ghcide" = callPackage
     ({ mkDerivation, aeson, async, base, binary, bytestring, containers
      , data-default, deepseq, directory, extra, filepath, ghc, ghc-boot
@@ -95797,8 +96178,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-annex";
-       version = "7.20191106";
-       sha256 = "1zvs011vqwyjk1xgz1c8gflih9903rjqg3l5km15p45lny8y8j4b";
+       version = "7.20191114";
+       sha256 = "1afrn5g3b80f3n6ncfph6pmf9jdpc7a6ay55k2pmkn96pyv4hfmm";
        configureFlags = [
          "-fassistant" "-f-benchmark" "-fdbus" "-f-debuglocks" "-fmagicmime"
          "-f-networkbsd" "-fpairing" "-fproduction" "-fs3" "-ftorrentparser"
@@ -95841,9 +96222,9 @@ self: {
        description = "manage files with git, without checking their contents into git";
        license = stdenv.lib.licenses.agpl3;
        maintainers = with stdenv.lib.maintainers; [ peti ];
-     }) {inherit (pkgs) bup; inherit (pkgs) curl; inherit (pkgs) git; 
-         inherit (pkgs) gnupg; inherit (pkgs) lsof; inherit (pkgs) openssh; 
-         inherit (pkgs) perl; inherit (pkgs) rsync; inherit (pkgs) wget; 
+     }) {inherit (pkgs) bup; inherit (pkgs) curl; inherit (pkgs) git;
+         inherit (pkgs) gnupg; inherit (pkgs) lsof; inherit (pkgs) openssh;
+         inherit (pkgs) perl; inherit (pkgs) rsync; inherit (pkgs) wget;
          inherit (pkgs) which;};
 
   "git-brunch" = callPackage
@@ -95897,8 +96278,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-config";
-       version = "0.1.1";
-       sha256 = "0vspjqscw02x3hr6n0d0d4kyjfh5lij4wy58fp4z301vmyv77vgl";
+       version = "0.1.2";
+       sha256 = "1kp5yqn7pz5haq41m2za2f3bw0ygf1zlnn3n0b76zh0jbrndgknh";
        libraryHaskellDepends = [
          base megaparsec text unordered-containers
        ];
@@ -96307,8 +96688,8 @@ self: {
      }:
      mkDerivation {
        pname = "github";
-       version = "0.23";
-       sha256 = "1d08m0kajl6zaralz1rbm4miv2a5zrbm6asjyrl75n915l56m9mb";
+       version = "0.24";
+       sha256 = "0jbk34aibm5bqbax8f2sif840f31g81yipnkav96lr4pfdv5b4mr";
        libraryHaskellDepends = [
          aeson base base-compat base16-bytestring binary binary-instances
          bytestring containers cryptohash-sha1 deepseq deepseq-generics
@@ -96403,29 +96784,6 @@ self: {
      }:
      mkDerivation {
        pname = "github-release";
-       version = "1.2.4";
-       sha256 = "1s4vmqrzq7w35kfij9pyxm9b672khhx03whi4adz6l51xij6a3yb";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base bytestring http-client http-client-tls http-types
-         mime-types optparse-generic text unordered-containers uri-templater
-       ];
-       executableHaskellDepends = [
-         aeson base bytestring http-client http-client-tls http-types
-         mime-types optparse-generic text unordered-containers uri-templater
-       ];
-       description = "Upload files to GitHub releases";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "github-release_1_2_5" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, http-client
-     , http-client-tls, http-types, mime-types, optparse-generic, text
-     , unordered-containers, uri-templater
-     }:
-     mkDerivation {
-       pname = "github-release";
        version = "1.2.5";
        sha256 = "1ilmq8sjxidyna41gm97ygskjzkbf3rggb2m6lqpxpjcycay7jfr";
        isLibrary = true;
@@ -96440,7 +96798,6 @@ self: {
        ];
        description = "Upload files to GitHub releases";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "github-rest" = callPackage
@@ -96696,22 +97053,23 @@ self: {
      }) {};
 
   "gitlab-haskell" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, connection, http-conduit
-     , http-types, optparse-applicative, text, transformers, unliftio
-     , unliftio-core
+    ({ mkDerivation, aeson, base, bytestring, connection, directory
+     , filepath, http-conduit, http-types, moss, optparse-applicative
+     , temporary, text, time, transformers, unliftio, unliftio-core
      }:
      mkDerivation {
        pname = "gitlab-haskell";
-       version = "0.1.2";
-       sha256 = "0m5gxf7799ds3ff46bz7j3rxycwnbaaik7lffyh22ipp3wlxjxpn";
+       version = "0.1.3";
+       sha256 = "12yfq12c6jlkr08x2jhykxdydikf3x4dmkyyn15fxhajqi7f1ka2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base bytestring connection http-conduit http-types text
+         aeson base bytestring connection http-conduit http-types text time
          transformers unliftio unliftio-core
        ];
        executableHaskellDepends = [
-         base http-types optparse-applicative text
+         base bytestring directory filepath http-types moss
+         optparse-applicative temporary text unliftio-core
        ];
        description = "A Haskell library for the GitLab web API";
        license = stdenv.lib.licenses.bsd3;
@@ -97721,10 +98079,15 @@ self: {
      }:
      mkDerivation {
        pname = "glpk-hs";
-       version = "0.5";
-       sha256 = "1scr5iyxn83172g3d7wjww3frcrgk8kh3hzni11qchskllkx0vm3";
+       version = "0.7";
+       sha256 = "0cbdlidq14hmhndlgxid4gdzyg0jlm5habp5389xl3zkbmm2hni9";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [ array base containers deepseq gasp mtl ];
        librarySystemDepends = [ glpk ];
+       executableHaskellDepends = [
+         array base containers deepseq gasp mtl
+       ];
        description = "Comprehensive GLPK linear programming bindings";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -97947,7 +98310,7 @@ self: {
        libraryToolDepends = [ c2hs ];
        description = "Bindings for libgnome-keyring";
        license = stdenv.lib.licenses.gpl3;
-     }) {inherit (pkgs.gnome3) gnome-keyring; 
+     }) {inherit (pkgs.gnome3) gnome-keyring;
          inherit (pkgs) libgnome-keyring;};
 
   "gnomevfs" = callPackage
@@ -102000,21 +102363,22 @@ self: {
      }) {};
 
   "graphql" = callPackage
-    ({ mkDerivation, aeson, base, hspec, hspec-expectations
+    ({ mkDerivation, aeson, base, containers, hspec, hspec-expectations
      , hspec-megaparsec, megaparsec, raw-strings-qq, text, transformers
      , unordered-containers
      }:
      mkDerivation {
        pname = "graphql";
-       version = "0.5.1.0";
-       sha256 = "0wnn4nhszcciv06h17qkaxn649w48fw876v85934mfbn56fczzdd";
+       version = "0.6.0.0";
+       sha256 = "0gippn2y1ngykfz33825r4r4m5km7m8qch7ijics1q9d1jnszs5a";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson base megaparsec text transformers unordered-containers
+         aeson base containers megaparsec text transformers
+         unordered-containers
        ];
        testHaskellDepends = [
-         aeson base hspec hspec-expectations hspec-megaparsec megaparsec
-         raw-strings-qq text transformers unordered-containers
+         aeson base containers hspec hspec-expectations hspec-megaparsec
+         megaparsec raw-strings-qq text transformers unordered-containers
        ];
        description = "Haskell GraphQL implementation";
        license = stdenv.lib.licenses.bsd3;
@@ -102057,8 +102421,8 @@ self: {
     ({ mkDerivation, base, containers, json, text }:
      mkDerivation {
        pname = "graphql-w-persistent";
-       version = "0.6.0.0";
-       sha256 = "03m247xmj8gvvjs4bgsc06daz9avklza7ngs575psaqmkpxd8ga3";
+       version = "0.7.0.0";
+       sha256 = "02qbwkbr8hckr6z9ivszdnwlilz7mkh6zinb33s7gas7iwzkf9jc";
        libraryHaskellDepends = [ base containers json text ];
        description = "GraphQL interface middleware for (SQL) databases";
        license = stdenv.lib.licenses.isc;
@@ -102298,7 +102662,7 @@ self: {
        executablePkgconfigDepends = [ libXau xcb xdmcp xlibsWrapper ];
        description = "Simple clipboard manager to be integrated with rofi";
        license = stdenv.lib.licenses.bsd3;
-     }) {inherit (pkgs.xorg) libXau; xcb = null; xdmcp = null; 
+     }) {inherit (pkgs.xorg) libXau; xcb = null; xdmcp = null;
          inherit (pkgs) xlibsWrapper;};
 
   "greg-client" = callPackage
@@ -102974,8 +103338,8 @@ self: {
      }:
      mkDerivation {
        pname = "grpc-haskell";
-       version = "0.0.0.0";
-       sha256 = "1d1njhrg6sfwy9f6xaxj0p8bbp2g6qjsa4cq7zq43h3vc1lkb0ii";
+       version = "0.0.1.0";
+       sha256 = "1cl12g88wvml3s5jazcb4gi4zwf6fp28hc9jp1fj25qpbr14il5c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -102994,7 +103358,34 @@ self: {
        license = stdenv.lib.licenses.asl20;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {grpc-haskell-core = null;};
+     }) {};
+
+  "grpc-haskell-core" = callPackage
+    ({ mkDerivation, async, base, bytestring, c2hs, clock, containers
+     , gpr, grpc, managed, pipes, proto3-suite, QuickCheck, safe
+     , sorted-list, stm, tasty, tasty-hunit, tasty-quickcheck, text
+     , time, transformers, turtle, unix
+     }:
+     mkDerivation {
+       pname = "grpc-haskell-core";
+       version = "0.0.0.0";
+       sha256 = "1pvcdr1jrn94nwhni5992l8mv401150wl8yi519hncs173n2fx88";
+       libraryHaskellDepends = [
+         base bytestring clock containers managed sorted-list stm
+         transformers
+       ];
+       librarySystemDepends = [ gpr grpc ];
+       libraryToolDepends = [ c2hs ];
+       testHaskellDepends = [
+         async base bytestring clock containers managed pipes proto3-suite
+         QuickCheck safe tasty tasty-hunit tasty-quickcheck text time
+         transformers turtle unix
+       ];
+       description = "Haskell implementation of gRPC layered on shared C library";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {gpr = null; inherit (pkgs) grpc;};
 
   "gruff" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, filepath
@@ -103640,9 +104031,9 @@ self: {
        license = stdenv.lib.licenses.lgpl21;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {inherit (pkgs) gtk2; inherit (pkgs.gnome2) gtkglext; 
-         inherit (pkgs) libGLU; inherit (pkgs.xorg) libICE; 
-         inherit (pkgs.xorg) libSM; inherit (pkgs.xorg) libXmu; 
+     }) {inherit (pkgs) gtk2; inherit (pkgs.gnome2) gtkglext;
+         inherit (pkgs) libGLU; inherit (pkgs.xorg) libICE;
+         inherit (pkgs.xorg) libSM; inherit (pkgs.xorg) libXmu;
          inherit (pkgs.xorg) libXt;};
 
   "gtkimageview" = callPackage
@@ -104030,7 +104421,7 @@ self: {
        license = "LGPL";
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {cudd = null; epd = null; inherit (pkgs) mtr; 
+     }) {cudd = null; epd = null; inherit (pkgs) mtr;
          inherit (pkgs) st; util = null;};
 
   "hCM" = callPackage
@@ -104179,29 +104570,28 @@ self: {
 
   "hOpenPGP" = callPackage
     ({ mkDerivation, aeson, asn1-encoding, attoparsec, base
-     , base16-bytestring, base64-bytestring, bifunctors, binary
-     , binary-conduit, bytestring, bzlib, conduit, conduit-extra
-     , containers, criterion, crypto-cipher-types, cryptonite, errors
-     , hashable, incremental-parser, ixset-typed, lens, memory
-     , monad-loops, nettle, network, network-uri, newtype
-     , openpgp-asciiarmor, prettyprinter, QuickCheck
-     , quickcheck-instances, resourcet, semigroups, split, tasty
-     , tasty-hunit, tasty-quickcheck, text, time, time-locale-compat
-     , transformers, unliftio-core, unordered-containers, zlib
+     , base16-bytestring, bifunctors, binary, binary-conduit, bytestring
+     , bzlib, conduit, conduit-extra, containers, criterion
+     , crypto-cipher-types, cryptonite, errors, hashable
+     , incremental-parser, ixset-typed, lens, memory, monad-loops
+     , nettle, network, network-uri, newtype, openpgp-asciiarmor
+     , prettyprinter, QuickCheck, quickcheck-instances, resourcet
+     , semigroups, split, tasty, tasty-hunit, tasty-quickcheck, text
+     , time, time-locale-compat, transformers, unliftio-core
+     , unordered-containers, zlib
      }:
      mkDerivation {
        pname = "hOpenPGP";
-       version = "2.8";
-       sha256 = "1n6cpwgg934ii3b4ap2gp347q3k4b64dc9x37d4bj51hs6910pmw";
-       libraryHaskellDepends = [
-         aeson asn1-encoding attoparsec base base16-bytestring
-         base64-bytestring bifunctors binary binary-conduit bytestring bzlib
-         conduit conduit-extra containers crypto-cipher-types cryptonite
-         errors hashable incremental-parser ixset-typed lens memory
-         monad-loops nettle network-uri newtype openpgp-asciiarmor
-         prettyprinter resourcet semigroups split text time
-         time-locale-compat transformers unliftio-core unordered-containers
-         zlib
+       version = "2.8.4";
+       sha256 = "0vvr86y29ncgs3j2hd5qhsxix09jf01ah8qqq6n12zsh484cr127";
+       libraryHaskellDepends = [
+         aeson asn1-encoding attoparsec base base16-bytestring bifunctors
+         binary binary-conduit bytestring bzlib conduit conduit-extra
+         containers crypto-cipher-types cryptonite errors hashable
+         incremental-parser ixset-typed lens memory monad-loops nettle
+         network-uri newtype openpgp-asciiarmor prettyprinter resourcet
+         semigroups split text time time-locale-compat transformers
+         unliftio-core unordered-containers zlib
        ];
        testHaskellDepends = [
          aeson asn1-encoding attoparsec base base16-bytestring bifunctors
@@ -104214,16 +104604,68 @@ self: {
          unliftio-core unordered-containers zlib
        ];
        benchmarkHaskellDepends = [
-         aeson base base16-bytestring base64-bytestring bifunctors binary
-         binary-conduit bytestring bzlib conduit conduit-extra containers
-         criterion crypto-cipher-types cryptonite errors hashable
+         aeson base base16-bytestring bifunctors binary binary-conduit
+         bytestring bzlib conduit conduit-extra containers criterion
+         crypto-cipher-types cryptonite errors hashable incremental-parser
+         ixset-typed lens memory monad-loops nettle network network-uri
+         newtype openpgp-asciiarmor prettyprinter resourcet semigroups split
+         text time time-locale-compat transformers unliftio-core
+         unordered-containers zlib
+       ];
+       description = "native Haskell implementation of OpenPGP (RFC4880)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "hOpenPGP_2_8_5" = callPackage
+    ({ mkDerivation, aeson, asn1-encoding, attoparsec, base
+     , base16-bytestring, bifunctors, binary, binary-conduit, bytestring
+     , bzlib, conduit, conduit-extra, containers, criterion
+     , crypto-cipher-types, cryptonite, errors, hashable
+     , incremental-parser, ixset-typed, lens, memory, monad-loops
+     , nettle, network, network-uri, newtype, openpgp-asciiarmor
+     , prettyprinter, QuickCheck, quickcheck-instances, resourcet
+     , semigroups, split, tasty, tasty-hunit, tasty-quickcheck, text
+     , time, time-locale-compat, transformers, unliftio-core
+     , unordered-containers, zlib
+     }:
+     mkDerivation {
+       pname = "hOpenPGP";
+       version = "2.8.5";
+       sha256 = "1d5cmgj3rg8snc2b5jn9h7hb83j2hhf0c9shiiyrpr8rrl4hx2mj";
+       libraryHaskellDepends = [
+         aeson asn1-encoding attoparsec base base16-bytestring bifunctors
+         binary binary-conduit bytestring bzlib conduit conduit-extra
+         containers crypto-cipher-types cryptonite errors hashable
          incremental-parser ixset-typed lens memory monad-loops nettle
-         network network-uri newtype openpgp-asciiarmor prettyprinter
-         resourcet semigroups split text time time-locale-compat
-         transformers unliftio-core unordered-containers zlib
+         network-uri newtype openpgp-asciiarmor prettyprinter resourcet
+         semigroups split text time time-locale-compat transformers
+         unliftio-core unordered-containers zlib
+       ];
+       testHaskellDepends = [
+         aeson asn1-encoding attoparsec base base16-bytestring bifunctors
+         binary binary-conduit bytestring bzlib conduit conduit-extra
+         containers crypto-cipher-types cryptonite errors hashable
+         incremental-parser ixset-typed lens memory monad-loops nettle
+         network network-uri newtype prettyprinter QuickCheck
+         quickcheck-instances resourcet semigroups split tasty tasty-hunit
+         tasty-quickcheck text time time-locale-compat transformers
+         unliftio-core unordered-containers zlib
+       ];
+       benchmarkHaskellDepends = [
+         aeson base base16-bytestring bifunctors binary binary-conduit
+         bytestring bzlib conduit conduit-extra containers criterion
+         crypto-cipher-types cryptonite errors hashable incremental-parser
+         ixset-typed lens memory monad-loops nettle network network-uri
+         newtype openpgp-asciiarmor prettyprinter resourcet semigroups split
+         text time time-locale-compat transformers unliftio-core
+         unordered-containers zlib
        ];
        description = "native Haskell implementation of OpenPGP (RFC4880)";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "hPDB" = callPackage
@@ -105162,6 +105604,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hackage-security_0_6_0_0" = callPackage
+    ({ mkDerivation, aeson, base, base16-bytestring, base64-bytestring
+     , bytestring, Cabal, containers, cryptohash-sha256, directory
+     , ed25519, filepath, ghc-prim, lukko, mtl, network, network-uri
+     , parsec, pretty, QuickCheck, tar, tasty, tasty-hunit
+     , tasty-quickcheck, template-haskell, temporary, time, transformers
+     , unordered-containers, vector, zlib
+     }:
+     mkDerivation {
+       pname = "hackage-security";
+       version = "0.6.0.0";
+       sha256 = "1y9vs30y474ri8b9jqkbwfkcfh7p7jaafzwxina9z0xl32d0bn1c";
+       libraryHaskellDepends = [
+         base base16-bytestring base64-bytestring bytestring Cabal
+         containers cryptohash-sha256 directory ed25519 filepath ghc-prim
+         lukko mtl network network-uri parsec pretty tar template-haskell
+         time transformers zlib
+       ];
+       testHaskellDepends = [
+         aeson base bytestring Cabal containers network-uri QuickCheck tar
+         tasty tasty-hunit tasty-quickcheck temporary time
+         unordered-containers vector zlib
+       ];
+       description = "Hackage security library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hackage-security-HTTP" = callPackage
     ({ mkDerivation, base, bytestring, hackage-security, HTTP, mtl
      , network, network-uri, zlib
@@ -105638,8 +106108,8 @@ self: {
      }:
      mkDerivation {
        pname = "hadolint";
-       version = "1.17.2";
-       sha256 = "0s9q0016j3y56sblkq12mai1j58h8w8cy8k2x1bzvhb95zpg1va9";
+       version = "1.17.3";
+       sha256 = "00lyf2m6q866383q79b705xhn987504wz3fp3zh7m8580v8phy5p";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -106393,8 +106863,6 @@ self: {
        ];
        description = "Hakyll utilities to work with images";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "hakyll-ogmarkup" = callPackage
@@ -107420,8 +107888,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-authenticate";
-       version = "2.4.0";
-       sha256 = "1q4k8x6mwh9g7y5njcjd1xyn79yjnjv01nk4xa5q9yspmsa4685m";
+       version = "2.4.0.2";
+       sha256 = "16f4rs4h3lznkci5axibliiwfr3vrm03arxcjfjiv6mypkcpnp2r";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          acid-state aeson authenticate base base64-bytestring boomerang
@@ -107680,8 +108148,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-hsp";
-       version = "7.3.7.3";
-       sha256 = "0m7psd6dg33xijshs3dxz2xrqghmpbs402h67b52pkqsk5nmy633";
+       version = "7.3.7.4";
+       sha256 = "188fqqpq7m921qkfv2b64pikcx8zzsy376l4py4wxlkabl7fkydr";
        libraryHaskellDepends = [
          base bytestring happstack-server harp hsp hsx2hs mtl syb text
          utf8-string
@@ -107736,8 +108204,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-jmacro";
-       version = "7.0.12.1";
-       sha256 = "0bx2wa0pdj73f11xhkk0qq3k8zwh6ccc3kqli9q59617s05wq6zz";
+       version = "7.0.12.2";
+       sha256 = "0zgmh75z59g6hs8n924sbnhswjdd6b947ywiird2a3y6d2zwqj3v";
        libraryHaskellDepends = [
          base base64-bytestring bytestring cereal digest happstack-server
          jmacro text utf8-string wl-pprint-text
@@ -107801,22 +108269,22 @@ self: {
     ({ mkDerivation, base, base64-bytestring, blaze-html, bytestring
      , containers, directory, exceptions, extensible-exceptions
      , filepath, hslogger, html, HUnit, monad-control, mtl, network
-     , network-uri, old-locale, parsec, process, semigroups, sendfile
-     , syb, system-filepath, template-haskell, text, threads, time
-     , transformers, transformers-base, transformers-compat, unix
+     , network-bsd, network-uri, old-locale, parsec, process, semigroups
+     , sendfile, syb, system-filepath, template-haskell, text, threads
+     , time, transformers, transformers-base, transformers-compat, unix
      , utf8-string, xhtml, zlib
      }:
      mkDerivation {
        pname = "happstack-server";
-       version = "7.5.4";
-       sha256 = "0i7csvmwv7n68gkwqzi985p2mjdgzipjnlj873sdiknhx9pfmq70";
+       version = "7.6.0";
+       sha256 = "0dixzrqr6y96ldx7ls2n19ilfph798jkflgcpzbj6gaw3y20w2b7";
        libraryHaskellDepends = [
          base base64-bytestring blaze-html bytestring containers directory
          exceptions extensible-exceptions filepath hslogger html
-         monad-control mtl network network-uri old-locale parsec process
-         semigroups sendfile syb system-filepath template-haskell text
-         threads time transformers transformers-base transformers-compat
-         unix utf8-string xhtml zlib
+         monad-control mtl network network-bsd network-uri old-locale parsec
+         process semigroups sendfile syb system-filepath template-haskell
+         text threads time transformers transformers-base
+         transformers-compat unix utf8-string xhtml zlib
        ];
        testHaskellDepends = [
          base bytestring containers HUnit parsec zlib
@@ -107834,8 +108302,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-server-tls";
-       version = "7.1.6.7";
-       sha256 = "18jvim1hm1d4ia8ka2kxwzzzpdvs6wy0v2k5qz6bg9lsv4wi9xil";
+       version = "7.2.1";
+       sha256 = "1cihzjxl1v5sgmaxn8qny8b9yzm7p1gccgy1iaa3dk2jpl07a2dp";
        libraryHaskellDepends = [
          base bytestring extensible-exceptions happstack-server hslogger
          HsOpenSSL network sendfile time unix
@@ -108317,8 +108785,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "harp";
-       version = "0.4.3.2";
-       sha256 = "1abyfsr0ya7j0s6znixhfhsr9mlmcg16rg5d9909b0xr896bkbn6";
+       version = "0.4.3.3";
+       sha256 = "16bmv3ymiiyvy65vf4s5h4fhp6q5hrw40xfdba4yarwgpbm0frm2";
        libraryHaskellDepends = [ base ];
        description = "HaRP allows pattern-matching with regular expressions";
        license = stdenv.lib.licenses.bsd3;
@@ -108410,6 +108878,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hasbolt_0_1_3_6" = callPackage
+    ({ mkDerivation, base, binary, bytestring, connection, containers
+     , data-binary-ieee754, data-default, hex, hspec, mtl, network
+     , QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "hasbolt";
+       version = "0.1.3.6";
+       sha256 = "0sgxvgvxqykslbjslrb5mzmaaar4nbc59p94qhk7rzbjsas01vp2";
+       libraryHaskellDepends = [
+         base binary bytestring connection containers data-binary-ieee754
+         data-default mtl network text
+       ];
+       testHaskellDepends = [
+         base bytestring containers hex hspec QuickCheck text
+       ];
+       description = "Haskell driver for Neo4j 3+ (BOLT protocol)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hasbolt-extras" = callPackage
     ({ mkDerivation, aeson, aeson-casing, base, bytestring, containers
      , data-default, doctest, free, hasbolt, lens, mtl
@@ -108418,8 +108907,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasbolt-extras";
-       version = "0.0.0.23";
-       sha256 = "0zxmwkr0zgj5bz95nay9irl10fbfda4sawgizfmjhvxdfcwslbkv";
+       version = "0.0.0.24";
+       sha256 = "16hybk7f8rx81a50zbj6i4isx4fi2yr7aw9n36h8qab4dxil4szy";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -109394,23 +109883,24 @@ self: {
 
   "haskell-ci" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, base-compat
-     , bytestring, Cabal, containers, deepseq, Diff, directory
-     , exceptions, filepath, generic-lens, HsYAML, lattices, microlens
-     , mtl, network-uri, optparse-applicative, parsec, pretty, process
-     , ShellCheck, tasty, tasty-golden, temporary, text, transformers
-     , unordered-containers
+     , bytestring, Cabal, cabal-install-parsers, containers, deepseq
+     , Diff, directory, exceptions, filepath, generic-lens, HsYAML
+     , lattices, microlens, mtl, network-uri, optparse-applicative
+     , parsec, pretty, process, ShellCheck, tasty, tasty-golden
+     , temporary, text, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "haskell-ci";
-       version = "0.6";
-       sha256 = "1g9zfdw4z00sbh3mkaz2hzn09hjlawkb7h67mqn4qsdjw6dbwaab";
+       version = "0.8";
+       sha256 = "1wm5fs8fdy85lvjyy9n0yh66ax6bs0ll4gq7d8ba0ibsp69g6pm3";
        isLibrary = false;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base base-compat bytestring Cabal containers deepseq
-         directory exceptions filepath generic-lens HsYAML lattices
-         microlens mtl network-uri optparse-applicative parsec pretty
-         process ShellCheck temporary text transformers unordered-containers
+         aeson base base-compat bytestring Cabal cabal-install-parsers
+         containers deepseq directory exceptions filepath generic-lens
+         HsYAML lattices microlens mtl network-uri optparse-applicative
+         parsec pretty process ShellCheck temporary text transformers
+         unordered-containers
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
@@ -109420,7 +109910,8 @@ self: {
        doHaddock = false;
        description = "Cabal package script generator for Travis-CI";
        license = stdenv.lib.licenses.gpl3Plus;
-       maintainers = with stdenv.lib.maintainers; [ peti ];
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "haskell-cnc" = callPackage
@@ -109960,7 +110451,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "haskell-lsp_0_17_0_0" = callPackage
+  "haskell-lsp_0_18_0_0" = callPackage
     ({ mkDerivation, aeson, async, attoparsec, base, bytestring
      , containers, data-default, directory, filepath, hashable
      , haskell-lsp-types, hslogger, hspec, hspec-discover, lens, mtl
@@ -109969,8 +110460,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-lsp";
-       version = "0.17.0.0";
-       sha256 = "17c95ndm6jadab04q707pmv6x9cwshk463c8gc9ai0m7763win7x";
+       version = "0.18.0.0";
+       sha256 = "0q9xpjgr3n7svhd9f7mmkw113avswvfm08fnbijdr1sblipd12sl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -110029,15 +110520,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "haskell-lsp-types_0_17_0_0" = callPackage
+  "haskell-lsp-types_0_18_0_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, data-default, deepseq
      , filepath, hashable, lens, network-uri, scientific, text
      , unordered-containers
      }:
      mkDerivation {
        pname = "haskell-lsp-types";
-       version = "0.17.0.0";
-       sha256 = "03i3s7f82imv4ysclhjv07mcs0dl3m5nmjxmfa5wafircai4yi3p";
+       version = "0.18.0.0";
+       sha256 = "1ypa3gxxcg7dl905d4nprcqzw2fcl7z7xy1hpg5har1dw3w9fyiq";
        libraryHaskellDepends = [
          aeson base bytestring data-default deepseq filepath hashable lens
          network-uri scientific text unordered-containers
@@ -110495,6 +110986,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "haskell-src_1_0_3_1" = callPackage
+    ({ mkDerivation, array, base, happy, pretty, syb }:
+     mkDerivation {
+       pname = "haskell-src";
+       version = "1.0.3.1";
+       sha256 = "0cjigvshk4b8wqdk0v0hz9ag1kyjjsmqsy4a1m3n28ac008cg746";
+       libraryHaskellDepends = [ array base pretty syb ];
+       libraryToolDepends = [ happy ];
+       description = "Support for manipulating Haskell source code";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "haskell-src-exts_1_19_1" = callPackage
     ({ mkDerivation, array, base, containers, cpphs, directory
      , filepath, ghc-prim, happy, mtl, pretty, pretty-show, smallcheck
@@ -110668,14 +111172,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "haskell-src-meta_0_8_4" = callPackage
+  "haskell-src-meta_0_8_5" = callPackage
     ({ mkDerivation, base, containers, haskell-src-exts, HUnit, pretty
      , syb, tasty, tasty-hunit, template-haskell, th-orphans
      }:
      mkDerivation {
        pname = "haskell-src-meta";
-       version = "0.8.4";
-       sha256 = "18zcsaz9cb65rpyxmxrs30vqmdighc4flyfv8ix623nlq247drsn";
+       version = "0.8.5";
+       sha256 = "1csqp3n7330rhia9msyw34z7qwwj64gdy5qlv8w4jbm49dap24ik";
        libraryHaskellDepends = [
          base haskell-src-exts pretty syb template-haskell th-orphans
        ];
@@ -112004,6 +112508,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Bitcoin & Bitcoin Cash library for Haskell";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "haskoin-crypto" = callPackage
@@ -112119,8 +112625,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-store";
-       version = "0.18.6";
-       sha256 = "0hgjawlvlvz2wz711dgfbg8wvinzl4faisw8fpi7v00v6agwz2gx";
+       version = "0.18.7";
+       sha256 = "1cdj43n3y7j9gcw1196y9g5n188yf2dhjrj277impvlrf5y5qqs7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -112986,34 +113492,6 @@ self: {
      }:
      mkDerivation {
        pname = "hasql";
-       version = "1.4";
-       sha256 = "0j2arb96i1dinpz1yxl2cjl4qhbljk9yph52cj9az50mvl8vx3w4";
-       libraryHaskellDepends = [
-         attoparsec base base-prelude bytestring bytestring-strict-builder
-         contravariant contravariant-extras dlist hashable hashtables
-         loch-th mtl placeholders postgresql-binary postgresql-libpq
-         profunctors text text-builder transformers vector
-       ];
-       testHaskellDepends = [
-         bug QuickCheck quickcheck-instances rebase rerebase tasty
-         tasty-hunit tasty-quickcheck
-       ];
-       benchmarkHaskellDepends = [ bug criterion rerebase ];
-       description = "An efficient PostgreSQL driver with a flexible mapping API";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "hasql_1_4_0_1" = callPackage
-    ({ mkDerivation, attoparsec, base, base-prelude, bug, bytestring
-     , bytestring-strict-builder, contravariant, contravariant-extras
-     , criterion, dlist, hashable, hashtables, loch-th, mtl
-     , placeholders, postgresql-binary, postgresql-libpq, profunctors
-     , QuickCheck, quickcheck-instances, rebase, rerebase, tasty
-     , tasty-hunit, tasty-quickcheck, text, text-builder, transformers
-     , vector
-     }:
-     mkDerivation {
-       pname = "hasql";
        version = "1.4.0.1";
        sha256 = "04112217385hh7bqzs4sr0263yy3pzny10ym4j5vmy9kwrbygk2d";
        libraryHaskellDepends = [
@@ -113029,7 +113507,6 @@ self: {
        benchmarkHaskellDepends = [ bug criterion rerebase ];
        description = "An efficient PostgreSQL driver with a flexible mapping API";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hasql-backend" = callPackage
@@ -113331,21 +113808,21 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "hasql-transaction_1" = callPackage
+  "hasql-transaction_1_0_0_1" = callPackage
     ({ mkDerivation, async, base, bytestring, bytestring-tree-builder
      , contravariant, contravariant-extras, hasql, mtl, rebase
      , transformers
      }:
      mkDerivation {
        pname = "hasql-transaction";
-       version = "1";
-       sha256 = "1k82b0bx4j2g7lhr2p4z4a365kx1i23dr6zikwg1yyhpvhl3xbcj";
+       version = "1.0.0.1";
+       sha256 = "0jfvabsjpj56piny41hzbblhprjsk5xkpk35x502q2isl2mkk5ql";
        libraryHaskellDepends = [
          base bytestring bytestring-tree-builder contravariant
          contravariant-extras hasql mtl transformers
        ];
        testHaskellDepends = [ async hasql rebase ];
-       description = "A composable abstraction over the retryable transactions for Hasql";
+       description = "Composable abstraction over retryable transactions for Hasql";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -114539,8 +115016,8 @@ self: {
      }:
      mkDerivation {
        pname = "hdaemonize";
-       version = "0.5.5";
-       sha256 = "17q2zr9bv6xwnldgbsh1idwfgybp8q4xzq79p2lmmi3f0q6cnl6j";
+       version = "0.5.6";
+       sha256 = "097fgjgskigy3grnd3ijzyhdq34vjmd9bjk2rscixi59j8j30vxd";
        libraryHaskellDepends = [
          base bytestring extensible-exceptions filepath hsyslog mtl unix
        ];
@@ -115018,6 +115495,21 @@ self: {
        broken = true;
      }) {};
 
+  "headed-megaparsec" = callPackage
+    ({ mkDerivation, base, case-insensitive, megaparsec
+     , parser-combinators, selective
+     }:
+     mkDerivation {
+       pname = "headed-megaparsec";
+       version = "0.1.0.2";
+       sha256 = "0npkkphm4gv7cgm08asr5qxjyk6jdbm4h4w0jwsvxzpxh3nfxgbr";
+       libraryHaskellDepends = [
+         base case-insensitive megaparsec parser-combinators selective
+       ];
+       description = "More informative parser";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "headergen" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, directory
      , filepath, haskeline, time
@@ -115259,6 +115751,18 @@ self: {
        broken = true;
      }) {};
 
+  "heckin" = callPackage
+    ({ mkDerivation, base, hspec }:
+     mkDerivation {
+       pname = "heckin";
+       version = "0.0.1.0";
+       sha256 = "0nvcjkpsk4n96hjah4m85issr47abz3g0csv34sdwk59dx201zbi";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec ];
+       description = "Oh heck, it's a heckin' case conversion library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "heckle" = callPackage
     ({ mkDerivation, base, blaze-html, directory, pandoc, pandoc-types
      , process, split, tagsoup, time
@@ -115424,6 +115928,25 @@ self: {
        broken = true;
      }) {};
 
+  "hedgehog-golden" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
+     , Diff, directory, extra, hedgehog, text
+     }:
+     mkDerivation {
+       pname = "hedgehog-golden";
+       version = "1.0.0";
+       sha256 = "17ja3ch042kvk0fpd1gd9nnj9x5jbl37vxn579hr9rimwgf99az7";
+       libraryHaskellDepends = [
+         aeson aeson-pretty base bytestring containers Diff directory extra
+         hedgehog text
+       ];
+       testHaskellDepends = [ base hedgehog ];
+       description = "Golden testing capabilities for hedgehog using Aeson";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hedgehog-quickcheck" = callPackage
     ({ mkDerivation, base, hedgehog, QuickCheck, transformers }:
      mkDerivation {
@@ -115466,30 +115989,6 @@ self: {
      }:
      mkDerivation {
        pname = "hedis";
-       version = "0.12.8";
-       sha256 = "119j0g6b2ci04bax6xl2biwwf7cfk2vybypx3089fm69xgm8spcz";
-       libraryHaskellDepends = [
-         async base bytestring bytestring-lexing deepseq errors HTTP mtl
-         network network-uri resource-pool scanner stm text time tls
-         unordered-containers vector
-       ];
-       testHaskellDepends = [
-         async base bytestring doctest HUnit mtl stm test-framework
-         test-framework-hunit text time
-       ];
-       benchmarkHaskellDepends = [ base mtl time ];
-       description = "Client library for the Redis datastore: supports full command set, pipelining";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "hedis_0_12_9" = callPackage
-    ({ mkDerivation, async, base, bytestring, bytestring-lexing
-     , deepseq, doctest, errors, HTTP, HUnit, mtl, network, network-uri
-     , resource-pool, scanner, stm, test-framework, test-framework-hunit
-     , text, time, tls, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "hedis";
        version = "0.12.9";
        sha256 = "1j0qismms4ylphm86sn6bkg10c8am234nbp6yw4lngi0axf0iz83";
        libraryHaskellDepends = [
@@ -115504,7 +116003,6 @@ self: {
        benchmarkHaskellDepends = [ base mtl time ];
        description = "Client library for the Redis datastore: supports full command set, pipelining";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hedis-config" = callPackage
@@ -115827,7 +116325,7 @@ self: {
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {newrelic-collector-client = null; newrelic-common = null; 
+     }) {newrelic-collector-client = null; newrelic-common = null;
          newrelic-transaction = null;};
 
   "helics-wai" = callPackage
@@ -117230,7 +117728,7 @@ self: {
        description = "File/folder watching for OS X";
        license = stdenv.lib.licenses.bsd3;
        platforms = [ "x86_64-darwin" ];
-     }) {inherit (pkgs.darwin.apple_sdk.frameworks) Cocoa; 
+     }) {inherit (pkgs.darwin.apple_sdk.frameworks) Cocoa;
          inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices;};
 
   "hfusion" = callPackage
@@ -118802,20 +119300,22 @@ self: {
      }) {};
 
   "hip" = callPackage
-    ({ mkDerivation, base, bytestring, Chart, Chart-diagrams, colour
-     , criterion, deepseq, directory, filepath, hspec, JuicyPixels
-     , netpbm, primitive, process, QuickCheck, repa, repa-algorithms
-     , temporary, vector
+    ({ mkDerivation, array, base, bytestring, Chart, Chart-diagrams
+     , colour, criterion, deepseq, directory, filepath, hspec
+     , hspec-discover, JuicyPixels, netpbm, primitive, process
+     , QuickCheck, random, repa, repa-algorithms, temporary, vector
      }:
      mkDerivation {
        pname = "hip";
-       version = "1.5.3.0";
-       sha256 = "07jgqz5dz8qk96xz0q92hpn172jaqivfmn0mrynhicmvkx7a7izr";
+       version = "1.5.4.0";
+       sha256 = "09vv9zshgy6g9333pyny5lcja8662rxnldg1m0vvfiywcjafbn14";
        libraryHaskellDepends = [
-         base bytestring Chart Chart-diagrams colour deepseq directory
-         filepath JuicyPixels netpbm primitive process repa temporary vector
+         array base bytestring Chart Chart-diagrams colour deepseq directory
+         filepath JuicyPixels netpbm primitive process random repa temporary
+         vector
        ];
        testHaskellDepends = [ base bytestring hspec QuickCheck ];
+       testToolDepends = [ hspec-discover ];
        benchmarkHaskellDepends = [
          base criterion deepseq repa repa-algorithms vector
        ];
@@ -119985,7 +120485,7 @@ self: {
        pname = "hlibsass";
        version = "0.1.8.0";
        sha256 = "1ssgvr0jvl79k1vckp5nq2zw6mx8l4xasydymzjwmhg0fl99mpi6";
-       configureFlags = [ "-fexternalLibsass" ];
+       configureFlags = [ "-fexternallibsass" ];
        setupHaskellDepends = [ base Cabal directory ];
        libraryHaskellDepends = [ base ];
        librarySystemDepends = [ libsass ];
@@ -120105,6 +120605,8 @@ self: {
        pname = "hlrdb";
        version = "0.3.0.0";
        sha256 = "0pc3hqi6v9b78fijisnarfs59w6mw8jgyww25r1wmblgwyakl5ab";
+       revision = "1";
+       editedCabalFile = "1ycglx3b5n1l97pq0rd50wd313gwz1is10snf8s0c9bjlrzspbn5";
        libraryHaskellDepends = [
          base base64-bytestring bytestring cryptonite hashable hedis
          hlrdb-core memory random store time unordered-containers
@@ -120759,8 +121261,8 @@ self: {
      }:
      mkDerivation {
        pname = "hmp3-ng";
-       version = "2.7.1";
-       sha256 = "1flwj8dp18w1vn34lzd44i5wy13m8qmcykmaziwbhz9npv097pnc";
+       version = "2.7.3.1";
+       sha256 = "1g4r9kkd0cqcarg220bj481b2j1gid68l0dfycy47hl8glqhv2w9";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -122202,6 +122704,40 @@ self: {
        broken = true;
      }) {};
 
+  "hopenpgp-tools_0_22" = callPackage
+    ({ mkDerivation, aeson, alex, array, attoparsec, base
+     , base16-bytestring, binary, binary-conduit, bytestring, conduit
+     , conduit-extra, containers, crypto-pubkey, cryptohash, cryptonite
+     , directory, errors, fgl, graphviz, happy, hOpenPGP, http-client
+     , http-client-tls, http-types, ixset-typed, lens, monad-loops, mtl
+     , openpgp-asciiarmor, optparse-applicative, prettyprinter
+     , prettyprinter-ansi-terminal, prettyprinter-convert-ansi-wl-pprint
+     , resourcet, text, time, time-locale-compat, transformers
+     , unordered-containers, vector, yaml
+     }:
+     mkDerivation {
+       pname = "hopenpgp-tools";
+       version = "0.22";
+       sha256 = "1rcjwbnns5fj8x9sgyjlpjda2srmcixvdlmia4nid5nq01clc0c4";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         aeson array attoparsec base base16-bytestring binary binary-conduit
+         bytestring conduit conduit-extra containers crypto-pubkey
+         cryptohash cryptonite directory errors fgl graphviz hOpenPGP
+         http-client http-client-tls http-types ixset-typed lens monad-loops
+         mtl openpgp-asciiarmor optparse-applicative prettyprinter
+         prettyprinter-ansi-terminal prettyprinter-convert-ansi-wl-pprint
+         resourcet text time time-locale-compat transformers
+         unordered-containers vector yaml
+       ];
+       executableToolDepends = [ alex happy ];
+       description = "hOpenPGP-based command-line tools";
+       license = stdenv.lib.licenses.agpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hopenssl" = callPackage
     ({ mkDerivation, base, bytestring, HUnit, openssl }:
      mkDerivation {
@@ -122708,7 +123244,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {inherit (pkgs) freeglut; inherit (pkgs) libGL; 
+     }) {inherit (pkgs) freeglut; inherit (pkgs) libGL;
          inherit (pkgs) libGLU;};
 
   "hp2any-manager" = callPackage
@@ -123670,6 +124206,84 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hreq-client" = callPackage
+    ({ mkDerivation, aeson, base, base-compat, bytestring, Cabal
+     , cabal-doctest, containers, doctest, exceptions, hreq-core, hspec
+     , hspec-discover, http-client, http-client-tls, http-media
+     , http-types, mtl, retry, stm, string-conversions, text, time
+     , unliftio-core
+     }:
+     mkDerivation {
+       pname = "hreq-client";
+       version = "0.1.1.0";
+       sha256 = "0bx4vhvwh4arkp5ly6clj55dmai3npl2p87l64radhyqr9z0il24";
+       isLibrary = true;
+       isExecutable = true;
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base base-compat bytestring containers exceptions hreq-core
+         http-client http-client-tls http-media http-types mtl retry stm
+         string-conversions text time unliftio-core
+       ];
+       executableHaskellDepends = [ aeson base text ];
+       testHaskellDepends = [
+         aeson base containers doctest hreq-core hspec http-types
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "A Type dependent Highlevel HTTP client library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "hreq-conduit" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, Cabal, cabal-doctest
+     , conduit, doctest, exceptions, hreq-client, hreq-core, hspec
+     , hspec-discover, http-client, http-types, markdown-unlit, mtl
+     , retry, string-conversions, text, unliftio-core
+     }:
+     mkDerivation {
+       pname = "hreq-conduit";
+       version = "0.1.0.0";
+       sha256 = "0rdi3nxmq3g7gzlc3w1vc27djwd2pbsifm6mvi6d9nk3ynnrc2vv";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base bytestring conduit exceptions hreq-client hreq-core
+         http-client http-types mtl retry unliftio-core
+       ];
+       testHaskellDepends = [
+         aeson base bytestring conduit doctest hspec http-types
+         string-conversions text
+       ];
+       testToolDepends = [ hspec-discover markdown-unlit ];
+       description = "Conduit streaming support for Hreq";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "hreq-core" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base-compat, bytestring
+     , Cabal, cabal-doctest, containers, doctest, exceptions
+     , http-api-data, http-media, http-types, mtl, string-conversions
+     , text
+     }:
+     mkDerivation {
+       pname = "hreq-core";
+       version = "0.1.1.0";
+       sha256 = "0lc1bc3kr3j6rkrz9w0s5aqb5bb60xhafg1v02n7vcyishdh2iwl";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         aeson attoparsec base base-compat bytestring containers exceptions
+         http-api-data http-media http-types mtl string-conversions text
+       ];
+       testHaskellDepends = [ base doctest ];
+       description = "Core functionality for Hreq Http client library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hrfsize" = callPackage
     ({ mkDerivation, base, process, tasty, tasty-hunit }:
      mkDerivation {
@@ -123812,7 +124426,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {brotlidec = null; brotlienc = null; libbrotlidec = null; 
+     }) {brotlidec = null; brotlienc = null; libbrotlidec = null;
          libbrotlienc = null;};
 
   "hs-captcha" = callPackage
@@ -126004,7 +126618,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {inherit (pkgs) blas; inherit (pkgs) gsl; 
+     }) {inherit (pkgs) blas; inherit (pkgs) gsl;
          inherit (pkgs) liblapack;};
 
   "hsilop" = callPackage
@@ -126074,8 +126688,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsinspect";
-       version = "0.0.7";
-       sha256 = "0vwhxlycvmyczd412llpsjfl63f58bz4ad4fbhiiqw754d7qwaka";
+       version = "0.0.8";
+       sha256 = "1lqczihv7qjh1yy51qds4sg95riwaq1i0fd9mgn3kvhgbyx1r9nn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -126387,10 +127001,10 @@ self: {
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {GraphicsMagick = null; inherit (pkgs) bzip2; freetype2 = null; 
-         inherit (pkgs) jasper; inherit (pkgs) lcms; 
-         inherit (pkgs) libjpeg; inherit (pkgs) libpng; 
-         inherit (pkgs) libxml2; tiff = null; wmflite = null; 
+     }) {GraphicsMagick = null; inherit (pkgs) bzip2; freetype2 = null;
+         inherit (pkgs) jasper; inherit (pkgs) lcms;
+         inherit (pkgs) libjpeg; inherit (pkgs) libpng;
+         inherit (pkgs) libxml2; tiff = null; wmflite = null;
          inherit (pkgs) zlib;};
 
   "hsmisc" = callPackage
@@ -126737,6 +127351,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hspec-bracket" = callPackage
+    ({ mkDerivation, base, hspec }:
+     mkDerivation {
+       pname = "hspec-bracket";
+       version = "0.0.1.0";
+       sha256 = "1d6262frfaghmq77nqsvcalm6w4jl7bn995bkphx461skhm8n300";
+       libraryHaskellDepends = [ base hspec ];
+       description = "The bracket definitions for Hspec";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "hspec-checkers" = callPackage
     ({ mkDerivation, base, checkers, hspec }:
      mkDerivation {
@@ -128232,7 +128857,7 @@ self: {
        license = "GPL";
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {inherit (pkgs) ncurses; inherit (pkgs) readline; 
+     }) {inherit (pkgs) ncurses; inherit (pkgs) readline;
          swipl = null;};
 
   "hsx" = callPackage
@@ -128286,8 +128911,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsx2hs";
-       version = "0.14.1.5";
-       sha256 = "0cw66j3firzgg5c7689y0kffgfq36yn4y17yprbbgv6kw4g7wid4";
+       version = "0.14.1.6";
+       sha256 = "09qynnmy5pq7yl8zic91wysrvjb1a1ibcjc9ry458wgbz236br4n";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -128898,8 +129523,8 @@ self: {
        pname = "htoml-megaparsec";
        version = "2.1.0.3";
        sha256 = "1fpvfrib4igcmwhfms1spxr2b78srhrh4hrflrlgdgdn9x1m5w1x";
-       revision = "1";
-       editedCabalFile = "07zw749vwqdr2lznxivfa22smq7k3h0innanl5wwyf29dq4gk464";
+       revision = "2";
+       editedCabalFile = "0vlyr965g1x5hk2mxlp8w4vv9ijq1gbm3i76slkl2aa38bf2i4ki";
        libraryHaskellDepends = [
          base composition-prelude containers deepseq megaparsec mtl text
          time unordered-containers vector
@@ -129035,27 +129660,23 @@ self: {
 
   "http-api-data" = callPackage
     ({ mkDerivation, attoparsec, attoparsec-iso8601, base, base-compat
-     , bytestring, Cabal, cabal-doctest, containers, cookie, directory
-     , doctest, filepath, hashable, hspec, hspec-discover, http-types
-     , HUnit, nats, QuickCheck, quickcheck-instances, tagged, text
-     , time-compat, unordered-containers, uuid-types
+     , bytestring, containers, cookie, hashable, hspec, hspec-discover
+     , http-types, HUnit, nats, QuickCheck, quickcheck-instances, tagged
+     , text, time-compat, unordered-containers, uuid-types
      }:
      mkDerivation {
        pname = "http-api-data";
-       version = "0.4.1";
-       sha256 = "1ps4bvln43gz72dr9mc3c9n1rn38c4rz6m49vxzz9nz6jz1978rv";
-       revision = "2";
-       editedCabalFile = "14gvcqdxxs9s74r73i5f5g2819dfyp05m0p4s729ynwm7c20fzfs";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "0.4.1.1";
+       sha256 = "1s93m2vh4c1p073xasvknnj3czbf8xsyg48kyznr4jwfhzi17anh";
        libraryHaskellDepends = [
          attoparsec attoparsec-iso8601 base base-compat bytestring
          containers cookie hashable http-types tagged text time-compat
          unordered-containers uuid-types
        ];
        testHaskellDepends = [
-         base base-compat bytestring cookie directory doctest filepath hspec
-         HUnit nats QuickCheck quickcheck-instances text time-compat
-         unordered-containers uuid-types
+         base base-compat bytestring cookie hspec HUnit nats QuickCheck
+         quickcheck-instances text time-compat unordered-containers
+         uuid-types
        ];
        testToolDepends = [ hspec-discover ];
        description = "Converting to/from HTTP API data like URL pieces, headers and query parameters";
@@ -129585,23 +130206,24 @@ self: {
 
   "http-io-streams" = callPackage
     ({ mkDerivation, attoparsec, base, base64-bytestring, blaze-builder
-     , bytestring, case-insensitive, containers, directory, HsOpenSSL
-     , io-streams, mtl, network, network-uri, openssl-streams, text
-     , transformers
+     , brotli-streams, bytestring, case-insensitive, containers
+     , directory, HsOpenSSL, io-streams, mtl, network, network-uri
+     , openssl-streams, text, transformers
      }:
      mkDerivation {
        pname = "http-io-streams";
-       version = "0.1.0.0";
-       sha256 = "0fxz7p5n7gd99xjq9rwm6x74qzpfp4wdmhj1hm08c7hkinizdvgv";
-       revision = "2";
-       editedCabalFile = "0l6afs6bhf5q73nmlmc37qi0anr1dlrz1x10m9ipfssnkb5hp25k";
+       version = "0.1.1.0";
+       sha256 = "1f6galfrdvk5r83vxmmrvmq4p5hyv302ghnyra0w4wxmjq9lilc5";
        libraryHaskellDepends = [
-         attoparsec base base64-bytestring blaze-builder bytestring
-         case-insensitive containers directory HsOpenSSL io-streams mtl
-         network network-uri openssl-streams text transformers
+         attoparsec base base64-bytestring blaze-builder brotli-streams
+         bytestring case-insensitive containers directory HsOpenSSL
+         io-streams mtl network network-uri openssl-streams text
+         transformers
        ];
        description = "HTTP client based on io-streams";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "http-kinder" = callPackage
@@ -130200,6 +130822,8 @@ self: {
        ];
        description = "Encoders based on `proto3-wire` for gRPC over HTTP2";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "http2-grpc-types" = callPackage
@@ -131133,6 +131757,29 @@ self: {
        broken = true;
      }) {};
 
+  "hw-bits_0_7_0_9" = callPackage
+    ({ mkDerivation, base, bytestring, criterion, deepseq, hedgehog
+     , hspec, hspec-discover, hw-hspec-hedgehog, hw-int, hw-prim
+     , hw-string-parse, vector
+     }:
+     mkDerivation {
+       pname = "hw-bits";
+       version = "0.7.0.9";
+       sha256 = "0k10r3xyk030h4j9mv7wksglwqm5i3jhfzm7fy6qw0ddqp59nynq";
+       libraryHaskellDepends = [
+         base bytestring deepseq hw-int hw-prim hw-string-parse vector
+       ];
+       testHaskellDepends = [
+         base bytestring hedgehog hspec hw-hspec-hedgehog hw-prim vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       benchmarkHaskellDepends = [ base criterion vector ];
+       description = "Bit manipulation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hw-ci-assist" = callPackage
     ({ mkDerivation, base, hedgehog, hspec, hspec-discover, hw-hedgehog
      , hw-hspec-hedgehog, optparse-applicative
@@ -131369,6 +132016,8 @@ self: {
        pname = "hw-eliasfano";
        version = "0.1.1.1";
        sha256 = "0fmbcddw13m49xvw8gnpjh246mw4k9h3hr94k956bi1vdvywyqv7";
+       revision = "1";
+       editedCabalFile = "1i5in5h9jnx4p873qv80jmdd1ak6yyyf70002j3lhxyaxx9byy7k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -131917,8 +132566,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-prim";
-       version = "0.6.2.38";
-       sha256 = "0669dkpwax4nh66c2ll4lb0fvzqhvpvirwnbzzskvykqkq1sj3kr";
+       version = "0.6.2.39";
+       sha256 = "06f4ygwmfb3ambzw972cninj9v0i7pir97qq0832a1mb19h4222g";
        libraryHaskellDepends = [
          base bytestring deepseq ghc-prim mmap semigroups transformers
          unliftio-core vector
@@ -132211,25 +132860,26 @@ self: {
      }:
      mkDerivation {
        pname = "hw-xml";
-       version = "0.4.0.2";
-       sha256 = "122viqivv2csgrv144xc88xhafiq5vcsy545jpmg052d3kg1x4g2";
+       version = "0.5.0.0";
+       sha256 = "0cqrs19bd9yh67yczhhb1yf5dhcx2v6xikybd88vqwxdh51pxyyn";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          ansi-wl-pprint array attoparsec base bytestring cereal containers
          deepseq ghc-prim hw-balancedparens hw-bits hw-parser hw-prim
-         hw-rankselect hw-rankselect-base lens mmap mtl resourcet
+         hw-rankselect hw-rankselect-base lens mmap mtl resourcet text
          transformers vector word8
        ];
        executableHaskellDepends = [
-         attoparsec base bytestring generic-lens hw-balancedparens hw-bits
-         hw-prim hw-rankselect lens mmap mtl optparse-applicative resourcet
-         text vector
+         attoparsec base bytestring deepseq generic-lens hw-balancedparens
+         hw-bits hw-prim hw-rankselect lens mmap mtl optparse-applicative
+         resourcet text vector
        ];
        testHaskellDepends = [
          attoparsec base bytestring hedgehog hspec hw-balancedparens hw-bits
-         hw-hspec-hedgehog hw-prim hw-rankselect hw-rankselect-base vector
+         hw-hspec-hedgehog hw-prim hw-rankselect hw-rankselect-base text
+         vector
        ];
        testToolDepends = [ hspec-discover ];
        benchmarkHaskellDepends = [
@@ -135996,6 +136646,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "inflections_0_4_0_5" = callPackage
+    ({ mkDerivation, base, containers, exceptions, hspec
+     , hspec-megaparsec, megaparsec, QuickCheck, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "inflections";
+       version = "0.4.0.5";
+       sha256 = "0fdq3iwa2vgb5k19ck6jxzh7f1xsf1kpwx4p3agpdpsrylrcanvb";
+       libraryHaskellDepends = [
+         base exceptions megaparsec text unordered-containers
+       ];
+       testHaskellDepends = [
+         base containers hspec hspec-megaparsec megaparsec QuickCheck text
+       ];
+       description = "Inflections library for Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "inflist" = callPackage
     ({ mkDerivation, base, QuickCheck }:
      mkDerivation {
@@ -136238,16 +136908,16 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "inline-c_0_8_0_1" = callPackage
+  "inline-c_0_9_0_0" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, bytestring, containers
      , hashable, hspec, mtl, parsec, parsers, QuickCheck, raw-strings-qq
-     , regex-posix, template-haskell, transformers, unordered-containers
-     , vector
+     , regex-posix, split, template-haskell, transformers
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "inline-c";
-       version = "0.8.0.1";
-       sha256 = "1w8njc8k1g8kmpk8c8q5p7m8adgpv5v4k4643hsi5422jdaq0g3i";
+       version = "0.9.0.0";
+       sha256 = "086kqca1vcxhi7wdzmdv3rjwh9k50k3wj4rzig1yjz3x12d0h6q6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -136256,7 +136926,7 @@ self: {
        ];
        testHaskellDepends = [
          ansi-wl-pprint base containers hashable hspec parsers QuickCheck
-         raw-strings-qq regex-posix template-haskell transformers
+         raw-strings-qq regex-posix split template-haskell transformers
          unordered-containers vector
        ];
        description = "Write Haskell source files including C code inline. No FFI required.";
@@ -136293,6 +136963,25 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "inline-c-cpp_0_4_0_0" = callPackage
+    ({ mkDerivation, base, containers, hspec, inline-c, safe-exceptions
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "inline-c-cpp";
+       version = "0.4.0.0";
+       sha256 = "10d0yxs3jfkws440wzxrzwcyxjszv8c3f45hbfmj5ln0b0hpfrq0";
+       libraryHaskellDepends = [
+         base containers inline-c safe-exceptions template-haskell
+       ];
+       testHaskellDepends = [
+         base containers hspec inline-c safe-exceptions
+       ];
+       description = "Lets you embed C++ code into Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "inline-c-win32" = callPackage
     ({ mkDerivation, base, containers, inline-c, template-haskell
      , Win32
@@ -136399,6 +137088,30 @@ self: {
 
   "insert-ordered-containers" = callPackage
     ({ mkDerivation, aeson, base, base-compat, hashable, lens
+     , QuickCheck, semigroupoids, semigroups, tasty, tasty-quickcheck
+     , text, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "insert-ordered-containers";
+       version = "0.2.2";
+       sha256 = "1ikjhg0pdfpnx1d645r92k2dwlk7y935j1w5lcsk23nzpwhbkxja";
+       revision = "1";
+       editedCabalFile = "1hlinc8nnjlzc6ds3wf8jvkihpcbhz2dk0rqxq1ns0c5zbbhnylq";
+       libraryHaskellDepends = [
+         aeson base base-compat hashable lens semigroupoids semigroups text
+         transformers unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base base-compat hashable lens QuickCheck semigroupoids
+         semigroups tasty tasty-quickcheck text transformers
+         unordered-containers
+       ];
+       description = "Associative containers retaining insertion order for traversals";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "insert-ordered-containers_0_2_3" = callPackage
+    ({ mkDerivation, aeson, base, base-compat, hashable, lens
      , optics-core, optics-extra, QuickCheck, semigroupoids, semigroups
      , tasty, tasty-quickcheck, text, transformers, unordered-containers
      }:
@@ -136417,6 +137130,7 @@ self: {
        ];
        description = "Associative containers retaining insertion order for traversals";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "inserts" = callPackage
@@ -137357,6 +138071,29 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "intro_0_6_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, dlist
+     , extra, hashable, lens, mtl, QuickCheck, safe, text, transformers
+     , unordered-containers, writer-cps-mtl
+     }:
+     mkDerivation {
+       pname = "intro";
+       version = "0.6.0.0";
+       sha256 = "11a9xnamk8n6fns86az1rhq2grx5173ywyby944jn2zvjkba7fkc";
+       libraryHaskellDepends = [
+         base bytestring containers deepseq dlist extra hashable mtl safe
+         text transformers unordered-containers writer-cps-mtl
+       ];
+       testHaskellDepends = [
+         base bytestring containers deepseq dlist extra hashable lens mtl
+         QuickCheck safe text transformers unordered-containers
+         writer-cps-mtl
+       ];
+       description = "Safe and minimal prelude";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "intro-prelude" = callPackage
     ({ mkDerivation, intro }:
      mkDerivation {
@@ -137460,6 +138197,8 @@ self: {
        pname = "invariant";
        version = "0.5.3";
        sha256 = "03245nhcqxx6b0yw81fzqaqd7cgllmx8awzhvs2xv7ys73pmsgnp";
+       revision = "1";
+       editedCabalFile = "0sjy375npw6lqcckhyicizzv91v8jh3ca5yjkygiaj22bw5k8c74";
        libraryHaskellDepends = [
          array base bifunctors comonad containers contravariant ghc-prim
          profunctors StateVar stm tagged template-haskell th-abstraction
@@ -137673,7 +138412,7 @@ self: {
        sha256 = "1c7byr943x41nxpc3bnz152fvfbmakafq2958wyf9qiyp2pz18la";
        revision = "1";
        editedCabalFile = "0n0qs5lgryh3zxy73j3qbpnxand43yd2bj6pclvyii8apqqp901a";
-       configureFlags = [ "-fNoInteractiveTests" ];
+       configureFlags = [ "-fnointeractivetests" ];
        libraryHaskellDepends = [
          attoparsec base bytestring bytestring-builder network primitive
          process text time transformers vector zlib-bindings
@@ -137696,8 +138435,8 @@ self: {
        pname = "io-streams-haproxy";
        version = "1.0.1.0";
        sha256 = "1dcn5hd4fiwyq7m01r6fi93vfvygca5s6mz87c78m0zyj29clkmp";
-       revision = "1";
-       editedCabalFile = "00zbqcxfkrxidrli5qd8jvdw0jkyvcb3bwv29w8nbk9cr8vmmfl3";
+       revision = "2";
+       editedCabalFile = "1pvw39f0vrzb5hdx6nqpdg4ccsxa59vwjspfjkh6vvw1zwmidgja";
        libraryHaskellDepends = [
          attoparsec base bytestring io-streams network transformers
        ];
@@ -137878,6 +138617,8 @@ self: {
        pname = "ip";
        version = "1.7.0";
        sha256 = "18m8586ns6kijvk8wwflkhr9apki1h0gd7rkxd4w6qq66x034hk2";
+       revision = "1";
+       editedCabalFile = "1yjz4822vq22zh8mb96ccplqmm6rxrvy334n34gwyq0cfddsilr0";
        libraryHaskellDepends = [
          aeson attoparsec base byteslice bytesmith bytestring deepseq
          hashable natural-arithmetic primitive small-bytearray-builder text
@@ -137916,8 +138657,8 @@ self: {
     ({ mkDerivation, base, binary, bytestring, iproute }:
      mkDerivation {
        pname = "ip2location";
-       version = "8.1.0";
-       sha256 = "07n5xnspl318hrmff4gr274zpgszgviilwhjd7vdrhm1sq9sdir8";
+       version = "8.2.0";
+       sha256 = "01ia5647y608xr5kqkxaamhaxs39k3x81wpj8aqzf24mirkalf23";
        libraryHaskellDepends = [ base binary bytestring iproute ];
        description = "IP2Location Haskell package for IP geolocation";
        license = stdenv.lib.licenses.mit;
@@ -137929,8 +138670,8 @@ self: {
     ({ mkDerivation, base, binary, bytestring, iproute }:
      mkDerivation {
        pname = "ip2proxy";
-       version = "2.1.0";
-       sha256 = "0qcmqy8p13hg9aih8m9w7qpbr6zcbvgc9y6bzh2cqm2sbx7ksvqm";
+       version = "2.2.0";
+       sha256 = "12j8jd0ir24xgghvmac2npf9zqfbfq7fwj1ni2xdi8p673k3d0kd";
        libraryHaskellDepends = [ base binary bytestring iproute ];
        description = "IP2Proxy Haskell package for proxy detection";
        license = stdenv.lib.licenses.mit;
@@ -138097,6 +138838,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "iproute_1_7_8" = callPackage
+    ({ mkDerivation, appar, base, byteorder, containers, doctest, hspec
+     , network, QuickCheck, safe
+     }:
+     mkDerivation {
+       pname = "iproute";
+       version = "1.7.8";
+       sha256 = "0k2qzdw36qp9qs2j0bxsn95ymk3wpjvw6s5c1535aw677gw19bad";
+       libraryHaskellDepends = [
+         appar base byteorder containers network
+       ];
+       testHaskellDepends = [
+         appar base byteorder containers doctest hspec network QuickCheck
+         safe
+       ];
+       description = "IP Routing Table";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "iptables-helpers" = callPackage
     ({ mkDerivation, base, containers, mtl, parsec, QuickCheck, safe
      , syb, utf8-string
@@ -140186,6 +140947,21 @@ self: {
        broken = true;
      }) {};
 
+  "jira-wiki-markup" = callPackage
+    ({ mkDerivation, base, parsec, tasty, tasty-hunit, text }:
+     mkDerivation {
+       pname = "jira-wiki-markup";
+       version = "0.1.1";
+       sha256 = "1a6vk4aryppay87fyirxprwklqvpjh6nj9x2k9s3ybrwhapf1wdx";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base parsec text ];
+       executableHaskellDepends = [ base text ];
+       testHaskellDepends = [ base parsec tasty tasty-hunit text ];
+       description = "Handle Jira wiki markup";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "jmacro" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers
      , haskell-src-exts, haskell-src-meta, mtl, parseargs, parsec
@@ -140462,8 +141238,8 @@ self: {
      }:
      mkDerivation {
        pname = "jose";
-       version = "0.8.1.0";
-       sha256 = "02xg8axy6whbkn0mzg1gjy6b1mhxlmsh1x7vjk1fiawvg9nwzrkl";
+       version = "0.8.2.0";
+       sha256 = "0kv2kmws9kwymx8pm6j8nnlk1d8pwv22hw2ka2kwlipjvmb7mld4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -141083,25 +141859,6 @@ self: {
      }:
      mkDerivation {
        pname = "json-feed";
-       version = "1.0.6";
-       sha256 = "1j5x5ibax81348m4m1fv8pz0044gbvlskgh9gpn5dn8d0cpd7vf7";
-       libraryHaskellDepends = [
-         aeson base bytestring mime-types network-uri tagsoup text time
-       ];
-       testHaskellDepends = [
-         aeson base bytestring filepath hspec mime-types network-uri tagsoup
-         text time
-       ];
-       description = "JSON Feed";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "json-feed_1_0_7" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, filepath, hspec
-     , mime-types, network-uri, tagsoup, text, time
-     }:
-     mkDerivation {
-       pname = "json-feed";
        version = "1.0.7";
        sha256 = "0rjszis4l0sb15v2gjiwnq6avl4bkqp186v449ms4qwbbqz11sc7";
        libraryHaskellDepends = [
@@ -141113,7 +141870,6 @@ self: {
        ];
        description = "JSON Feed";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "json-fu" = callPackage
@@ -141371,8 +142127,8 @@ self: {
        pname = "json-rpc-server";
        version = "0.2.6.0";
        sha256 = "1xfcxbwri9a5p3xxbc4kvr1kqdnm4c1axd8kgb8dglabffbrk7hn";
-       revision = "6";
-       editedCabalFile = "1rfabr679pk605v141gm0ynbp3l6x87s3ip3wa49lwnpab495mxs";
+       revision = "7";
+       editedCabalFile = "1fjkl0p5glkk01jny6ar62356pmp2a2vf9v1jq67ly3y14dcvywq";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -142196,8 +142952,8 @@ self: {
        pname = "jwt";
        version = "0.10.0";
        sha256 = "1a1fqmqfm2ajq75mq2x6la8jb2g5hzl4dk8cgx9xsrikp8c7n75w";
-       revision = "1";
-       editedCabalFile = "0agwck6lidcxlixk5jgw0pw162xrsnlsgj8y8jwlyhjpqfq52ifi";
+       revision = "2";
+       editedCabalFile = "1ld5dh4x3sb28416bk3k39k46vmx1s7agk17v7cb5cxam4hj3c1c";
        libraryHaskellDepends = [
          aeson base bytestring containers cryptonite http-types memory
          network-uri scientific semigroups text time unordered-containers
@@ -142268,6 +143024,22 @@ self: {
        broken = true;
      }) {};
 
+  "kafka-client-sync" = callPackage
+    ({ mkDerivation, base, containers, hw-kafka-client, monad-parallel
+     , text
+     }:
+     mkDerivation {
+       pname = "kafka-client-sync";
+       version = "0.1.1.0";
+       sha256 = "0m8y3sinyl7f6srqk0q9yvj6f896y70zisrz4qa5qfnjik0c8ds1";
+       libraryHaskellDepends = [ base containers hw-kafka-client ];
+       testHaskellDepends = [ base hw-kafka-client monad-parallel text ];
+       description = "Synchronous Kafka Client";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "kafka-device" = callPackage
     ({ mkDerivation, aeson, base, binary, bytestring, cereal, linear
      , milena, mtl
@@ -143593,8 +144365,8 @@ self: {
      }:
      mkDerivation {
        pname = "keycloak-hs";
-       version = "1.0.0";
-       sha256 = "1nls2l8b6bnfgihdnr71jwyxka3scylvyfrqiwv14hc6syw2p447";
+       version = "1.1.1";
+       sha256 = "1ycr1q7sfr68zbx1jxnfv0c19w2nv2rxczi5aixd01ck8v1kx798";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -143614,8 +144386,8 @@ self: {
        pname = "keycode";
        version = "0.2.2";
        sha256 = "046k8d1h5wwadf5z4pppjkc3g7v2zxlzb06s1xgixc42y5y41yan";
-       revision = "4";
-       editedCabalFile = "081spzhywygv90i7jwhbcm7p1aqz6qqph02ddxvqncghar5kjc7n";
+       revision = "5";
+       editedCabalFile = "17fhzhlbqgd5pqp357n3z0k176q79c2jxvpwqryl3gbad3s8qsfw";
        libraryHaskellDepends = [
          base containers ghc-prim template-haskell
        ];
@@ -144079,15 +144851,17 @@ self: {
 
   "knead" = callPackage
     ({ mkDerivation, base, bool8, comfort-array, llvm-extra, llvm-tf
-     , storable-record, storable-tuple, tfp, transformers, utility-ht
+     , prelude-compat, storable-enum, storable-record, storable-tuple
+     , tagged, tfp, transformers, utility-ht
      }:
      mkDerivation {
        pname = "knead";
-       version = "0.4";
-       sha256 = "1p1zfa2mihy2di5wjb189mdq6kygr47y19194ycxdx47sh8y6s6y";
+       version = "0.4.1";
+       sha256 = "07jjs6qx58whwh61n4avrbi6krpl3qawx3mp8wacbjyrjfskcyln";
        libraryHaskellDepends = [
-         base bool8 comfort-array llvm-extra llvm-tf storable-record
-         storable-tuple tfp transformers utility-ht
+         base bool8 comfort-array llvm-extra llvm-tf prelude-compat
+         storable-enum storable-record storable-tuple tagged tfp
+         transformers utility-ht
        ];
        description = "Repa-like array processing using LLVM JIT";
        license = stdenv.lib.licenses.bsd3;
@@ -144750,25 +145524,12 @@ self: {
     ({ mkDerivation, base, hspec, servant, servant-foreign, text }:
      mkDerivation {
        pname = "lackey";
-       version = "1.0.9";
-       sha256 = "0prkaxa9f03m5a333zsl75jdv2hi48w9ghv1ff1r68gnqf4hbvlr";
-       libraryHaskellDepends = [ base servant servant-foreign text ];
-       testHaskellDepends = [ base hspec servant servant-foreign text ];
-       description = "Generate Ruby clients from Servant APIs";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "lackey_1_0_10" = callPackage
-    ({ mkDerivation, base, hspec, servant, servant-foreign, text }:
-     mkDerivation {
-       pname = "lackey";
        version = "1.0.10";
        sha256 = "13nvrsw29l25ysln0di0bd5lrwnwwp0mkwvymdgf2kc2jg7x46dj";
        libraryHaskellDepends = [ base servant servant-foreign text ];
        testHaskellDepends = [ base hspec servant servant-foreign text ];
        description = "Generate Ruby clients from Servant APIs";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lacroix" = callPackage
@@ -144934,8 +145695,8 @@ self: {
      }:
      mkDerivation {
        pname = "lambda-options";
-       version = "1.0.0.0";
-       sha256 = "1cpd5s0m10d09mqbpy1qxnrpy8np21ci6fcd09d01xj7lx8p2yzx";
+       version = "1.0.2.0";
+       sha256 = "04h7i79iiq91606x3k7zr2gs3f7apswwv9xxv5lf4qr1h3i4lfix";
        libraryHaskellDepends = [
          base containers funspection mtl read-bounded
        ];
@@ -147148,6 +147909,8 @@ self: {
        pname = "latex-formulae-hakyll";
        version = "0.2.0.4";
        sha256 = "0q16p3ccql38ri3rnbsx54vj6jn154j3m6vic64zi4nk54g0sc5f";
+       revision = "1";
+       editedCabalFile = "08502482n0szzg32bcrdyhs853hlmx3r14bpjww1fv2dijk5asrw";
        libraryHaskellDepends = [
          base hakyll latex-formulae-image latex-formulae-pandoc lrucache
          pandoc-types
@@ -147166,6 +147929,8 @@ self: {
        pname = "latex-formulae-image";
        version = "0.1.1.4";
        sha256 = "0s3r0qd235lgmw4g5j52r2d97zsr3nd0ikzffgpwigvcbzshddv0";
+       revision = "1";
+       editedCabalFile = "0m15dyrxala5dh5sh228bsrfa3nym9wd719byj19vfl4i2nabw9d";
        libraryHaskellDepends = [
          base directory errors filepath JuicyPixels process temporary
          transformers
@@ -148634,22 +149399,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "lens-regex-pcre_1_0_0_1" = callPackage
-    ({ mkDerivation, base, bytestring, gauge, hspec, lens, pcre-heavy
-     , template-haskell, text
+  "lens-regex-pcre_1_1_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, gauge, hspec, lens
+     , pcre-heavy, pcre-light, template-haskell, text
      }:
      mkDerivation {
        pname = "lens-regex-pcre";
-       version = "1.0.0.1";
-       sha256 = "0g103a415npasr9a8ay1bs1f7m24w8f53h9x3wrpvvbaf0v3z74i";
+       version = "1.1.0.0";
+       sha256 = "06540l3rylgpdhfdvd9nwkf6v8hyky4l3igs45zblrmhz4sdql5i";
        libraryHaskellDepends = [
-         base bytestring lens pcre-heavy template-haskell text
+         base bytestring containers lens pcre-heavy pcre-light
+         template-haskell text
        ];
        testHaskellDepends = [
-         base bytestring hspec lens pcre-heavy template-haskell text
+         base bytestring containers hspec lens pcre-heavy pcre-light
+         template-haskell text
        ];
        benchmarkHaskellDepends = [
-         base bytestring gauge lens pcre-heavy template-haskell text
+         base bytestring containers gauge lens pcre-heavy pcre-light
+         template-haskell text
        ];
        description = "A lensy interface to regular expressions";
        license = stdenv.lib.licenses.bsd3;
@@ -150080,23 +150848,11 @@ self: {
     ({ mkDerivation, base, bytestring, conduit, resourcet }:
      mkDerivation {
        pname = "libyaml";
-       version = "0.1.1.0";
-       sha256 = "0psznm9c3yjsyj9aj8m2svvv9m2v0x90hnwarcx5sbswyi3l00va";
-       libraryHaskellDepends = [ base bytestring conduit resourcet ];
-       description = "Low-level, streaming YAML interface";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "libyaml_0_1_1_1" = callPackage
-    ({ mkDerivation, base, bytestring, conduit, resourcet }:
-     mkDerivation {
-       pname = "libyaml";
        version = "0.1.1.1";
        sha256 = "0qjq0w8gqzzg3lf53mg9avkdd6z609kaacyyzjz0rbjjks4gl1db";
        libraryHaskellDepends = [ base bytestring conduit resourcet ];
        description = "Low-level, streaming YAML interface";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "libzfs" = callPackage
@@ -150216,6 +150972,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "lift-generics_0_1_3" = callPackage
+    ({ mkDerivation, base, base-compat, generic-deriving, ghc-prim
+     , hspec, hspec-discover, template-haskell
+     }:
+     mkDerivation {
+       pname = "lift-generics";
+       version = "0.1.3";
+       sha256 = "0r2rbik5lh5x8psy5cblzd1ly1ybizdcyjdg8n79m7k3rqp2w6v7";
+       libraryHaskellDepends = [
+         base generic-deriving ghc-prim template-haskell
+       ];
+       testHaskellDepends = [
+         base base-compat generic-deriving hspec template-haskell
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "GHC.Generics-based Language.Haskell.TH.Syntax.lift implementation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "lift-read-show" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -150427,14 +151203,13 @@ self: {
     ({ mkDerivation, async, base, bytestring, chronos, containers
      , http-types, http2-client, http2-client-grpc
      , http2-grpc-proto-lens, lens, mtl, proto-lens
-     , proto-lens-protobuf-types, proto-lens-runtime, req
-     , safe-exceptions, stm, text, transformers, unordered-containers
-     , wai, warp
+     , proto-lens-protobuf-types, proto-lens-runtime, safe-exceptions
+     , stm, text, transformers, unordered-containers, wai
      }:
      mkDerivation {
        pname = "lightstep-haskell";
-       version = "0.4.0";
-       sha256 = "0qi26xqn09j484myj8aa9588qdrzcvbibxckwnda6gzh36mavszg";
+       version = "0.4.4";
+       sha256 = "0y1pvb4ic9q3ma9vjlsg0spw3wq6ll9za8nys88083bm08098wfd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -150443,9 +151218,6 @@ self: {
          proto-lens-protobuf-types proto-lens-runtime safe-exceptions stm
          text transformers unordered-containers wai
        ];
-       executableHaskellDepends = [
-         async base http-types http2-client req text wai warp
-       ];
        description = "LightStep OpenTracing client library";
        license = stdenv.lib.licenses.asl20;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -150682,13 +151454,13 @@ self: {
      }) {};
 
   "line-drawing" = callPackage
-    ({ mkDerivation, base, hspec }:
+    ({ mkDerivation, base, hspec, QuickCheck }:
      mkDerivation {
        pname = "line-drawing";
-       version = "0.1.0.0";
-       sha256 = "19hdx810mraygd1li8bw9l3i18ygbzmyxsqkyvh6q90saayglr4f";
+       version = "0.4.0.0";
+       sha256 = "0f0dj3hr1b9vryrmd88ghhn0jrv3nn5yhl5kj1bwwl99z59ww7bp";
        libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base hspec ];
+       testHaskellDepends = [ base hspec QuickCheck ];
        description = "raster line drawing";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -151584,7 +152356,7 @@ self: {
        description = "Predicate Abstraction-based Horn-Clause/Implication Constraint Solver";
        license = stdenv.lib.licenses.bsd3;
        maintainers = with stdenv.lib.maintainers; [ peti ];
-     }) {inherit (pkgs) git; inherit (pkgs) nettools; 
+     }) {inherit (pkgs) git; inherit (pkgs) nettools;
          inherit (pkgs) ocaml; inherit (pkgs) z3;};
 
   "liquidhaskell" = callPackage
@@ -152351,18 +153123,20 @@ self: {
      }) {};
 
   "llvm-extra" = callPackage
-    ({ mkDerivation, base, bool8, containers, cpuid, llvm-tf, non-empty
-     , prelude-compat, tfp, transformers, unsafe, utility-ht
+    ({ mkDerivation, base, bool8, containers, cpuid, enumset, llvm-tf
+     , non-empty, prelude-compat, storable-enum, tagged, tfp
+     , transformers, unsafe, utility-ht
      }:
      mkDerivation {
        pname = "llvm-extra";
-       version = "0.8.0.3";
-       sha256 = "1cqxfrjhfgliwxjgbmjkbpcy4dlv0fwwqzdd9jd8fiq96njfqfvp";
+       version = "0.8.2";
+       sha256 = "0fv2q05w86xqak5b8w26iy9szzc6khghc622dgqkjywd9b72xs1s";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bool8 containers cpuid llvm-tf non-empty prelude-compat tfp
-         transformers unsafe utility-ht
+         base bool8 containers cpuid enumset llvm-tf non-empty
+         prelude-compat storable-enum tagged tfp transformers unsafe
+         utility-ht
        ];
        description = "Utility functions for the llvm interface";
        license = stdenv.lib.licenses.bsd3;
@@ -152374,8 +153148,8 @@ self: {
     ({ mkDerivation, base, enumset, LLVM }:
      mkDerivation {
        pname = "llvm-ffi";
-       version = "3.8.1.2";
-       sha256 = "04k2ag8nh54f9hh3blgyn1xa88hfv6c6ps51i5b84g4jdvja7f5v";
+       version = "3.9.1";
+       sha256 = "0gyda3bh43iib5isp6fd0rsf1rxkgidnmxrdm31xwjc0qnz71yf2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base enumset ];
@@ -152679,8 +153453,8 @@ self: {
      }:
      mkDerivation {
        pname = "llvm-tf";
-       version = "3.1.1.1";
-       sha256 = "1rqszg06r8md7cgw2zgf30yvri4isndj608r9l8grqfnyi4lfjay";
+       version = "3.1.2";
+       sha256 = "0k5aj63hl78h8lkxizragvgh57yzzc5ns7h8kz93wicsdxaca8cn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -153180,6 +153954,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "log-domain_0_13" = callPackage
+    ({ mkDerivation, base, binary, bytes, Cabal, cabal-doctest, cereal
+     , comonad, deepseq, distributive, doctest, generic-deriving
+     , hashable, semigroupoids, semigroups, simple-reflect, vector
+     }:
+     mkDerivation {
+       pname = "log-domain";
+       version = "0.13";
+       sha256 = "0isl8rs0k5088sxapfh351sff3lh7r1qkgwz8lmai3gvqasb3avv";
+       revision = "1";
+       editedCabalFile = "0wcy54axpnym55f1skagnbmdpw6y2ys6zvn99x8i6qcfzw00i6l9";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base binary bytes cereal comonad deepseq distributive hashable
+         semigroupoids semigroups vector
+       ];
+       testHaskellDepends = [
+         base doctest generic-deriving semigroups simple-reflect
+       ];
+       description = "Log-domain arithmetic";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "log-effect" = callPackage
     ({ mkDerivation, base, bytestring, extensible-effects
      , monad-control, text, transformers-base
@@ -153460,8 +154258,8 @@ self: {
      }:
      mkDerivation {
        pname = "logging-effect";
-       version = "1.3.7";
-       sha256 = "1m8f9s6v1xxfp3li1yjfwdhn2an29lk07ijqcrb1db8chrlx93vd";
+       version = "1.3.8";
+       sha256 = "0ksavyvcz0c9fadik9yksm4zskzh313srf3713migwrdza5ci5q3";
        libraryHaskellDepends = [
          async base exceptions free monad-control mtl prettyprinter
          semigroups stm stm-delay text time transformers transformers-base
@@ -154298,8 +155096,8 @@ self: {
      }:
      mkDerivation {
        pname = "lp-diagrams";
-       version = "2.1.1";
-       sha256 = "0dynm0kib4lgyz00gbg4gi0ds5cgpbdx40davk53cknwxv7icri0";
+       version = "2.1.2";
+       sha256 = "0q0qzij6j0nv01hhrd417swyyf5vhgi2m83bmk98dvrd0309l9xl";
        libraryHaskellDepends = [
          base containers gasp graphviz labeled-tree lens mtl parsek
          polynomials-bernstein process reflection text typography-geometry
@@ -154427,7 +155225,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "lsp-test_0_8_0_0" = callPackage
+  "lsp-test_0_8_2_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, async, base
      , bytestring, conduit, conduit-parse, containers, data-default
      , Diff, directory, filepath, haskell-lsp, hspec, lens, mtl
@@ -154436,8 +155234,8 @@ self: {
      }:
      mkDerivation {
        pname = "lsp-test";
-       version = "0.8.0.0";
-       sha256 = "1w8ag6v8mdgxynz32nzxmvfaar68abmsh3fchdfbhz2ky07p6085";
+       version = "0.8.2.0";
+       sha256 = "1762avrs4fkkd9v8i76giaf6km5f3lds5laickn7la7zq7ysh8a3";
        libraryHaskellDepends = [
          aeson aeson-pretty ansi-terminal async base bytestring conduit
          conduit-parse containers data-default Diff directory filepath
@@ -154672,31 +155470,6 @@ self: {
      }:
      mkDerivation {
        pname = "lucid";
-       version = "2.9.11";
-       sha256 = "13xz21hf9ywbyqwm33z8pfrjq03rzffhqswi30xsi13rrawj99cc";
-       revision = "1";
-       editedCabalFile = "10k3x9cn4a23kqk909xiv8phkfgagf7p16qlfpr9swn1dn4xasgf";
-       libraryHaskellDepends = [
-         base blaze-builder bytestring containers hashable mmorph mtl text
-         transformers unordered-containers
-       ];
-       testHaskellDepends = [
-         base bifunctors hspec HUnit mtl parsec text
-       ];
-       benchmarkHaskellDepends = [
-         base blaze-builder bytestring criterion deepseq text transformers
-       ];
-       description = "Clear to write, read and edit DSL for HTML";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "lucid_2_9_12" = callPackage
-    ({ mkDerivation, base, bifunctors, blaze-builder, bytestring
-     , containers, criterion, deepseq, hashable, hspec, HUnit, mmorph
-     , mtl, parsec, text, transformers, unordered-containers
-     }:
-     mkDerivation {
-       pname = "lucid";
        version = "2.9.12";
        sha256 = "156wniydd1hlb7rygbm95zln8ky8lai8rn2apkkv0rax9cdw6jrh";
        libraryHaskellDepends = [
@@ -154711,7 +155484,6 @@ self: {
        ];
        description = "Clear to write, read and edit DSL for HTML";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lucid-colonnade" = callPackage
@@ -154853,16 +155625,17 @@ self: {
      }) {objc = null;};
 
   "lukko" = callPackage
-    ({ mkDerivation, async, base, bytestring, filepath, tasty
-     , tasty-hunit, temporary
+    ({ mkDerivation, async, base, bytestring, filepath, singleton-bool
+     , tasty, tasty-expected-failure, tasty-hunit, temporary
      }:
      mkDerivation {
        pname = "lukko";
-       version = "0.1";
-       sha256 = "1ph8fc3bj6nkyjxag1pk8mpbcfsfb149ygbi5m3s9rm8kja1dhad";
+       version = "0.1.1.1";
+       sha256 = "13wf2vgi3bq48h757qs0zi1sxa6ip9pk8fxfiq7qrrb9p5silcpj";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [
-         async base bytestring filepath tasty tasty-hunit temporary
+         async base bytestring filepath singleton-bool tasty
+         tasty-expected-failure tasty-hunit temporary
        ];
        description = "File locking";
        license = "GPL-2.0-or-later AND BSD-3-Clause";
@@ -155645,6 +156418,28 @@ self: {
        broken = true;
      }) {};
 
+  "mad-props" = callPackage
+    ({ mkDerivation, base, containers, lens, logict, MonadRandom, mtl
+     , psqueues, random, random-shuffle, raw-strings-qq, transformers
+     }:
+     mkDerivation {
+       pname = "mad-props";
+       version = "0.2.1.0";
+       sha256 = "0cz01majj5m0a9wszdzlz4arzf3xzppi835k2xrkd3hpzl2fxpiv";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers lens logict MonadRandom mtl psqueues random
+         random-shuffle raw-strings-qq transformers
+       ];
+       executableHaskellDepends = [
+         base containers lens logict MonadRandom mtl psqueues random
+         random-shuffle raw-strings-qq transformers
+       ];
+       description = "Monadic DSL for building constraint solvers using basic propagators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "madlang" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, binary, Cabal, cli-setup
      , composition-prelude, containers, criterion, directory, file-embed
@@ -155655,8 +156450,8 @@ self: {
      }:
      mkDerivation {
        pname = "madlang";
-       version = "4.0.2.15";
-       sha256 = "0fv2p6f6gj9jg72kmlf56nymvs3sf6hn98jh4q0ighn6k5dkhbf3";
+       version = "4.0.2.16";
+       sha256 = "0n4y2s5m854akdy482wmhh3m5s77mgq1q91619lc2lsfg21xr80w";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cli-setup ];
@@ -156591,8 +157386,8 @@ self: {
      }:
      mkDerivation {
        pname = "mandrill";
-       version = "0.5.3.6";
-       sha256 = "1jvgxhc3x7867cryvsbpj7hks9syhpqbwyh4y0v6b0yp0xil8qrl";
+       version = "0.5.4.0";
+       sha256 = "0cp0xd4by5ml1526lybqvxr1g5ccgskmj9ibl3xnrcmkbi9a14y6";
        libraryHaskellDepends = [
          aeson base base64-bytestring blaze-html bytestring containers
          email-validate http-client http-client-tls http-types microlens-th
@@ -156799,8 +157594,8 @@ self: {
        pname = "map-syntax";
        version = "0.3";
        sha256 = "0b3ddi998saw5gi5r4bjbpid03rxlifn08zv15wf0b90ambhcc4k";
-       revision = "1";
-       editedCabalFile = "1qfjficc7b6hbg44r3czk8iqgkjmgnp14wmzcdcz4ai93kx8dp44";
+       revision = "2";
+       editedCabalFile = "1cpiarychx4cmv7v71rbd5ccfsjac928isd52sf42mzs2nb492ya";
        libraryHaskellDepends = [ base containers mtl ];
        testHaskellDepends = [
          base containers deepseq hspec HUnit mtl QuickCheck transformers
@@ -157297,8 +158092,8 @@ self: {
      }:
      mkDerivation {
        pname = "marxup";
-       version = "3.1.1.0";
-       sha256 = "0b22mf14qajkpf7hlm6086d951g0wgihlyiw93m0nh4yl1kmgf5q";
+       version = "3.1.2.0";
+       sha256 = "0a6lfjh5brkjm66y4yizzskra4007shqnsb5bjljxwg0vwphp112";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -157360,6 +158155,33 @@ self: {
        ];
        description = "Massiv (Массив) is an Array Library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "massiv_0_4_4_0" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, cabal-doctest
+     , data-default-class, deepseq, doctest, exceptions
+     , mersenne-random-pure64, primitive, QuickCheck, random, scheduler
+     , splitmix, template-haskell, unliftio-core, vector
+     }:
+     mkDerivation {
+       pname = "massiv";
+       version = "0.4.4.0";
+       sha256 = "13hwf1z9iqybrjsn21gkglqq3knin6x84rflv3wk6wplk7dfhd2n";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base bytestring data-default-class deepseq exceptions primitive
+         scheduler unliftio-core vector
+       ];
+       testHaskellDepends = [
+         base doctest mersenne-random-pure64 QuickCheck random splitmix
+         template-haskell
+       ];
+       description = "Massiv (Массив) is an Array Library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "massiv-io" = callPackage
@@ -157368,14 +158190,16 @@ self: {
      }:
      mkDerivation {
        pname = "massiv-io";
-       version = "0.1.7.0";
-       sha256 = "0w3yffkrsjkgfqdfmhq42am2hpmkblnfg0prifr2ja5pfwr02l5c";
+       version = "0.1.9.0";
+       sha256 = "0splwbavahv3g0p1pyhym9hwncaw7zd5f12girwxlwhcdwrsgz3r";
        libraryHaskellDepends = [
          base bytestring data-default-class deepseq directory filepath
          JuicyPixels massiv netpbm process vector
        ];
        description = "Import/export of Image files into massiv Arrays";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "massiv-scheduler" = callPackage
@@ -157417,6 +158241,8 @@ self: {
        ];
        description = "Library that contains generators, properties and tests for Massiv Array Library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "master-plan" = callPackage
@@ -157544,15 +158370,16 @@ self: {
      }) {};
 
   "math-grads" = callPackage
-    ({ mkDerivation, aeson, array, base, containers, hspec, linear
-     , matrix, mtl, random, vector
+    ({ mkDerivation, aeson, array, base, bimap, containers, hspec
+     , ilist, lens, linear, matrix, mtl, random, vector
      }:
      mkDerivation {
        pname = "math-grads";
-       version = "0.1.5.1";
-       sha256 = "0bq08gh1fv83glx4i2gs560cynl2dv1610kby7vlvjnhg0kkyjgl";
+       version = "0.1.6.2";
+       sha256 = "02flkabfqwgmgcsrlxcfk9zm8b94l65imr3xprdap1g9z26si66l";
        libraryHaskellDepends = [
-         aeson array base containers linear matrix mtl random vector
+         aeson array base bimap containers ilist lens linear matrix mtl
+         random vector
        ];
        testHaskellDepends = [ array base containers hspec random ];
        description = "Library containing graph data structures and graph algorithms";
@@ -160861,8 +161688,8 @@ self: {
      }:
      mkDerivation {
        pname = "mini-egison";
-       version = "0.1.5";
-       sha256 = "19g5743q2h0vr9r7m854pi60r6z7f8cqr3l3fqi4b308jb492ngq";
+       version = "0.1.6";
+       sha256 = "08348nw7xnni81iwcah43x5hi0hyqz286g3zpmkhja8if99l59lj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -160936,8 +161763,8 @@ self: {
      }:
      mkDerivation {
        pname = "minilight";
-       version = "0.4.0";
-       sha256 = "1ishxvijigfjfvrqiibbds2l7bb5vp51lsy933q4nphapvqrhk2m";
+       version = "0.4.1";
+       sha256 = "0zx21dhnzc8p0x6v827178rl2s215gik705fggmg31hqhwkzfy4c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -161417,15 +162244,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "miso_1_3_0_0" = callPackage
+  "miso_1_4_0_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, http-api-data
      , http-types, lucid, network-uri, servant, servant-lucid, text
      , transformers, vector
      }:
      mkDerivation {
        pname = "miso";
-       version = "1.3.0.0";
-       sha256 = "1vz7k7ajngmrzczw4bl33g081hbmbk1bkixsm47y4x8jzxa0lk7x";
+       version = "1.4.0.0";
+       sha256 = "067z49ial3dwkbcza54aivdh8r4yx54zmpyxmd6mpyqlv96dv8gc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -161778,6 +162605,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "mmark_0_0_7_2" = callPackage
+    ({ mkDerivation, aeson, base, case-insensitive, containers
+     , criterion, deepseq, dlist, email-validate, foldl, hashable, hspec
+     , hspec-megaparsec, html-entity-map, lucid, megaparsec, microlens
+     , microlens-th, modern-uri, mtl, parser-combinators, QuickCheck
+     , text, text-metrics, unordered-containers, weigh, yaml
+     }:
+     mkDerivation {
+       pname = "mmark";
+       version = "0.0.7.2";
+       sha256 = "1wwszzba6fvg0r4q5z2dzashim0nkaxzx4rmjl216kdi08jkp7mm";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson base case-insensitive containers deepseq dlist email-validate
+         foldl hashable html-entity-map lucid megaparsec microlens
+         microlens-th modern-uri mtl parser-combinators text text-metrics
+         unordered-containers yaml
+       ];
+       testHaskellDepends = [
+         aeson base foldl hspec hspec-megaparsec lucid megaparsec modern-uri
+         QuickCheck text
+       ];
+       benchmarkHaskellDepends = [ base criterion text weigh ];
+       description = "Strict markdown processor for writers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mmark-cli" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory
      , ghc-syntax-highlighter, gitrev, lucid, megaparsec, mmark
@@ -161788,8 +162643,8 @@ self: {
        pname = "mmark-cli";
        version = "0.0.5.0";
        sha256 = "15qrp2q1flx9csqvj8zx9w1jqg8pwfi0v7wpia7n7vg09jgydhby";
-       revision = "1";
-       editedCabalFile = "11yrsr4hpl5vxrfav1nfg3gidcr1qy0rjv5mkh5hqsxdpxy6c7aj";
+       revision = "2";
+       editedCabalFile = "1kpxrf3gwcl0l8jqq3dic49705p338rcvach95vp1g1jjpwd8kbj";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -161853,8 +162708,8 @@ self: {
     ({ mkDerivation, base, directory }:
      mkDerivation {
        pname = "mmsyn3";
-       version = "0.1.2.0";
-       sha256 = "1cjjdiyb1n5y5bswpm1lckqnn97lvn4mx8nrkydzsi1lfmxjvhk3";
+       version = "0.1.3.0";
+       sha256 = "0asxxv2ykwn82lr744ihfip8lhck888l3rvn4qadjdapv1sn3zfx";
        libraryHaskellDepends = [ base directory ];
        description = "A small library to deal with executable endings";
        license = stdenv.lib.licenses.mit;
@@ -161882,13 +162737,36 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "mmsyn5";
-       version = "0.4.0.1";
-       sha256 = "0pgymj7y7szbnz8wbba5x7y9gvp88b3rh63v3m5yvhkw7jlndic9";
+       version = "0.4.2.2";
+       sha256 = "1y5f9fwc9k7hbmnk8fvm6m6h2lrdsfijr6jn0dfj6fhc17kmp46p";
        libraryHaskellDepends = [ base ];
        description = "Various additional operations on lists (some with intermediate Monads)";
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "mmsyn6ukr" = callPackage
+    ({ mkDerivation, base, bytestring, mmsyn2, mmsyn3, mmsyn5, process
+     , vector
+     }:
+     mkDerivation {
+       pname = "mmsyn6ukr";
+       version = "0.3.2.0";
+       sha256 = "1qv34s1aypm43xf51bf7mlp7jbkfcgsz8gil7xcly50is1a19z3n";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base bytestring mmsyn2 mmsyn3 mmsyn5 process vector
+       ];
+       executableHaskellDepends = [
+         base bytestring mmsyn2 mmsyn3 mmsyn5 process vector
+       ];
+       description = "Can be used as a musical instrument synthesizer or for Ukrainian language listening";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "mmtf" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , data-msgpack, deepseq, hspec, http-conduit, QuickCheck, text
@@ -162875,6 +163753,28 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "monad-logger_0_3_31" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, conduit-extra
+     , exceptions, fast-logger, lifted-base, monad-control, monad-loops
+     , mtl, resourcet, stm, stm-chans, template-haskell, text
+     , transformers, transformers-base, transformers-compat
+     , unliftio-core
+     }:
+     mkDerivation {
+       pname = "monad-logger";
+       version = "0.3.31";
+       sha256 = "0awr06bh5d51kci2w2xsj34qvh98sb6dm48a4k05k8awv8hrrpmd";
+       libraryHaskellDepends = [
+         base bytestring conduit conduit-extra exceptions fast-logger
+         lifted-base monad-control monad-loops mtl resourcet stm stm-chans
+         template-haskell text transformers transformers-base
+         transformers-compat unliftio-core
+       ];
+       description = "A class of monads which can log messages";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "monad-logger-json" = callPackage
     ({ mkDerivation, aeson, base, monad-logger, template-haskell, text
      }:
@@ -162914,8 +163814,8 @@ self: {
      }:
      mkDerivation {
        pname = "monad-logger-syslog";
-       version = "0.1.4.0";
-       sha256 = "1jwwpjn35mvl7z05xcykpxdyhaa6mgiighgcr8qzprrmw89kwb05";
+       version = "0.1.5.0";
+       sha256 = "0y96f5qan5na32s8xilky7z30mc7yci1s5i3585aqvqsyyvshchf";
        libraryHaskellDepends = [
          base bytestring fast-logger hsyslog monad-logger text transformers
        ];
@@ -162923,6 +163823,22 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "monad-logger-syslog_0_1_6_0" = callPackage
+    ({ mkDerivation, base, bytestring, fast-logger, hsyslog
+     , monad-logger, text, transformers
+     }:
+     mkDerivation {
+       pname = "monad-logger-syslog";
+       version = "0.1.6.0";
+       sha256 = "1n4r0fl043r18683ym3k03sdm3b9wlxfzjgmnxi804kwna639rj3";
+       libraryHaskellDepends = [
+         base bytestring fast-logger hsyslog monad-logger text transformers
+       ];
+       description = "syslog output for monad-logger";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "monad-loops" = callPackage
     ({ mkDerivation, base, tasty, tasty-hunit }:
      mkDerivation {
@@ -163109,30 +164025,6 @@ self: {
      }:
      mkDerivation {
        pname = "monad-par";
-       version = "0.3.4.8";
-       sha256 = "0ldrzqy24fsszvn2a2nr77m2ih7xm0h9bgkjyv1l274aj18xyk7q";
-       libraryHaskellDepends = [
-         abstract-deque abstract-par array base containers deepseq
-         monad-par-extras mtl mwc-random parallel
-       ];
-       testHaskellDepends = [
-         abstract-deque abstract-par array base containers deepseq HUnit
-         monad-par-extras mtl mwc-random QuickCheck test-framework
-         test-framework-hunit test-framework-quickcheck2 test-framework-th
-         time
-       ];
-       description = "A library for parallel programming based on a monad";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "monad-par_0_3_5" = callPackage
-    ({ mkDerivation, abstract-deque, abstract-par, array, base
-     , containers, deepseq, HUnit, monad-par-extras, mtl, mwc-random
-     , parallel, QuickCheck, test-framework, test-framework-hunit
-     , test-framework-quickcheck2, test-framework-th, time
-     }:
-     mkDerivation {
-       pname = "monad-par";
        version = "0.3.5";
        sha256 = "1a8m99g9x1ivch4vhksk7fdzygbil3d33w8gdqngxbmwdikdafl2";
        revision = "1";
@@ -163149,7 +164041,6 @@ self: {
        ];
        description = "A library for parallel programming based on a monad";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "monad-par-extras" = callPackage
@@ -163725,7 +164616,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {gecodeint = null; gecodekernel = null; gecodesearch = null; 
+     }) {gecodeint = null; gecodekernel = null; gecodesearch = null;
          gecodeset = null; gecodesupport = null;};
 
   "monadio-unwrappable" = callPackage
@@ -164284,16 +165175,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "monoidal-containers_0_6" = callPackage
+  "monoidal-containers_0_6_0_1" = callPackage
     ({ mkDerivation, aeson, base, containers, deepseq, hashable, lens
      , newtype, semialign, semigroups, these, unordered-containers
      }:
      mkDerivation {
        pname = "monoidal-containers";
-       version = "0.6";
-       sha256 = "1ii09s068g6bj2j10ig3g3ymv1ci6zg596pmmaw6als15j9bybc9";
-       revision = "2";
-       editedCabalFile = "17qv2kds7m4mi3r4rd89d2nhcjc06lzdfg93qsn6ldssnypq0rra";
+       version = "0.6.0.1";
+       sha256 = "1j5mfs0ysvwk3jsmq4hlj4l3kasfc28lk1b3xaymf9dw48ac5j82";
        libraryHaskellDepends = [
          aeson base containers deepseq hashable lens newtype semialign
          semigroups these unordered-containers
@@ -164449,6 +165338,8 @@ self: {
        ];
        description = "Month, YearMonth, Quarter, YearQuarter types";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "monus" = callPackage
@@ -164682,22 +165573,23 @@ self: {
   "morpheus-graphql" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, megaparsec
      , mtl, scientific, tasty, tasty-hunit, template-haskell, text
-     , transformers, unordered-containers, uuid, vector, websockets
+     , th-lift-instances, transformers, unordered-containers, uuid
+     , vector, websockets
      }:
      mkDerivation {
        pname = "morpheus-graphql";
-       version = "0.6.2";
-       sha256 = "160wg001xpwrhvv1wgdqbcwhdpxk4yhi0vf5sjyyzr0bq3j9x1dn";
+       version = "0.7.1";
+       sha256 = "1yh49icsq68xbw9gmvqssy4piaqb97cy39jg4a20360j9sfr87dp";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers megaparsec mtl scientific
-         template-haskell text transformers unordered-containers uuid vector
-         websockets
+         template-haskell text th-lift-instances transformers
+         unordered-containers uuid vector websockets
        ];
        testHaskellDepends = [
          aeson base bytestring containers megaparsec mtl scientific tasty
-         tasty-hunit template-haskell text transformers unordered-containers
-         uuid vector websockets
+         tasty-hunit template-haskell text th-lift-instances transformers
+         unordered-containers uuid vector websockets
        ];
        description = "Morpheus GraphQL";
        license = stdenv.lib.licenses.mit;
@@ -164721,6 +165613,8 @@ self: {
        ];
        description = "Morpheus GraphQL CLI";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "morphisms" = callPackage
@@ -164877,6 +165771,8 @@ self: {
        ];
        description = "General purpose migrations library";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "moto-postgresql" = callPackage
@@ -164892,6 +165788,8 @@ self: {
        ];
        description = "PostgreSQL-based migrations registry for moto";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "motor" = callPackage
@@ -167267,6 +168165,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "mx-state-codes" = callPackage
+    ({ mkDerivation, aeson, base, hspec, QuickCheck, text }:
+     mkDerivation {
+       pname = "mx-state-codes";
+       version = "1.0.0.0";
+       sha256 = "1jxw7hh24rqs1c5y4b7bmllvcwq3gsrrn0rixq9lzhn2915ykaq6";
+       libraryHaskellDepends = [ aeson base text ];
+       testHaskellDepends = [ aeson base hspec QuickCheck text ];
+       description = "ISO 3166-2:MX State Codes and Names";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "mxnet" = callPackage
     ({ mkDerivation, base, c2hs, c2hs-extra, mxnet, pretty, tasty
      , tasty-hunit, template-haskell, unordered-containers, vector
@@ -168266,7 +169176,7 @@ self: {
        license = stdenv.lib.licenses.isc;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {GLEW = null; inherit (pkgs) glew; inherit (pkgs) libGL; 
+     }) {GLEW = null; inherit (pkgs) glew; inherit (pkgs) libGL;
          inherit (pkgs) libGLU;};
 
   "nanovg-simple" = callPackage
@@ -168507,8 +169417,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "natural-arithmetic";
-       version = "0.1.0.0";
-       sha256 = "0h5ga04hw7v54xsxjj852238spl3px190g67qjqzxvnyn0f76jrp";
+       version = "0.1.1.0";
+       sha256 = "0n2330b2g4gy1ljpcww9vmj74ig23m0zxkg92721zpdfywlcy44g";
        libraryHaskellDepends = [ base ];
        description = "Arithmetic of natural numbers";
        license = stdenv.lib.licenses.bsd3;
@@ -168839,8 +169749,8 @@ self: {
      }:
      mkDerivation {
        pname = "neko-obfs";
-       version = "0.1.0.2";
-       sha256 = "1kqki738d7jfjgr0jcybs9w0fzccmdb1i64caanydpfn6x9rkiac";
+       version = "0.1.0.4";
+       sha256 = "1vffkpxxvxykrjy9awx0vqda6gbpmzz2ybr5ijmb47dl7mr7sl88";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -169084,8 +169994,8 @@ self: {
      }:
      mkDerivation {
        pname = "net-mqtt";
-       version = "0.6.1.1";
-       sha256 = "1ym4p5p3g0bzxvvijjafsdh3rkz17infvn2kc2rwpdrvig7j65yg";
+       version = "0.6.2.1";
+       sha256 = "09l9m213x1v7cvrfr039hg2c1pa4dknyhj827h9n0w9pawj61r55";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -169110,6 +170020,29 @@ self: {
        broken = true;
      }) {};
 
+  "net-mqtt-rpc" = callPackage
+    ({ mkDerivation, base, bytestring, net-mqtt, network-uri
+     , optparse-applicative, random, stm, text, uuid
+     }:
+     mkDerivation {
+       pname = "net-mqtt-rpc";
+       version = "0.1.0.0";
+       sha256 = "0wzpsjyskgbnyyy7bbbg7plsypwnyi2rblvyn17a33ak43zi1fx5";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring net-mqtt random stm text uuid
+       ];
+       executableHaskellDepends = [
+         base bytestring net-mqtt network-uri optparse-applicative random
+         stm text uuid
+       ];
+       description = "Make RPC calls via an MQTT broker";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "net-spider" = callPackage
     ({ mkDerivation, aeson, base, containers, data-interval, doctest
      , doctest-discover, extended-reals, greskell, greskell-websocket
@@ -169707,14 +170640,14 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "network_3_1_1_0" = callPackage
+  "network_3_1_1_1" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, directory, hspec
      , hspec-discover, HUnit
      }:
      mkDerivation {
        pname = "network";
-       version = "3.1.1.0";
-       sha256 = "0gr99ksn7khijfjf0g4bkp13kb6jbxnq23b6pxflnvlsf5la8yks";
+       version = "3.1.1.1";
+       sha256 = "16ic2hgvadyiy0zfnyd2zknf8rxqmwzpy5mw5x9apwpzfc0mkvyp";
        libraryHaskellDepends = [ base bytestring deepseq ];
        testHaskellDepends = [ base bytestring directory hspec HUnit ];
        testToolDepends = [ hspec-discover ];
@@ -169902,8 +170835,8 @@ self: {
        pname = "network-bsd";
        version = "2.8.1.0";
        sha256 = "0kid0811lv4x761fd5gv6lsc8p5j2bn41rfd366pjb642p562jfr";
-       revision = "2";
-       editedCabalFile = "1cqb720gl960zfzbzxakc2wvrvw8plncgarbb1v1hdzmdxw07js7";
+       revision = "3";
+       editedCabalFile = "1hc3jdbmpq2wxh82xfx452v2m2l97jbdaqqbmj5nz4lljxa2696r";
        libraryHaskellDepends = [ base deepseq network ];
        description = "POSIX network database (<netdb.h>) API";
        license = stdenv.lib.licenses.bsd3;
@@ -169945,6 +170878,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "network-byte-order_0_1_2_0" = callPackage
+    ({ mkDerivation, base, bytestring, doctest }:
+     mkDerivation {
+       pname = "network-byte-order";
+       version = "0.1.2.0";
+       sha256 = "1y2azf5zbydzvi4b0hxmy7am4kgpkq8ajnsbrpfrqz87b5y87ccy";
+       libraryHaskellDepends = [ base bytestring ];
+       testHaskellDepends = [ base bytestring doctest ];
+       description = "Network byte order utilities";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "network-bytestring" = callPackage
     ({ mkDerivation, base, bytestring, network, unix }:
      mkDerivation {
@@ -170157,27 +171103,6 @@ self: {
      }:
      mkDerivation {
        pname = "network-ip";
-       version = "0.3.0.2";
-       sha256 = "1zjy232pamkd3977cyaq5w5r6ksbpqpgzzlds15zrahjccirs9gf";
-       libraryHaskellDepends = [
-         base data-default-class data-dword data-endian data-serializer
-         data-textual hashable parsers text-printer type-hint
-       ];
-       testHaskellDepends = [
-         base data-dword data-textual parsers tasty tasty-quickcheck
-         text-printer
-       ];
-       description = "Internet Protocol data structures";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "network-ip_0_3_0_3" = callPackage
-    ({ mkDerivation, base, data-default-class, data-dword, data-endian
-     , data-serializer, data-textual, hashable, parsers, tasty
-     , tasty-quickcheck, text-printer, type-hint
-     }:
-     mkDerivation {
-       pname = "network-ip";
        version = "0.3.0.3";
        sha256 = "0p4mn7vz74kxmsc8xvg7gx5rs38knnv518bc0qv0b07ki51wq7g0";
        libraryHaskellDepends = [
@@ -170190,7 +171115,6 @@ self: {
        ];
        description = "Internet Protocol data structures";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "network-manager-tui" = callPackage
@@ -170223,8 +171147,8 @@ self: {
      }:
      mkDerivation {
        pname = "network-messagepack-rpc";
-       version = "0.1.1.4";
-       sha256 = "040kj2rs80kg7746rqrrsgpbi3vpbfg4c6r5n08nvqqslcx932xb";
+       version = "0.1.2.0";
+       sha256 = "118agkkbvfyynk6qg5yzazbs0s7w0bw9n0ndj8nm35yy6cil9lky";
        libraryHaskellDepends = [
          base bytestring data-msgpack safe-exceptions text
          unordered-containers
@@ -170240,8 +171164,8 @@ self: {
      }:
      mkDerivation {
        pname = "network-messagepack-rpc-websocket";
-       version = "0.1.1.0";
-       sha256 = "05cd6cqyydjwymnk8rscqngvz3knyibl674rcbjpz28him6gbc7d";
+       version = "0.1.1.1";
+       sha256 = "0adkav3nl7ghbx2r7dx83ki6m397clxaw37s54ivnkxydqscjv06";
        libraryHaskellDepends = [
          base network-messagepack-rpc text websockets wss-client
        ];
@@ -170506,6 +171430,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "network-simple-tls_0_4" = callPackage
+    ({ mkDerivation, base, bytestring, data-default, network
+     , network-simple, safe-exceptions, tls, tls-session-manager
+     , transformers, x509, x509-store, x509-system, x509-validation
+     }:
+     mkDerivation {
+       pname = "network-simple-tls";
+       version = "0.4";
+       sha256 = "0c5xxqp2xw1q046sngd5gnwp7gn0ima9wm8drxxry13l0i0bnmn1";
+       libraryHaskellDepends = [
+         base bytestring data-default network network-simple safe-exceptions
+         tls tls-session-manager transformers x509 x509-store x509-system
+         x509-validation
+       ];
+       description = "Simple interface to TLS secured network sockets";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "network-simple-ws" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, network-simple
      , safe-exceptions, websockets
@@ -171127,6 +172070,8 @@ self: {
        pname = "newtype-generics";
        version = "0.5.4";
        sha256 = "0cprfg4n0z62cnix1qrbc79bfdd4s50b05fj9m9hk6vm1pc3szq0";
+       revision = "1";
+       editedCabalFile = "1id9a6prj2bzdsyfsfr0pnfy9p8v9wlw59x12fny6y2szfcxcrv7";
        libraryHaskellDepends = [ base transformers ];
        testHaskellDepends = [ base hspec ];
        testToolDepends = [ hspec-discover ];
@@ -171540,26 +172485,26 @@ self: {
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, base
      , bytestring, directory, file-embed, filepath, hashable
      , http-conduit, mtl, optparse-applicative, process, profunctors
-     , string-qq, tasty, tasty-hunit, text, unliftio
+     , pureMD5, string-qq, tasty, tasty-hunit, text, unliftio
      , unordered-containers
      }:
      mkDerivation {
        pname = "niv";
-       version = "0.2.1";
-       sha256 = "18ym8zqxillqf0psc9xyjzgnxhfrfgy5sj3hvrdmggy4dlnn500j";
+       version = "0.2.3";
+       sha256 = "182miqhcndb3fqxdcjnhpphma89pxdnbv8k3scrhzjd893ncxv8i";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson aeson-pretty ansi-terminal base bytestring directory
          file-embed filepath hashable http-conduit mtl optparse-applicative
-         process profunctors string-qq tasty tasty-hunit text unliftio
-         unordered-containers
+         process profunctors pureMD5 string-qq tasty tasty-hunit text
+         unliftio unordered-containers
        ];
        executableHaskellDepends = [
          aeson aeson-pretty ansi-terminal base bytestring directory
          file-embed filepath hashable http-conduit mtl optparse-applicative
-         process profunctors string-qq tasty text unliftio
+         process profunctors pureMD5 string-qq tasty text unliftio
          unordered-containers
        ];
        description = "Easy dependency management for Nix projects";
@@ -171591,8 +172536,8 @@ self: {
      }:
      mkDerivation {
        pname = "nix-deploy";
-       version = "1.0.3";
-       sha256 = "0anhmc9g9k40nwj87f24hq4wnj6mkli36dzhzdpa0p3cpg7sh2kh";
+       version = "1.0.4";
+       sha256 = "1wmwrnm6wflkdaq0m84az1q6245iyvkzd2r47vdy9a2a1szqnvl3";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -171783,6 +172728,8 @@ self: {
        ];
        description = "Tool for semi-automatic updating of nixpkgs repository";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "nkjp" = callPackage
@@ -171864,7 +172811,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {g = null; inherit (pkgs) glib; libnm-glib = null; 
+     }) {g = null; inherit (pkgs) glib; libnm-glib = null;
          nm-glib = null;};
 
   "nme" = callPackage
@@ -172218,8 +173165,8 @@ self: {
     ({ mkDerivation, base, containers, semigroups }:
      mkDerivation {
        pname = "non-empty-sequence";
-       version = "0.2.0.2";
-       sha256 = "1qfidlv190wxrrp67h7rcrlczwfv7r0mdbwm31rrf08l1i6618yr";
+       version = "0.2.0.4";
+       sha256 = "0a6xk2ijj3lzhqzdrk6q89538d1a62aw8x0ccvkq2kyl1dlahwc0";
        libraryHaskellDepends = [ base containers semigroups ];
        description = "Non-empty sequence";
        license = stdenv.lib.licenses.bsd3;
@@ -172305,6 +173252,25 @@ self: {
 
   "nonempty-containers" = callPackage
     ({ mkDerivation, base, comonad, containers, deepseq, hedgehog
+     , hedgehog-fn, semigroupoids, tasty, tasty-hedgehog, text, these
+     }:
+     mkDerivation {
+       pname = "nonempty-containers";
+       version = "0.3.1.0";
+       sha256 = "15flyfv6w4078wk69d2nb2lx21b76xr6c34rxs0w8jz1mb497f6l";
+       libraryHaskellDepends = [
+         base comonad containers deepseq semigroupoids these
+       ];
+       testHaskellDepends = [
+         base comonad containers hedgehog hedgehog-fn semigroupoids tasty
+         tasty-hedgehog text these
+       ];
+       description = "Non-empty variants of containers data types, with full API";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "nonempty-containers_0_3_2_0" = callPackage
+    ({ mkDerivation, base, comonad, containers, deepseq, hedgehog
      , hedgehog-fn, nonempty-vector, semigroupoids, tasty
      , tasty-hedgehog, text, these, vector
      }:
@@ -172322,6 +173288,7 @@ self: {
        ];
        description = "Non-empty variants of containers data types, with full API";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "nonempty-lift" = callPackage
@@ -172341,22 +173308,6 @@ self: {
      }) {};
 
   "nonempty-vector" = callPackage
-    ({ mkDerivation, base, deepseq, hedgehog, primitive, semigroups
-     , vector
-     }:
-     mkDerivation {
-       pname = "nonempty-vector";
-       version = "0.1.0.0";
-       sha256 = "1yc9x0mc30fl348by3586wf2g7q40c98yskyw15cnxj3588p5zv3";
-       libraryHaskellDepends = [
-         base deepseq primitive semigroups vector
-       ];
-       testHaskellDepends = [ base hedgehog semigroups vector ];
-       description = "Non-empty vectors";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "nonempty-vector_0_2_0_1" = callPackage
     ({ mkDerivation, base, Cabal, cabal-doctest, deepseq, doctest
      , primitive, semigroups, vector
      }:
@@ -172371,7 +173322,6 @@ self: {
        testHaskellDepends = [ base doctest ];
        description = "Non-empty vectors";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "nonemptymap" = callPackage
@@ -172596,6 +173546,8 @@ self: {
          transformers tuple
        ];
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "notmuch" = callPackage
@@ -173292,8 +174244,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "numhask";
-       version = "0.3.0.0";
-       sha256 = "1zkiqav683mmghxz0hj0wjzg3sf95zfd4ghicw674d9j3vl4gmcw";
+       version = "0.3.1";
+       sha256 = "0r7raa7sw9k6p5xb3kl7jfpfkg4dym2kb8hrdkq9xvj2yrajzg77";
        libraryHaskellDepends = [ base ];
        description = "numeric classes";
        license = stdenv.lib.licenses.bsd3;
@@ -173328,8 +174280,8 @@ self: {
      }:
      mkDerivation {
        pname = "numhask-hedgehog";
-       version = "0.3";
-       sha256 = "0f7h2ah0z63v40hnk4fcxhj4b8qzi1fy8hipxwvi29g0mvpkxjds";
+       version = "0.3.1";
+       sha256 = "1glg0lapr0fm06z5s8k4xsi99yx3khay4ynvic3kb1xf0iqay818";
        libraryHaskellDepends = [
          base hedgehog numhask numhask-prelude numhask-space
        ];
@@ -173359,13 +174311,12 @@ self: {
      }) {};
 
   "numhask-prelude" = callPackage
-    ({ mkDerivation, base, doctest, numhask, numhask-space, protolude
-     }:
+    ({ mkDerivation, base, doctest, numhask, protolude }:
      mkDerivation {
        pname = "numhask-prelude";
-       version = "0.3.1";
-       sha256 = "1j9da7ldacfzkw4yxrc84p0diygvbglj4xdqj9bam8ld2hv5i1mq";
-       libraryHaskellDepends = [ base numhask numhask-space protolude ];
+       version = "0.3.2";
+       sha256 = "1884pm13wyhqwwl9n2k9wv7r7q86x4c682m78291sh6yinrymazk";
+       libraryHaskellDepends = [ base numhask protolude ];
        testHaskellDepends = [ doctest ];
        description = "A numeric prelude";
        license = stdenv.lib.licenses.bsd3;
@@ -173396,19 +174347,22 @@ self: {
      }) {};
 
   "numhask-space" = callPackage
-    ({ mkDerivation, adjunctions, base, distributive, foldl, lattices
-     , semigroupoids, text, time
+    ({ mkDerivation, adjunctions, base, containers, distributive
+     , doctest, foldl, lattices, semigroupoids, tdigest, text, time
      }:
      mkDerivation {
        pname = "numhask-space";
-       version = "0.2.0";
-       sha256 = "088g7phwdw7g75ljjp78rbcbpgwcm45944c0w6qlnxmqfz270b78";
+       version = "0.3.0";
+       sha256 = "0j75qig7smx2lnl6drmsj2zs4zg6rw9vvcb1d0cjv47haw9xgz62";
        libraryHaskellDepends = [
-         adjunctions base distributive foldl lattices semigroupoids text
-         time
+         adjunctions base containers distributive foldl lattices
+         semigroupoids tdigest text time
        ];
+       testHaskellDepends = [ base doctest ];
        description = "numerical spaces";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "numhask-test" = callPackage
@@ -173671,8 +174625,8 @@ self: {
      }:
      mkDerivation {
        pname = "nyx-game";
-       version = "1.0.0.0";
-       sha256 = "16a1bkw8i81qcp7diblgkc17snxppdsfqly6diirm0sxpbsx5d8s";
+       version = "1.0.1.0";
+       sha256 = "14zxg7znqjglzqlsfvgksknz5ry369x0smjja8dx6h2ih0xf3i06";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -174154,8 +175108,8 @@ self: {
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {inherit (pkgs) libGL; inherit (pkgs.xorg) libX11; 
-         inherit (pkgs.xorg) libXinerama; ovr = null; 
+     }) {inherit (pkgs) libGL; inherit (pkgs.xorg) libX11;
+         inherit (pkgs.xorg) libXinerama; ovr = null;
          inherit (pkgs) systemd;};
 
   "odbc" = callPackage
@@ -174742,18 +175696,17 @@ self: {
      }) {};
 
   "online" = callPackage
-    ({ mkDerivation, base, doctest, foldl, numhask-prelude, protolude
-     , tasty, tdigest, vector, vector-algorithms
+    ({ mkDerivation, base, doctest, foldl, tasty, tdigest, vector
+     , vector-algorithms
      }:
      mkDerivation {
        pname = "online";
-       version = "0.3.0.0";
-       sha256 = "056a9dkrzfgj0wf9f9d9d25f6yc03jx9z0p0z5xm8n8brk6b3bds";
+       version = "0.4.0.0";
+       sha256 = "1vb9x90qzmqjydxjcn06gz5lfikwrx73jkkhmqdd5vxmzzj36spz";
        libraryHaskellDepends = [
-         base foldl numhask-prelude protolude tdigest vector
-         vector-algorithms
+         base foldl tdigest vector vector-algorithms
        ];
-       testHaskellDepends = [ base doctest protolude tasty ];
+       testHaskellDepends = [ base doctest tasty ];
        description = "online statistics";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -176729,23 +177682,22 @@ self: {
 
   "ormolu" = callPackage
     ({ mkDerivation, base, bytestring, containers, dlist, exceptions
-     , filepath, ghc, ghc-boot-th, ghc-paths, gitrev, hspec
-     , hspec-discover, mtl, optparse-applicative, path, path-io, syb
-     , text
+     , filepath, ghc-lib-parser, gitrev, hspec, hspec-discover, mtl
+     , optparse-applicative, path, path-io, syb, text
      }:
      mkDerivation {
        pname = "ormolu";
-       version = "0.0.1.0";
-       sha256 = "1p4m9hiavirnhf941fb5pdnrlrknr5rhcvznhqywianvvw6qcm30";
+       version = "0.0.2.0";
+       sha256 = "10p3h98k5ph2awmdd89k8knavv4npvdmh00a9nrzaw6z32j0igfh";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         base bytestring containers dlist exceptions ghc ghc-boot-th
-         ghc-paths mtl syb text
+         base bytestring containers dlist exceptions ghc-lib-parser mtl syb
+         text
        ];
        executableHaskellDepends = [
-         base ghc gitrev optparse-applicative text
+         base ghc-lib-parser gitrev optparse-applicative text
        ];
        testHaskellDepends = [
          base containers filepath hspec path path-io text
@@ -176753,6 +177705,8 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A formatter for Haskell source code";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "os-release" = callPackage
@@ -177037,10 +177991,8 @@ self: {
      }:
      mkDerivation {
        pname = "overloaded";
-       version = "0.1.2";
-       sha256 = "0m2ddb48vsl0x0hz6pq8wabl1s6vl7s66rz7z9v2i6d809zl83kw";
-       revision = "1";
-       editedCabalFile = "08w1f1g0vq0q8v93fdhb8w7a2xmq6mbyh8c3s5y5sli1bynsgbzb";
+       version = "0.1.3";
+       sha256 = "0yz94zzcwdw34c5v9qmqak9bwqz8gq1s80phf9rn8p0bg6a4l0h4";
        libraryHaskellDepends = [
          base bytestring containers fin ghc optics-core record-hasfield
          sop-core split syb symbols text time vec
@@ -177711,6 +178663,61 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
+  "pandoc_2_8_0_1" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, attoparsec, base
+     , base64-bytestring, binary, blaze-html, blaze-markup, bytestring
+     , case-insensitive, cmark-gfm, containers, criterion, data-default
+     , deepseq, Diff, directory, doclayout, doctemplates, exceptions
+     , executable-path, filepath, Glob, haddock-library, hslua
+     , hslua-module-system, hslua-module-text, HsYAML, HTTP, http-client
+     , http-client-tls, http-types, ipynb, JuicyPixels, mtl, network
+     , network-uri, pandoc-types, parsec, process, QuickCheck, random
+     , safe, scientific, SHA, skylighting, skylighting-core, split, syb
+     , tagsoup, tasty, tasty-golden, tasty-hunit, tasty-lua
+     , tasty-quickcheck, temporary, texmath, text, text-conversions
+     , time, unicode-transforms, unix, unordered-containers, vector
+     , weigh, xml, zip-archive, zlib
+     }:
+     mkDerivation {
+       pname = "pandoc";
+       version = "2.8.0.1";
+       sha256 = "0g8sg52319id1srfb7z9j85lsk84x2rbillrcl4qsjg81lgq7pzs";
+       configureFlags = [ "-fhttps" "-f-trypandoc" ];
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty attoparsec base base64-bytestring binary
+         blaze-html blaze-markup bytestring case-insensitive cmark-gfm
+         containers data-default deepseq directory doclayout doctemplates
+         exceptions filepath Glob haddock-library hslua hslua-module-system
+         hslua-module-text HsYAML HTTP http-client http-client-tls
+         http-types ipynb JuicyPixels mtl network network-uri pandoc-types
+         parsec process random safe scientific SHA skylighting
+         skylighting-core split syb tagsoup temporary texmath text
+         text-conversions time unicode-transforms unix unordered-containers
+         vector xml zip-archive zlib
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base base64-bytestring bytestring containers Diff directory
+         doctemplates executable-path filepath Glob hslua mtl pandoc-types
+         process QuickCheck tasty tasty-golden tasty-hunit tasty-lua
+         tasty-quickcheck temporary text time xml zip-archive
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring containers criterion mtl text time weigh
+       ];
+       postInstall = ''
+         mkdir -p $out/share/man/man1
+         mv "man/"*.1 $out/share/man/man1/
+       '';
+       description = "Conversion between markup formats";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ peti ];
+     }) {};
+
   "pandoc-citeproc" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
      , Cabal, containers, data-default, directory, filepath, hs-bibutils
@@ -177747,7 +178754,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "pandoc-citeproc_0_16_3_1" = callPackage
+  "pandoc-citeproc_0_16_4" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
      , Cabal, containers, data-default, directory, filepath, hs-bibutils
      , HsYAML, HsYAML-aeson, libyaml, mtl, network, old-locale, pandoc
@@ -177757,8 +178764,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-citeproc";
-       version = "0.16.3.1";
-       sha256 = "12fsvvjcl7mf52xggh6v7p9va7vhfxj62ziyl1idiz13wp0ipc2z";
+       version = "0.16.4";
+       sha256 = "0mnkhyj56pw8cnycf4ny082rz67gii1x6clzhmxi60zafg07v04c";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -177785,18 +178792,21 @@ self: {
 
   "pandoc-citeproc-preamble" = callPackage
     ({ mkDerivation, base, directory, filepath, pandoc-types, process
+     , text-conversions
      }:
      mkDerivation {
        pname = "pandoc-citeproc-preamble";
-       version = "1.2.4";
-       sha256 = "0bdarf6rjncd8lfap4xn479675vsvqzxrmdqd367l2gxfi1nmrv5";
+       version = "1.3";
+       sha256 = "1lnsklvqvi9569wxdkyk2qwc33mm5d3n28xj64847i8g9af2jqs9";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base directory filepath pandoc-types process
+         base directory filepath pandoc-types process text-conversions
        ];
        description = "Insert a preamble before pandoc-citeproc's bibliography";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "pandoc-crossref" = callPackage
@@ -177808,8 +178818,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-crossref";
-       version = "0.3.4.1";
-       sha256 = "19hs4akqsg7nlspnbdbyncq8irj0a3h8akmyfzxmi2yb35x7c8ny";
+       version = "0.3.5.0";
+       sha256 = "1x01qf7v88f42p6h4mjm8rllxm8jl7bj8rq3512qjksns6qajvk4";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -177833,6 +178843,8 @@ self: {
        ];
        description = "Pandoc filter for cross-references";
        license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "pandoc-csv2table" = callPackage
@@ -178021,24 +179033,23 @@ self: {
 
   "pandoc-placetable" = callPackage
     ({ mkDerivation, aeson, base, bytestring, explicit-exception
-     , http-conduit, pandoc-types, spreadsheet, text, utf8-string
+     , http-conduit, pandoc, pandoc-types, spreadsheet, text
+     , utf8-string
      }:
      mkDerivation {
        pname = "pandoc-placetable";
        version = "0.5.1";
        sha256 = "0zfqmsq86jvwm4kpjb02whcdxk5xpgaj1sbdh471kr2vz8q4p112";
-       configureFlags = [ "-finlineMarkdown" ];
+       configureFlags = [ "-finlinemarkdown" ];
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
        executableHaskellDepends = [
-         aeson base bytestring explicit-exception http-conduit pandoc-types
-         spreadsheet text utf8-string
+         aeson base bytestring explicit-exception http-conduit pandoc
+         pandoc-types spreadsheet text utf8-string
        ];
        description = "Pandoc filter to include CSV files";
        license = "GPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "pandoc-plantuml-diagrams" = callPackage
@@ -178097,7 +179108,7 @@ self: {
        broken = true;
      }) {};
 
-  "pandoc-pyplot_2_2_0_0" = callPackage
+  "pandoc-pyplot_2_3_0_0" = callPackage
     ({ mkDerivation, base, containers, data-default-class, deepseq
      , directory, filepath, hashable, hspec, hspec-expectations, mtl
      , open-browser, optparse-applicative, pandoc, pandoc-types
@@ -178106,8 +179117,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-pyplot";
-       version = "2.2.0.0";
-       sha256 = "1090c3ilm2krz8wyhizlrbwdrn0hq05a7cyh1n0y57sfv3hxprbj";
+       version = "2.3.0.0";
+       sha256 = "04brh01arvmp3v8b006933n55m6z1pvz9v3x58732n693s7bhq8n";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -178144,17 +179155,17 @@ self: {
      }) {};
 
   "pandoc-stylefrommeta" = callPackage
-    ({ mkDerivation, base, bytestring, containers, MissingH, pandoc
+    ({ mkDerivation, base, bytestring, containers, extra, pandoc
      , pandoc-types, text
      }:
      mkDerivation {
        pname = "pandoc-stylefrommeta";
-       version = "0.2.1.1";
-       sha256 = "0jqgpgz1yx85zhm4f6qjaqcj94zi71ab0gam5vdz0jad79szr5l8";
+       version = "0.2.3.0";
+       sha256 = "1145flz4jkn5knqkc5cppc1412m6hfzd13124k2kfm8dmw196k31";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base bytestring containers MissingH pandoc pandoc-types text
+         base bytestring containers extra pandoc pandoc-types text
        ];
        description = "Pandoc filter to customize links, images and paragraphs";
        license = stdenv.lib.licenses.bsd3;
@@ -178183,6 +179194,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pandoc-types_1_20" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, criterion
+     , deepseq, ghc-prim, HUnit, QuickCheck, string-qq, syb
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text, transformers
+     }:
+     mkDerivation {
+       pname = "pandoc-types";
+       version = "1.20";
+       sha256 = "0wz89ywyhvxz8daw4ia132kg6ynx5y4wva4g899wvq4kyjy1dixa";
+       libraryHaskellDepends = [
+         aeson base bytestring containers deepseq ghc-prim QuickCheck syb
+         text transformers
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers HUnit QuickCheck string-qq syb
+         test-framework test-framework-hunit test-framework-quickcheck2 text
+       ];
+       benchmarkHaskellDepends = [ base criterion text ];
+       description = "Types for representing a structured document";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pandoc-unlit" = callPackage
     ({ mkDerivation, base, pandoc }:
      mkDerivation {
@@ -178200,17 +179235,17 @@ self: {
 
   "pandoc-vimhl" = callPackage
     ({ mkDerivation, base, cond, directory, filepath, pandoc-types
-     , process, regex-compat, temporary
+     , process, regex-compat, temporary, text
      }:
      mkDerivation {
        pname = "pandoc-vimhl";
-       version = "0.1.2.4";
-       sha256 = "16gvlskbp2d000mbx2rkbz6dg6758ni4x2mkzxjyk5m475h13w6b";
+       version = "0.1.3.0";
+       sha256 = "0ppn42jicmx3v0qk6ql0ccx61kk53c75n5wnl3dppgnv1xgmlnq8";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          base cond directory filepath pandoc-types process regex-compat
-         temporary
+         temporary text
        ];
        description = "Pandoc filter for native Vim code highlighting";
        license = stdenv.lib.licenses.bsd3;
@@ -180890,13 +181925,14 @@ self: {
      }) {};
 
   "pcre-light" = callPackage
-    ({ mkDerivation, base, bytestring, pcre }:
+    ({ mkDerivation, base, bytestring, containers, HUnit, mtl, pcre }:
      mkDerivation {
        pname = "pcre-light";
-       version = "0.4.0.4";
-       sha256 = "0xcyi1fivwg7a92mch5bcqzmrfxzqj42rmb3m8kgs61x4qwpxj82";
+       version = "0.4.1.0";
+       sha256 = "0lqvsmc6bfhdv6igm3fmw8nklyhw3j3jsl0s1k6r3fhb6ambzxhn";
        libraryHaskellDepends = [ base bytestring ];
-       libraryPkgconfigDepends = [ pcre ];
+       librarySystemDepends = [ pcre ];
+       testHaskellDepends = [ base bytestring containers HUnit mtl ];
        description = "Portable regex library for Perl 5 compatible regular expressions";
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) pcre;};
@@ -181333,8 +182369,8 @@ self: {
      }:
      mkDerivation {
        pname = "pell";
-       version = "0.1.2.0";
-       sha256 = "14h8m77f0afk36pycv7q8k3xy64787ya6pjg2dvax3yaa5q7lmv9";
+       version = "0.1.3.0";
+       sha256 = "07l623ja134s99qlhvjrsfcyaj9s504xfm9ml8afc78k9yarly9w";
        libraryHaskellDepends = [ arithmoi base containers ];
        testHaskellDepends = [
          arithmoi base Cabal cabal-test-quickcheck containers primes
@@ -183975,6 +185011,27 @@ self: {
        broken = true;
      }) {};
 
+  "pine" = callPackage
+    ({ mkDerivation, base, containers, sdl2, sdl2-image, stm, text }:
+     mkDerivation {
+       pname = "pine";
+       version = "0.1.0.2";
+       sha256 = "0896l27g1cmrvkq2b1bdy7sfr6z0jg2pk1mvhwr1n3f0gwgiy36i";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers sdl2 sdl2-image stm text
+       ];
+       executableHaskellDepends = [
+         base containers sdl2 sdl2-image stm text
+       ];
+       testHaskellDepends = [ base containers sdl2 sdl2-image stm text ];
+       description = "Functional 2D Game Framework";
+       license = stdenv.lib.licenses.zlib;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "ping" = callPackage
     ({ mkDerivation, base, cpu, ip, posix-api, primitive
      , primitive-addr, primitive-containers, stm, transformers
@@ -184910,6 +185967,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pipes-network-tls_0_4" = callPackage
+    ({ mkDerivation, base, bytestring, network, network-simple
+     , network-simple-tls, pipes, pipes-network, pipes-safe, tls
+     , transformers
+     }:
+     mkDerivation {
+       pname = "pipes-network-tls";
+       version = "0.4";
+       sha256 = "161nqwgv0r5vlnpa1bq0y2wyh2yp8b583dxbwpbgxfjrnsy5f5vm";
+       libraryHaskellDepends = [
+         base bytestring network network-simple network-simple-tls pipes
+         pipes-network pipes-safe tls transformers
+       ];
+       description = "TLS-secured network connections support for pipes";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pipes-network-ws" = callPackage
     ({ mkDerivation, base, bytestring, network-simple-ws, pipes }:
      mkDerivation {
@@ -186411,8 +187486,8 @@ self: {
      }:
      mkDerivation {
        pname = "pointfree-fancy";
-       version = "1.1.1.14";
-       sha256 = "08b2dslkblxch8k6wlc6xx50lva8abdkdwibgfxdj2yw4mgdnhry";
+       version = "1.1.1.15";
+       sha256 = "1jbxgn4raa5zzy5riflvx1sch6ar78fi84yf0ag86yxda3lh70qd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -186443,6 +187518,8 @@ self: {
        executableHaskellDepends = [ base ];
        description = "Pointful refactoring tool";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "pointless-fun" = callPackage
@@ -187371,7 +188448,7 @@ self: {
        license = stdenv.lib.licenses.gpl2;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {inherit (pkgs) gdk-pixbuf; inherit (pkgs) gtk2; 
+     }) {inherit (pkgs) gdk-pixbuf; inherit (pkgs) gtk2;
          inherit (pkgs) pango; inherit (pkgs) poppler;};
 
   "populate-setup-exe-cache" = callPackage
@@ -188027,6 +189104,36 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "postgresql-binary_0_12_2" = callPackage
+    ({ mkDerivation, aeson, base, base-prelude, binary-parser
+     , bytestring, bytestring-strict-builder, containers, conversion
+     , conversion-bytestring, conversion-text, criterion, json-ast
+     , loch-th, network-ip, placeholders, postgresql-libpq, QuickCheck
+     , quickcheck-instances, rerebase, scientific, tasty, tasty-hunit
+     , tasty-quickcheck, text, time, transformers, unordered-containers
+     , uuid, vector
+     }:
+     mkDerivation {
+       pname = "postgresql-binary";
+       version = "0.12.2";
+       sha256 = "1zkhwl8g141p1zgnbxjhh0r6wgvzlpwdbvyl80z31fdxd5v29bv8";
+       libraryHaskellDepends = [
+         aeson base base-prelude binary-parser bytestring
+         bytestring-strict-builder containers loch-th network-ip
+         placeholders scientific text time transformers unordered-containers
+         uuid vector
+       ];
+       testHaskellDepends = [
+         aeson conversion conversion-bytestring conversion-text json-ast
+         loch-th network-ip placeholders postgresql-libpq QuickCheck
+         quickcheck-instances rerebase tasty tasty-hunit tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ criterion rerebase ];
+       description = "Encoders and decoders for the PostgreSQL's binary format";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "postgresql-common" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, postgresql-simple }:
      mkDerivation {
@@ -188098,8 +189205,8 @@ self: {
     ({ mkDerivation, base, bytestring }:
      mkDerivation {
        pname = "postgresql-copy-escape";
-       version = "0.1";
-       sha256 = "063phxj8r3vy25awwwn47k9ac0s8z59igpgqrhb9gbfdq4ldrlpm";
+       version = "0.1.0.1";
+       sha256 = "08ld3rqjjjhlikcv1cpxjqs8wlsjhvv7qq9fjb032hx6mvcqwz0i";
        libraryHaskellDepends = [ base bytestring ];
        description = "Format data to feed to a PostgreSQL COPY FROM statement";
        license = stdenv.lib.licenses.bsd3;
@@ -189297,25 +190404,25 @@ self: {
      }) {};
 
   "predicate-typed" = callPackage
-    ({ mkDerivation, aeson, assoc, base, binary, bytestring, comonad
-     , containers, deepseq, directory, doctest, ghc-prim, lens, mtl
-     , pcre-heavy, pcre-light, pretty, pretty-terminal, QuickCheck, safe
-     , stm, tasty, tasty-hunit, tasty-quickcheck, template-haskell, text
-     , th-lift, these, time, tree-view
+    ({ mkDerivation, aeson, base, binary, bytestring, comonad
+     , containers, deepseq, directory, doctest, ghc-prim, hashable, lens
+     , mtl, pcre-heavy, pcre-light, pretty, pretty-terminal, QuickCheck
+     , safe, stm, tasty, tasty-hunit, tasty-quickcheck, template-haskell
+     , text, th-lift, these, time, tree-view
      }:
      mkDerivation {
        pname = "predicate-typed";
-       version = "0.2.0.0";
-       sha256 = "1355dfsvm6k334hp3z6kiv9216ly9vfk8nb3vf0vd1ad63jm3vmv";
+       version = "0.6.0.0";
+       sha256 = "0fk30pn759fg9v2k5gw51hk6vkp2vq4sh574zlqdk4vx6r2r5jrp";
        libraryHaskellDepends = [
-         aeson assoc base binary bytestring comonad containers deepseq
-         directory ghc-prim lens mtl pcre-heavy pcre-light pretty
+         aeson base binary bytestring comonad containers deepseq directory
+         ghc-prim hashable lens mtl pcre-heavy pcre-light pretty
          pretty-terminal QuickCheck safe template-haskell text th-lift these
          time tree-view
        ];
        testHaskellDepends = [
-         aeson assoc base binary bytestring comonad containers deepseq
-         directory doctest ghc-prim lens mtl pcre-heavy pcre-light pretty
+         aeson base binary bytestring comonad containers deepseq directory
+         doctest ghc-prim hashable lens mtl pcre-heavy pcre-light pretty
          pretty-terminal QuickCheck safe stm tasty tasty-hunit
          tasty-quickcheck template-haskell text th-lift these time tree-view
        ];
@@ -190476,8 +191583,8 @@ self: {
     ({ mkDerivation, base, primitive, QuickCheck }:
      mkDerivation {
        pname = "primitive-foreign";
-       version = "0.1";
-       sha256 = "0qznygyj4fsgdggrb02nc78nfjyvfjsdaznw01a0sw2b1yld0zqg";
+       version = "0.1.1";
+       sha256 = "15fv32c5q1x1q4qwwcaqhn01bzv887njc8qnqhnp7p3h5m0xz2pc";
        libraryHaskellDepends = [ base primitive ];
        testHaskellDepends = [ base primitive QuickCheck ];
        description = "using the `Prim` interface for the FFI";
@@ -190848,8 +191955,8 @@ self: {
      }:
      mkDerivation {
        pname = "probability";
-       version = "0.2.5.2";
-       sha256 = "059l9by2zxb92dd2vshxx9f3sm1kazc2i2ll168hfsya9rrqqaqg";
+       version = "0.2.6";
+       sha256 = "12qzgn9jb9hvbpbkb75ad55yhmhai945rvdbamx6zspbrjlsb9sz";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base containers random transformers utility-ht
@@ -190915,16 +192022,14 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "process_1_6_6_0" = callPackage
+  "process_1_6_7_0" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, directory, filepath
      , unix
      }:
      mkDerivation {
        pname = "process";
-       version = "1.6.6.0";
-       sha256 = "140as37rfad7hy1lg03n19dzfbcdaahv64aydl6frv06qvdlc49w";
-       revision = "1";
-       editedCabalFile = "0y3v5ly6fg42ngv41d28ny4x06ddqkivxx16whsfss06k15x3vz5";
+       version = "1.6.7.0";
+       sha256 = "1qplrcdzdv8dhzh859f709facw7xc6kmfwhwmm26qks4arkih7j5";
        libraryHaskellDepends = [ base deepseq directory filepath unix ];
        testHaskellDepends = [ base bytestring directory ];
        description = "Process libraries";
@@ -191349,6 +192454,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "profunctor-arrows" = callPackage
+    ({ mkDerivation, base, comonad, profunctors }:
+     mkDerivation {
+       pname = "profunctor-arrows";
+       version = "0.0.0.1";
+       sha256 = "1zcka3xdg3zpy3bxafgipsxyj04jbywl2yf4x6qa13287lxwn6wm";
+       libraryHaskellDepends = [ base comonad profunctors ];
+       description = "Profunctor arrows";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "profunctor-extras" = callPackage
     ({ mkDerivation, base, profunctors }:
      mkDerivation {
@@ -191405,6 +192521,8 @@ self: {
        ];
        description = "Profunctor optics";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "profunctors" = callPackage
@@ -191425,14 +192543,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "profunctors_5_5" = callPackage
+  "profunctors_5_5_1" = callPackage
     ({ mkDerivation, base, base-orphans, bifunctors, comonad
      , contravariant, distributive, tagged, transformers
      }:
      mkDerivation {
        pname = "profunctors";
-       version = "5.5";
-       sha256 = "0z7kf8hkfk5wfxw80zs9jsh22mk3mjzfvqbdkihrw1wiyw4xkjfl";
+       version = "5.5.1";
+       sha256 = "0nmiv7hhmimiwj4jnh5vd5n96bihpairq2rf6hrw11rignal2dqx";
        libraryHaskellDepends = [
          base base-orphans bifunctors comonad contravariant distributive
          tagged transformers
@@ -191765,16 +192883,16 @@ self: {
 
   "prometheus" = callPackage
     ({ mkDerivation, atomic-primops, base, bytestring, containers
-     , http-client, http-types, network-uri, text, transformers, wai
-     , warp
+     , http-client, http-client-tls, http-types, network-uri, text
+     , transformers, wai, warp
      }:
      mkDerivation {
        pname = "prometheus";
-       version = "2.1.2";
-       sha256 = "1qr8nnijzlp0rwz3rab7y49kxwa4ka7ipix9dix5d1mzqpa1sj5m";
+       version = "2.1.3";
+       sha256 = "1z8mar0l8kh8wd0hsv4ckgnr5ha1vsx83afg63z9pwmv5l3phj0q";
        libraryHaskellDepends = [
-         atomic-primops base bytestring containers http-client http-types
-         network-uri text transformers wai warp
+         atomic-primops base bytestring containers http-client
+         http-client-tls http-types network-uri text transformers wai warp
        ];
        description = "Prometheus Haskell Client";
        license = stdenv.lib.licenses.bsd3;
@@ -191962,8 +193080,8 @@ self: {
      }:
      mkDerivation {
        pname = "propellor";
-       version = "5.9.1";
-       sha256 = "1v4cpj4kbmhl4xkxm7gxm2z9pqf6zmr4psawaxixvsav6xpxgphr";
+       version = "5.10.1";
+       sha256 = "1ymjlfp7gri82sa26s6a10lqqmzplvl68siai04wshx3jwr3b5y8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -192272,6 +193390,8 @@ self: {
        ];
        description = "JSON protobuf encoding for proto-lens";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "proto-lens-optparse" = callPackage
@@ -192481,9 +193601,10 @@ self: {
   "proto3-suite" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, attoparsec, base
      , base64-bytestring, binary, bytestring, cereal, containers
-     , contravariant, deepseq, doctest, filepath, foldl, hashable
-     , haskell-src, insert-ordered-containers, lens, mtl
-     , neat-interpolation, optparse-generic, parsec, parsers, pretty
+     , contravariant, deepseq, doctest, filepath, foldl
+     , generic-arbitrary, hashable, haskell-src
+     , insert-ordered-containers, lens, mtl, neat-interpolation
+     , optparse-applicative, optparse-generic, parsec, parsers, pretty
      , pretty-show, proto3-wire, QuickCheck, quickcheck-instances
      , range-set-list, safe, semigroups, swagger2, system-filepath
      , tasty, tasty-hunit, tasty-quickcheck, text, transformers, turtle
@@ -192491,8 +193612,8 @@ self: {
      }:
      mkDerivation {
        pname = "proto3-suite";
-       version = "0.3.0.0";
-       sha256 = "1dmblb640jc2smm023py3sg49k07v85qmalir5swkj154vlszgli";
+       version = "0.4.0.0";
+       sha256 = "0pmd7fhw4y90h1qffmgxkqijdscqw0qj7nhj0pvrvz1av6svhvr1";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -192505,14 +193626,14 @@ self: {
          system-filepath text transformers turtle vector
        ];
        executableHaskellDepends = [
-         base containers optparse-generic proto3-wire range-set-list
-         system-filepath text turtle
+         base containers mtl optparse-applicative optparse-generic
+         proto3-wire range-set-list system-filepath text turtle
        ];
        testHaskellDepends = [
          aeson attoparsec base base64-bytestring bytestring cereal
-         containers doctest pretty-show proto3-wire QuickCheck semigroups
-         swagger2 tasty tasty-hunit tasty-quickcheck text transformers
-         turtle vector
+         containers deepseq doctest generic-arbitrary mtl pretty-show
+         proto3-wire QuickCheck semigroups swagger2 tasty tasty-hunit
+         tasty-quickcheck text transformers turtle vector
        ];
        description = "A low level library for writing out data in the Protocol Buffers wire format";
        license = stdenv.lib.licenses.asl20;
@@ -192527,8 +193648,10 @@ self: {
      }:
      mkDerivation {
        pname = "proto3-wire";
-       version = "1.0.0";
-       sha256 = "1r090s4mqmx0ixr8y6xyzkgcwv0sfjwah7jhb4vr75zpzsvx0bqk";
+       version = "1.1.0";
+       sha256 = "1f8vllbysz6d7njkqd6f52k4nixjj4wf2k4nh4gb4b7dihdzhnmg";
+       revision = "1";
+       editedCabalFile = "1ws072947d8lmchknyhrzpg9mh6dacya872a4b9dw0cdgkn13zm8";
        libraryHaskellDepends = [
          base bytestring cereal containers deepseq hashable QuickCheck safe
          text unordered-containers
@@ -193117,29 +194240,29 @@ self: {
      }) {};
 
   "publish" = callPackage
-    ({ mkDerivation, base, bytestring, chronologique, deepseq
-     , directory, filepath, hinotify, hspec, megaparsec, pandoc
-     , pandoc-types, template-haskell, text, typed-process, unbeliever
-     , unix, unordered-containers
+    ({ mkDerivation, base, bytestring, chronologique, core-program
+     , core-text, deepseq, directory, filepath, hinotify, hspec
+     , megaparsec, pandoc, pandoc-types, template-haskell, text
+     , typed-process, unix, unordered-containers
      }:
      mkDerivation {
        pname = "publish";
-       version = "2.0.1";
-       sha256 = "12jhwihg6nlhs1q2cf4ivd7qw724qz1wk1i5rmi4akfga8ad7n4l";
+       version = "2.1.0";
+       sha256 = "03fwk0ami5xxqacqb8gikqzxdp7cavvni5bmxd5bi1lvavk49sh7";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base bytestring chronologique deepseq directory filepath hinotify
-         megaparsec pandoc pandoc-types template-haskell text typed-process
-         unbeliever unix unordered-containers
+         base bytestring chronologique core-program core-text deepseq
+         directory filepath hinotify megaparsec pandoc pandoc-types
+         template-haskell text typed-process unix unordered-containers
        ];
        testHaskellDepends = [
-         base bytestring chronologique deepseq directory filepath hinotify
-         hspec megaparsec pandoc pandoc-types template-haskell text
-         typed-process unbeliever unix unordered-containers
+         base bytestring chronologique core-program core-text deepseq
+         directory filepath hinotify hspec megaparsec pandoc pandoc-types
+         template-haskell text typed-process unix unordered-containers
        ];
        description = "Publishing tools for papers, books, and presentations";
-       license = stdenv.lib.licenses.bsd3;
+       license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
      }) {};
@@ -193597,10 +194720,8 @@ self: {
      }:
      mkDerivation {
        pname = "purescript";
-       version = "0.13.4";
-       sha256 = "06qy5il369z6f7723zb676wjwqa4rj5wz75isq3s346avsmr3j84";
-       revision = "1";
-       editedCabalFile = "1048nmqysgblxiq6685lsx8wmxg52jkmqrvzvjhp0gl6x54n0rh3";
+       version = "0.13.5";
+       sha256 = "0plqzlcfaw2ik2im7aq8yy1b1y88cnc8qd7wwaayndbdz060s9j4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -194559,7 +195680,7 @@ self: {
        description = "Qt bindings";
        license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {qtc_core = null; qtc_gui = null; qtc_network = null; 
+     }) {qtc_core = null; qtc_gui = null; qtc_network = null;
          qtc_opengl = null; qtc_script = null; qtc_tools = null;};
 
   "qtah-cpp-qt5" = callPackage
@@ -195907,6 +197028,8 @@ self: {
        ];
        description = "Test helpers which help generate data for projects that use postgresql";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "quoridor-hs" = callPackage
@@ -196275,6 +197398,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "rainbow_0_34_2_0" = callPackage
+    ({ mkDerivation, base, bytestring, lens, QuickCheck, terminfo, text
+     }:
+     mkDerivation {
+       pname = "rainbow";
+       version = "0.34.2.0";
+       sha256 = "1lamwlkq3g184h7ab2f03x8bhmmpmcn0f1piqp8zqn0594v76a0q";
+       libraryHaskellDepends = [ base bytestring lens terminfo text ];
+       testHaskellDepends = [
+         base bytestring lens QuickCheck terminfo text
+       ];
+       description = "Print text to terminal with colors and effects";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "rainbow-tests" = callPackage
     ({ mkDerivation, barecheck, base, QuickCheck, rainbow, terminfo
      , text
@@ -196311,6 +197450,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "rainbox_0_24_2_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, lens, QuickCheck
+     , rainbow, tasty, tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "rainbox";
+       version = "0.24.2.0";
+       sha256 = "1b1nkw7j24fcmgzkcn92j6c8v6abrhg9580hnwna1b4sjjx6ayak";
+       libraryHaskellDepends = [
+         base bytestring containers lens rainbow text
+       ];
+       testHaskellDepends = [
+         base bytestring containers lens QuickCheck rainbow tasty
+         tasty-quickcheck text
+       ];
+       description = "Two-dimensional box pretty printing, with colors";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "rake" = callPackage
     ({ mkDerivation, base, containers, text }:
      mkDerivation {
@@ -197320,27 +198479,6 @@ self: {
      }:
      mkDerivation {
        pname = "ratel";
-       version = "1.0.8";
-       sha256 = "045hr0jilydb1xcvhh9q5iwazpf1k1d2q1y0h4gkgnbn6qmgwhnk";
-       libraryHaskellDepends = [
-         aeson base bytestring case-insensitive containers http-client
-         http-client-tls http-types text uuid
-       ];
-       testHaskellDepends = [
-         aeson base bytestring case-insensitive containers filepath hspec
-         http-client http-client-tls http-types text uuid
-       ];
-       description = "Notify Honeybadger about exceptions";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "ratel_1_0_9" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, case-insensitive
-     , containers, filepath, hspec, http-client, http-client-tls
-     , http-types, text, uuid
-     }:
-     mkDerivation {
-       pname = "ratel";
        version = "1.0.9";
        sha256 = "1kwn7ahjbp8w83ph73w43mh0szywqd2f817b7mz2wqimzb153k5b";
        libraryHaskellDepends = [
@@ -197353,7 +198491,6 @@ self: {
        ];
        description = "Notify Honeybadger about exceptions";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ratel-wai" = callPackage
@@ -197362,21 +198499,6 @@ self: {
      }:
      mkDerivation {
        pname = "ratel-wai";
-       version = "1.1.0";
-       sha256 = "1wgmlcazfbz4y4q9k6367i76l8cal1qgqhqbh2p69ca365w9pf56";
-       libraryHaskellDepends = [
-         base bytestring case-insensitive containers http-client ratel wai
-       ];
-       description = "Notify Honeybadger about exceptions via a WAI middleware";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "ratel-wai_1_1_1" = callPackage
-    ({ mkDerivation, base, bytestring, case-insensitive, containers
-     , http-client, ratel, wai
-     }:
-     mkDerivation {
-       pname = "ratel-wai";
        version = "1.1.1";
        sha256 = "1qpbhi1g7j5qbn15s0h8vdhc6zisz5j2hgr6qwg2kipi4kvvsgy9";
        libraryHaskellDepends = [
@@ -197384,7 +198506,6 @@ self: {
        ];
        description = "Notify Honeybadger about exceptions via a WAI middleware";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "rating-chgk-info" = callPackage
@@ -197485,39 +198606,6 @@ self: {
      }:
      mkDerivation {
        pname = "rattletrap";
-       version = "9.0.6";
-       sha256 = "1kb3nfm8izgb97f6lbkwcvnc9a2z4hy89hj5hnxmnph7r9s1njii";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson aeson-pretty base binary binary-bits bytestring containers
-         filepath http-client http-client-tls scientific template-haskell
-         text transformers
-       ];
-       executableHaskellDepends = [
-         aeson aeson-pretty base binary binary-bits bytestring containers
-         filepath http-client http-client-tls scientific template-haskell
-         text transformers
-       ];
-       testHaskellDepends = [
-         aeson aeson-pretty base binary binary-bits bytestring containers
-         filepath http-client http-client-tls HUnit scientific
-         template-haskell temporary text transformers
-       ];
-       description = "Parse and generate Rocket League replays";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "rattletrap_9_0_7" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, binary, binary-bits
-     , bytestring, containers, filepath, http-client, http-client-tls
-     , HUnit, scientific, template-haskell, temporary, text
-     , transformers
-     }:
-     mkDerivation {
-       pname = "rattletrap";
        version = "9.0.7";
        sha256 = "0kgg1qfhgjajzrw22yvcxmiim14pxr2gim1aak3ivnmhn4yff4fg";
        isLibrary = true;
@@ -198176,7 +199264,7 @@ self: {
        pname = "reactive-banana-wx";
        version = "1.1.1.0";
        sha256 = "1yzymc6qpjj8d0fal09vxy2yicbrgrg42khylbbsrzmdgqfnf3kr";
-       configureFlags = [ "-f-buildExamples" ];
+       configureFlags = [ "-f-buildexamples" ];
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -198459,16 +199547,16 @@ self: {
 
   "readme-lhs" = callPackage
     ({ mkDerivation, base, containers, doctest, pandoc, pandoc-types
-     , protolude, text
+     , protolude, text, transformers
      }:
      mkDerivation {
        pname = "readme-lhs";
-       version = "0.2.2";
-       sha256 = "1lxa119c7zbqwvjhxrr6cli14f3zrj93ziivi9y8nr0hcv1dx9z6";
+       version = "0.3.0";
+       sha256 = "1w113jr7sjmq4wkilwjmcaic6sgxp3vzg67dfs0imbd730xhqda8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base containers pandoc pandoc-types protolude text
+         base containers pandoc pandoc-types protolude text transformers
        ];
        executableHaskellDepends = [ base protolude ];
        testHaskellDepends = [ base doctest protolude ];
@@ -198996,8 +200084,8 @@ self: {
        pname = "recursion-schemes";
        version = "5.1.3";
        sha256 = "0a0mkwy3sxg5f1mdlblpn0xl3lwgilnmzs94jqab0pqx9gjkc5xj";
-       revision = "1";
-       editedCabalFile = "0zxcmga4fy42arbyv1kzbyfnsghnll3prkpva58x654x4cg4diwk";
+       revision = "2";
+       editedCabalFile = "01q18gplv5k328qf74innnx2z2p15pg5nc6sikxq6fkkw4v3rkyb";
        libraryHaskellDepends = [
          base base-orphans comonad free template-haskell th-abstraction
          transformers
@@ -199063,8 +200151,8 @@ self: {
      }:
      mkDerivation {
        pname = "red-black-record";
-       version = "2.1.0.2";
-       sha256 = "0xfvvhdqnhialxf13xw894mpsf8xj8jig5zipqj1hh6galb0b164";
+       version = "2.1.0.3";
+       sha256 = "0g1av0w52m0admcqif5imkla43yk6id4y8jmiy843xbdqs3qzcx4";
        libraryHaskellDepends = [ base sop-core ];
        testHaskellDepends = [
          aeson base bytestring doctest profunctors sop-core tasty
@@ -199719,8 +200807,8 @@ self: {
      }:
      mkDerivation {
        pname = "reflex-dom";
-       version = "0.5";
-       sha256 = "167yghrwf6fay03y46xf87p9bhr6s3rlxn0yk5vnx1s5i95ps1x5";
+       version = "0.5.2.0";
+       sha256 = "01sqql44jcn7d9xcb00br99zgyghiyqzcmncfpz4dgik10dam1hv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -199773,32 +200861,33 @@ self: {
      , containers, contravariant, data-default, dependent-map
      , dependent-sum, dependent-sum-template, directory
      , exception-transformers, exceptions, filepath, ghcjs-dom, hlint
-     , hspec, hspec-webdriver, http-types, HUnit, jsaddle, jsaddle-warp
-     , keycode, lens, lifted-base, monad-control, mtl, network
-     , network-uri, primitive, process, random, ref-tf, reflex
-     , semigroups, silently, stm, template-haskell, temporary, text
-     , these, transformers, unix, wai, wai-websockets, warp, webdriver
-     , websockets, zenc
+     , hspec, hspec-core, hspec-webdriver, http-types, HUnit, jsaddle
+     , jsaddle-warp, keycode, lens, lifted-base, monad-control, mtl
+     , network, network-uri, primitive, process, random, ref-tf, reflex
+     , semialign, semigroups, silently, stm, template-haskell, temporary
+     , text, these, transformers, unix, wai, wai-websockets, warp
+     , webdriver, websockets, which, zenc
      }:
      mkDerivation {
        pname = "reflex-dom-core";
-       version = "0.5";
-       sha256 = "1vzlrqgl48krvm58w4mg5s3xwyc565rgjy7f2g1rxxljr30z95p4";
+       version = "0.5.2.0";
+       sha256 = "1vqd6viqg9di9z0wchi3ffcia4spljf3dal8l21k7qhwcbz4g3jz";
        libraryHaskellDepends = [
          aeson base bifunctors bimap blaze-builder bytestring constraints
          containers contravariant data-default dependent-map dependent-sum
          dependent-sum-template directory exception-transformers ghcjs-dom
          jsaddle keycode lens monad-control mtl network-uri primitive random
-         ref-tf reflex semigroups stm template-haskell text these
+         ref-tf reflex semialign semigroups stm template-haskell text these
          transformers unix zenc
        ];
        testHaskellDepends = [
          aeson base bytestring chrome-test-utils constraints
          constraints-extras containers dependent-map dependent-sum
          dependent-sum-template directory exceptions filepath ghcjs-dom
-         hlint hspec hspec-webdriver http-types HUnit jsaddle jsaddle-warp
-         lens lifted-base network process random ref-tf reflex silently
-         temporary text wai wai-websockets warp webdriver websockets
+         hlint hspec hspec-core hspec-webdriver http-types HUnit jsaddle
+         jsaddle-warp lens lifted-base network process random ref-tf reflex
+         silently temporary text wai wai-websockets warp webdriver
+         websockets which
        ];
        description = "Functional Reactive Web Apps with Reflex";
        license = stdenv.lib.licenses.bsd3;
@@ -200065,8 +201154,8 @@ self: {
      }:
      mkDerivation {
        pname = "reform-happstack";
-       version = "0.2.5.2";
-       sha256 = "0d6w500y47ghmiawlv116hqrknr1sx4k525c7arq340slzch03r6";
+       version = "0.2.5.3";
+       sha256 = "04fnn47rcm7n98q0qifyyg9jrh09mzchirwsgi2zzb6j9mciz6ci";
        libraryHaskellDepends = [
          base bytestring happstack-server mtl random reform text utf8-string
        ];
@@ -200180,6 +201269,8 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "Register allocation API";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "reg-alloc-types" = callPackage
@@ -200203,6 +201294,8 @@ self: {
        pname = "regex";
        version = "1.0.2.0";
        sha256 = "1f2z025hif1fr24b5khq3qxxyvpxrnhyx8xmbms332arw28rpkda";
+       revision = "1";
+       editedCabalFile = "1476dxzj482j6zkvbvyszsjw1bm7jn2nwk40rq99ylvzm2sj0asn";
        libraryHaskellDepends = [
          array base base-compat bytestring containers hashable regex-base
          regex-pcre-builtin regex-tdfa regex-tdfa-text template-haskell text
@@ -200638,22 +201731,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "regex-tdfa_1_3_0" = callPackage
-    ({ mkDerivation, array, base, bytestring, containers, file-embed
-     , filepath, ghc-prim, mtl, parsec, regex-base, utf8-string
+  "regex-tdfa_1_3_1_0" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, directory
+     , filepath, mtl, parsec, regex-base, text, utf8-string
      }:
      mkDerivation {
        pname = "regex-tdfa";
-       version = "1.3.0";
-       sha256 = "1qzcix4bmz5lj0w433qrfi576rvy8y8flv5wvlp6cchb2s8mfq0v";
+       version = "1.3.1.0";
+       sha256 = "1h1fliv2zjxwmddl9wnn7ckxxpgy1049hdfg6fcknyrr7mw7dhqm";
        libraryHaskellDepends = [
-         array base bytestring containers ghc-prim mtl parsec regex-base
+         array base bytestring containers mtl parsec regex-base text
        ];
        testHaskellDepends = [
-         array base bytestring containers file-embed filepath mtl regex-base
-         utf8-string
+         array base bytestring containers directory filepath mtl regex-base
+         text utf8-string
        ];
-       description = "Replaces/Enhances Text.Regex";
+       description = "Pure Haskell Tagged DFA Backend for \"Text.Regex\" (regex-base)";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -200802,6 +201895,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "regex-wrapper" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, hashable
+     , regex-tdfa, string-conv, text
+     }:
+     mkDerivation {
+       pname = "regex-wrapper";
+       version = "0.1.0.1";
+       sha256 = "0ibkdd5xpilzm5qngn01csrin6ial1hhjzgpi3wjv6krlswdil34";
+       libraryHaskellDepends = [
+         aeson base bytestring containers hashable regex-tdfa string-conv
+         text
+       ];
+       description = "Types that can only be constructed if they match a regular expression";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "regex-xmlschema" = callPackage
     ({ mkDerivation, base, haskell98, parsec }:
      mkDerivation {
@@ -203957,20 +205066,20 @@ self: {
 
   "rib" = callPackage
     ({ mkDerivation, aeson, async, base, binary, bytestring, clay
-     , cmdargs, containers, data-default, fsnotify, http-types, lens
-     , lens-aeson, lucid, mtl, pandoc, pandoc-include-code, pandoc-types
-     , safe, shake, skylighting, text, time, wai, wai-app-static
-     , wai-extra, warp
+     , cmdargs, containers, data-default, directory, fsnotify
+     , http-types, lens, lens-aeson, lucid, mtl, pandoc
+     , pandoc-include-code, pandoc-types, safe, shake, skylighting, text
+     , time, wai, wai-app-static, wai-extra, warp
      }:
      mkDerivation {
        pname = "rib";
-       version = "0.3.0.0";
-       sha256 = "1dw86xrz310vrapgln48r46z0ss35jm85c0r95pqvnq4smbwiw18";
+       version = "0.4.1.0";
+       sha256 = "06rxf3fnj9csng69p815ff3wlrbh48wszjcdm7v2xg6vbild3xkg";
        libraryHaskellDepends = [
          aeson async base binary bytestring clay cmdargs containers
-         data-default fsnotify http-types lens lens-aeson lucid mtl pandoc
-         pandoc-include-code pandoc-types safe shake skylighting text time
-         wai wai-app-static wai-extra warp
+         data-default directory fsnotify http-types lens lens-aeson lucid
+         mtl pandoc pandoc-include-code pandoc-types safe shake skylighting
+         text time wai wai-app-static wai-extra warp
        ];
        description = "Static site generator using Shake";
        license = stdenv.lib.licenses.bsd3;
@@ -203982,10 +205091,12 @@ self: {
     ({ mkDerivation, base, Only, postgresql-simple, text, time }:
      mkDerivation {
        pname = "ribbit";
-       version = "0.4.0.0";
-       sha256 = "0nmpsi8b6m88za9jxawz36jjhsybn39ldi503ap7m9wd765j1dbz";
+       version = "0.4.1.0";
+       sha256 = "1pgyh7ar03k62mpn09g8qm13m1j07wq257hpva3f9sx9n5qd8z2a";
+       revision = "1";
+       editedCabalFile = "11ky88hgkys3bzsqr3sl9j685h6l97r2zccpz1ylinsrvinwnq8s";
        libraryHaskellDepends = [ base Only postgresql-simple text time ];
-       description = "Type-level Relational DB combinators";
+       description = "Type-level Relational DB language";
        license = stdenv.lib.licenses.mit;
      }) {};
 
@@ -204247,6 +205358,8 @@ self: {
        testHaskellDepends = [ base connections hedgehog property ];
        description = "Rings, semirings, and dioids";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "rio" = callPackage
@@ -205209,17 +206322,18 @@ self: {
   "rosa" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, lens
      , namecoin-update, optparse-applicative, text, unordered-containers
-     , vector, wreq
+     , uri-encode, vector, wreq
      }:
      mkDerivation {
        pname = "rosa";
-       version = "0.4.0.0";
-       sha256 = "0326ghscyg5rrw54610x8n6mkdr5pim3c7pspb01dg77gbzr0mrm";
+       version = "0.5.0.1";
+       sha256 = "1nk56nm6gcrcgi2i3x683i0ygbl8x5qc3xqhq14n2s5l45fmgw10";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          aeson base bytestring directory lens namecoin-update
-         optparse-applicative text unordered-containers vector wreq
+         optparse-applicative text unordered-containers uri-encode vector
+         wreq
        ];
        description = "Query the namecoin blockchain";
        license = stdenv.lib.licenses.gpl3;
@@ -207190,25 +208304,12 @@ self: {
     ({ mkDerivation, base, doctest }:
      mkDerivation {
        pname = "salve";
-       version = "1.0.6";
-       sha256 = "1vgpj0yg27n6hw1gb763hgxv99hpq7511n2ihys0qdi0ri8bpj1j";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base doctest ];
-       description = "Semantic version numbers and constraints";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "salve_1_0_8" = callPackage
-    ({ mkDerivation, base, doctest }:
-     mkDerivation {
-       pname = "salve";
        version = "1.0.8";
        sha256 = "1hgcyincccib0v671kd8qybgf8q9m0n8lcrpj37pgq9wzq6x34sm";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base doctest ];
        description = "Semantic version numbers and constraints";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "salvia" = callPackage
@@ -208342,6 +209443,8 @@ self: {
        ];
        description = "Work stealing scheduler";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "schedyield" = callPackage
@@ -208571,31 +209674,33 @@ self: {
      }) {};
 
   "scidb-hquery" = callPackage
-    ({ mkDerivation, alex, array, base, BNFC, bytestring, Cabal
-     , connection, cryptonite, data-default-class, directory, exceptions
-     , filepath, happy, haskeline, hostname-validate, HTTP, http-client
-     , http-client-tls, http-conduit, http-types, memory, mtl, network
-     , process, regex, safe, split, terminal-size, text, tls, x509-store
+    ({ mkDerivation, alex, array, base, base-compat, BNFC, bytestring
+     , Cabal, connection, cryptonite, data-default-class, directory
+     , exceptions, filepath, happy, haskeline, hostname-validate, HTTP
+     , http-client, http-client-tls, http-conduit, http-types, memory
+     , mtl, network, process, regex, safe, split, terminal-size, text
+     , tls, x509-store
      }:
      mkDerivation {
        pname = "scidb-hquery";
-       version = "2.8.0.434";
-       sha256 = "0q994ac1krcw312nklxxjr9d4r231s50lb2crbpph1swv6h8jwrq";
+       version = "2.8.0.436";
+       sha256 = "0mkicmfvwc7xg37d46s7xrcsdaff09v7x86npd1bgv1k60m4c8gq";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal filepath ];
        libraryHaskellDepends = [
-         array base bytestring connection cryptonite data-default-class
-         exceptions haskeline hostname-validate HTTP http-client
-         http-client-tls http-conduit http-types memory mtl network process
-         regex safe split terminal-size text tls x509-store
+         array base base-compat bytestring connection cryptonite
+         data-default-class exceptions haskeline hostname-validate HTTP
+         http-client http-client-tls http-conduit http-types memory mtl
+         network process regex safe split terminal-size text tls x509-store
        ];
        libraryToolDepends = [ alex BNFC happy ];
        executableHaskellDepends = [
-         array base bytestring connection cryptonite data-default-class
-         directory exceptions filepath haskeline hostname-validate HTTP
-         http-client http-client-tls http-conduit http-types memory mtl
-         network process regex safe split terminal-size text tls x509-store
+         array base base-compat bytestring connection cryptonite
+         data-default-class directory exceptions filepath haskeline
+         hostname-validate HTTP http-client http-client-tls http-conduit
+         http-types memory mtl network process regex safe split
+         terminal-size text tls x509-store
        ];
        description = "Haskell query for SciDB via shim";
        license = stdenv.lib.licenses.gpl3;
@@ -209408,6 +210513,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "sdl-try-drivers" = callPackage
+    ({ mkDerivation, base, pretty-simple, sdl2, text }:
+     mkDerivation {
+       pname = "sdl-try-drivers";
+       version = "0.0.0.1";
+       sha256 = "1zwcf6l2v3k8hi33ssij9a8x2wvlsp4lsa0x7qb9zaq4nbb8nsqj";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [ base pretty-simple sdl2 text ];
+       description = "small testing tool for sdl2 and accelerated drivers";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "sdl2" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, exceptions, linear
      , SDL2, StateVar, text, transformers, vector, weigh
@@ -210373,6 +211491,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "semialign-extras" = callPackage
+    ({ mkDerivation, base, doctest, lens, QuickCheck, semialign
+     , semialign-indexed, these, witherable
+     }:
+     mkDerivation {
+       pname = "semialign-extras";
+       version = "0.1.0.0";
+       sha256 = "0wnaspwfj9rm7g9mz2q9xad5a9rvkfsrjb5lir64csppy3p11276";
+       libraryHaskellDepends = [
+         base lens semialign semialign-indexed these witherable
+       ];
+       testHaskellDepends = [ base doctest QuickCheck ];
+       description = "Extra functions for working with Semialigns";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "semialign-indexed" = callPackage
     ({ mkDerivation, base, containers, hashable, lens, semialign, these
      , unordered-containers, vector
@@ -210455,6 +211591,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "semigroupoids_5_3_4" = callPackage
+    ({ mkDerivation, base, base-orphans, bifunctors, Cabal
+     , cabal-doctest, comonad, containers, contravariant, distributive
+     , doctest, hashable, tagged, template-haskell, transformers
+     , transformers-compat, unordered-containers
+     }:
+     mkDerivation {
+       pname = "semigroupoids";
+       version = "5.3.4";
+       sha256 = "0r49qpbi803jk3v4i09jr1a98l6hcgnjhrv1a9fhmay3ff4y9lh0";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         base base-orphans bifunctors comonad containers contravariant
+         distributive hashable tagged template-haskell transformers
+         transformers-compat unordered-containers
+       ];
+       testHaskellDepends = [ base doctest ];
+       description = "Semigroupoids: Category sans id";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "semigroupoids-syntax" = callPackage
     ({ mkDerivation, base, comonad, containers, contravariant
      , directory, distributive, doctest, filepath, QuickCheck
@@ -210558,10 +211716,8 @@ self: {
      }:
      mkDerivation {
        pname = "semiring-num";
-       version = "1.6.0.1";
-       sha256 = "1l9j59r0ph34fqkjw1gdf3yzyzk8p6362cznixzx6qnhphbkqjsi";
-       revision = "1";
-       editedCabalFile = "123jk59i4ziv6ghmy8349icpvzgw90xjd6dxzlnayf0qg01adzsr";
+       version = "1.6.0.4";
+       sha256 = "1wpszhdjh2hmgnfzwdsdai1xzq0y1panay9jz5sa82hg11p4wa44";
        libraryHaskellDepends = [
          base containers deepseq hashable log-domain scientific
          template-haskell time unordered-containers vector
@@ -211675,8 +212831,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-auth-token-api";
-       version = "0.5.3.0";
-       sha256 = "0i9i89a9h9xq6r23p6xxyf7ywgr90p2dyw8862qz0pdj0qdbbi5v";
+       version = "0.5.4.0";
+       sha256 = "1rjmhyskxypl9gm4g8yq9zfj91dmbz72qxmrijd1gjjv5s5cr91m";
        libraryHaskellDepends = [
          aeson aeson-injector base lens raw-strings-qq servant servant-docs
          servant-swagger swagger2 text
@@ -211880,6 +213036,37 @@ self: {
        pname = "servant-cli";
        version = "0.1.0.1";
        sha256 = "12d18ca90b7mijaav3glx60b9c9qd1f2g4p5m4m7hzz2m22dyimn";
+       revision = "1";
+       editedCabalFile = "1h29x87kqyylwigz86bwrgjdykk1119alsy65a7jkkcrj7a3syqa";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring case-insensitive containers filepath free
+         functor-combinators http-types optparse-applicative profunctors
+         recursion-schemes servant servant-client-core servant-docs text
+         transformers vinyl
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring containers http-client optparse-applicative
+         random servant servant-client servant-server text vinyl warp
+       ];
+       description = "Command line interface for Servant API clients";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "servant-cli_0_1_0_2" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, case-insensitive
+     , containers, filepath, free, functor-combinators, http-client
+     , http-types, optparse-applicative, profunctors, random
+     , recursion-schemes, servant, servant-client, servant-client-core
+     , servant-docs, servant-server, text, transformers, vinyl, warp
+     }:
+     mkDerivation {
+       pname = "servant-cli";
+       version = "0.1.0.2";
+       sha256 = "11pl9z3l2f7py16drqq9zvl9z5358jv1q7pqslhkhrqg5vhp822k";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -213831,8 +215018,8 @@ self: {
      }:
      mkDerivation {
        pname = "serverless-haskell";
-       version = "0.9.1";
-       sha256 = "09l9d43ls4ca10y0fx39l8bqsmb226sa0f5yprsm5jz5nbvl70qv";
+       version = "0.9.4";
+       sha256 = "11svl9km810xw4vbn3vd9jqnv9fglf5jqfyfshnjachiz38fdsih";
        libraryHaskellDepends = [
          aeson aeson-casing aeson-extra amazonka-core amazonka-kinesis
          amazonka-s3 base bytestring case-insensitive http-types iproute
@@ -214666,8 +215853,8 @@ self: {
      }:
      mkDerivation {
        pname = "sgd";
-       version = "0.8.0.2";
-       sha256 = "1lzfnzk2iqjrsp6xksfa4qm7a2qh4q1y10mdqigl8slr5nsy9045";
+       version = "0.8.0.3";
+       sha256 = "0nl7hiw9b25jgp2742ykx8f4c7irz1b7rd9i19vpcmshkkmqcvsl";
        libraryHaskellDepends = [
          base binary bytestring containers data-default deepseq filepath
          hmatrix logfloat monad-par mtl parallel pipes primitive random
@@ -214985,8 +216172,8 @@ self: {
     ({ mkDerivation, base, directory, shake }:
      mkDerivation {
        pname = "shake-ext";
-       version = "3.1.0.2";
-       sha256 = "04nhjq2s7iycjabh33jwbdc8pxdyxnfrwjvl1mxmwrx0zx96dbi9";
+       version = "3.1.1.0";
+       sha256 = "12pfi6rc4y8rjndym0crzyjfmcqnnrh61hww1vrnl614hs00iw6h";
        libraryHaskellDepends = [ base directory shake ];
        description = "Helper functions for linting with shake";
        license = stdenv.lib.licenses.bsd3;
@@ -215174,8 +216361,8 @@ self: {
      }:
      mkDerivation {
        pname = "shakespeare";
-       version = "2.0.22";
-       sha256 = "1mc1a0vv070gcawwcx6vzpj6gpfh1qnlqrndiyfic3p500y656vh";
+       version = "2.0.23";
+       sha256 = "0i1k6ahpvc45z05lycxs0f70ngm8xrazp6ayyxv1bzw8q8d4bkz3";
        libraryHaskellDepends = [
          aeson base blaze-html blaze-markup bytestring containers directory
          exceptions ghc-prim parsec process scientific template-haskell text
@@ -217776,6 +218963,28 @@ self: {
        broken = true;
      }) {};
 
+  "singular-factory" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, hgmp
+     , process, QuickCheck, random, singular-factory, tasty, tasty-hunit
+     , tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "singular-factory";
+       version = "0.1";
+       sha256 = "0gz9p32y37ci7i1xnq4n086p1ql5nli84z15xyq6dl1jaz0f541r";
+       libraryHaskellDepends = [
+         base containers directory filepath hgmp process text
+       ];
+       libraryPkgconfigDepends = [ singular-factory ];
+       testHaskellDepends = [
+         base QuickCheck random tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "Multivariate polynomial factorization via bindings to Singular-factory";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {singular-factory = null;};
+
   "sink" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -217900,8 +219109,8 @@ self: {
      }:
      mkDerivation {
        pname = "sitepipe";
-       version = "0.4.0.0";
-       sha256 = "0y8llic3imc1zs53glig24vjm59f2dnw4sw32gzkvlzq33689s7s";
+       version = "0.4.0.1";
+       sha256 = "1iq7i2zs1bqnxqjp5bwsx8q2vvp1kngwg45mzsiwmhzq4m88x80h";
        libraryHaskellDepends = [
          aeson base bytestring containers directory exceptions filepath Glob
          lens lens-aeson megaparsec MissingH mtl mustache
@@ -218327,14 +219536,14 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "skylighting_0_8_2_3" = callPackage
+  "skylighting_0_8_3" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers
      , skylighting-core
      }:
      mkDerivation {
        pname = "skylighting";
-       version = "0.8.2.3";
-       sha256 = "10byr42qnsrqs368li412n8zz405annwmh4vvq2yh6xskipgb32p";
+       version = "0.8.3";
+       sha256 = "1gsmbzgfxwsfvnk3mbd29llv5wkvn5v7ybs46y6kvf51sdf4v6i6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -218377,7 +219586,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "skylighting-core_0_8_2_3" = callPackage
+  "skylighting-core_0_8_3" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, attoparsec, base
      , base64-bytestring, binary, blaze-html, bytestring
      , case-insensitive, colour, containers, criterion, Diff, directory
@@ -218387,8 +219596,8 @@ self: {
      }:
      mkDerivation {
        pname = "skylighting-core";
-       version = "0.8.2.3";
-       sha256 = "005ancb8y846xsiagnb4gp4bn4h86r551rvpm3x4xj5zpr795pnc";
+       version = "0.8.3";
+       sha256 = "07l8n290wm533qp7h1kdn99b47f2lrq4mag2snfpllll8ss35773";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -218892,20 +220101,21 @@ self: {
   "small-bytearray-builder" = callPackage
     ({ mkDerivation, base, byteslice, bytestring, gauge
      , natural-arithmetic, primitive, primitive-offset, QuickCheck
-     , run-st, tasty, tasty-hunit, tasty-quickcheck, text, text-short
-     , vector
+     , quickcheck-classes, run-st, tasty, tasty-hunit, tasty-quickcheck
+     , text, text-short, vector, wide-word
      }:
      mkDerivation {
        pname = "small-bytearray-builder";
-       version = "0.3.0.0";
-       sha256 = "17c0mwanwj96djirh6vac9k5dh8qsl9inx237wwbln4j3br4mkz4";
+       version = "0.3.1.0";
+       sha256 = "1swv0cwsxrmffkvx16qxxxkxfhqfwxwfz7d2msp5fzzz6all6vli";
        libraryHaskellDepends = [
          base byteslice bytestring natural-arithmetic primitive
-         primitive-offset run-st text-short
+         primitive-offset run-st text-short wide-word
        ];
        testHaskellDepends = [
          base byteslice bytestring natural-arithmetic primitive QuickCheck
-         tasty tasty-hunit tasty-quickcheck text vector
+         quickcheck-classes tasty tasty-hunit tasty-quickcheck text vector
+         wide-word
        ];
        benchmarkHaskellDepends = [
          base byteslice gauge natural-arithmetic primitive text-short
@@ -219715,10 +220925,8 @@ self: {
      }:
      mkDerivation {
        pname = "snap-core";
-       version = "1.0.4.0";
-       sha256 = "0dklxgrbqhnb6bc4ic358g4fyj11ywmjrkxxhqcjmci2hhpn00mr";
-       revision = "1";
-       editedCabalFile = "1nw74vpfag6gdh66kq82a0kdb05c2xnwcfacwlcg77j24gxcgi6s";
+       version = "1.0.4.1";
+       sha256 = "19dmfqbsfyk1rkjnnrnajpjfam2xjxgmpfmx10yr5qffgza7gcf0";
        libraryHaskellDepends = [
          attoparsec base bytestring bytestring-builder case-insensitive
          containers directory filepath hashable HUnit io-streams lifted-base
@@ -221647,8 +222855,8 @@ self: {
     ({ mkDerivation, base, deepseq }:
      mkDerivation {
        pname = "some";
-       version = "1.0.0.3";
-       sha256 = "0c2y51gw94faafa0jvb3awnsvj89saan4ryy0d5dwivp0zp9gg64";
+       version = "1.0.1";
+       sha256 = "13dpvxswjcsmic8h2vayp77qzl820gg4g29g5n2xcja8gnzjkkii";
        libraryHaskellDepends = [ base deepseq ];
        testHaskellDepends = [ base ];
        description = "Existential type: Some";
@@ -221811,6 +223019,26 @@ self: {
        broken = true;
      }) {};
 
+  "souffle-haskell" = callPackage
+    ({ mkDerivation, base, hspec, mtl, template-haskell
+     , type-errors-pretty
+     }:
+     mkDerivation {
+       pname = "souffle-haskell";
+       version = "0.0.1";
+       sha256 = "1sz5xaw24fknq4y9a9cpp36h6fm46ipclp3nwmpqpnc5svsslgbz";
+       libraryHaskellDepends = [
+         base mtl template-haskell type-errors-pretty
+       ];
+       testHaskellDepends = [
+         base hspec mtl template-haskell type-errors-pretty
+       ];
+       description = "Souffle Datalog bindings for Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "sound-collage" = callPackage
     ({ mkDerivation, array, base, Cabal, carray, containers, fft
      , filepath, numeric-prelude, optparse-applicative, pathtype
@@ -223625,6 +224853,8 @@ self: {
        ];
        description = "A file-packing application";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "sr-extra" = callPackage
@@ -223932,6 +225162,8 @@ self: {
        libraryHaskellDepends = [ base gdp ghc-prim primitive ];
        description = "shared heap regions between local mutable state threads";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "stable-heap" = callPackage
@@ -224922,8 +226154,8 @@ self: {
      }:
      mkDerivation {
        pname = "standalone-haddock";
-       version = "1.3.0.0";
-       sha256 = "1s9b2frpsgvc7nghi314adga8z8rmj1x40j7cic2m3m88nqz3g77";
+       version = "1.4.0.0";
+       sha256 = "0ans74cbh592yramp50056n66cqn3fmyv4qkd1gz4awx6d6xryc1";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -225176,6 +226408,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "statestack_0_3" = callPackage
+    ({ mkDerivation, base, mtl, transformers, transformers-compat }:
+     mkDerivation {
+       pname = "statestack";
+       version = "0.3";
+       sha256 = "1b8yd314h8a97ggjv82cy4mr0f4scb5pjvslxq7hwxxq7cw7mgns";
+       libraryHaskellDepends = [
+         base mtl transformers transformers-compat
+       ];
+       description = "Simple State-like monad transformer with saveable and restorable state";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "statethread" = callPackage
     ({ mkDerivation, applicative, base, transformers }:
      mkDerivation {
@@ -226532,7 +227778,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "store_0_6_0_1" = callPackage
+  "store_0_7_1" = callPackage
     ({ mkDerivation, array, async, base, base-orphans
      , base64-bytestring, bifunctors, bytestring, cereal, cereal-vector
      , clock, containers, contravariant, criterion, cryptohash, deepseq
@@ -226546,8 +227792,8 @@ self: {
      }:
      mkDerivation {
        pname = "store";
-       version = "0.6.0.1";
-       sha256 = "0h64fm3rrz6c5bhg1bk9hvl7invjh24mrh7db4dsx12hc8vlz17p";
+       version = "0.7.1";
+       sha256 = "0mxvyy7l0vg545f3v1y5kh7q58ajhwz02fhfk0km2198bhsdfrij";
        libraryHaskellDepends = [
          array async base base-orphans base64-bytestring bifunctors
          bytestring containers contravariant cryptohash deepseq directory
@@ -226679,15 +227925,15 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "stratosphere_0_44_0" = callPackage
+  "stratosphere_0_46_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
      , hashable, hspec, hspec-discover, lens, template-haskell, text
      , unordered-containers
      }:
      mkDerivation {
        pname = "stratosphere";
-       version = "0.44.0";
-       sha256 = "10brxs6hs8s0nb17aycbpn4xhiixxhxnv1wgmkc4jy0pbbrp942w";
+       version = "0.46.0";
+       sha256 = "07qm0bi5f3fkpnbsjbyi4qv2kp7w0wb7zd75q4cikjwkm1wxlldr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -226867,12 +228113,12 @@ self: {
      }) {};
 
   "streamdeck" = callPackage
-    ({ mkDerivation, base, bytestring, hidapi, mtl }:
+    ({ mkDerivation, base, bytestring, hidapi, mtl, split }:
      mkDerivation {
        pname = "streamdeck";
-       version = "0.0.3";
-       sha256 = "1cjvdf9ld55pv7n9cx2c4rsczqjxkrx1mkci8aziz59bs2ipqhak";
-       libraryHaskellDepends = [ base bytestring hidapi mtl ];
+       version = "0.1.0";
+       sha256 = "0dg5hmv61jnpqby4v5g4wpsb7ynsm56fmb3xj2pixswnzqz31ian";
+       libraryHaskellDepends = [ base bytestring hidapi mtl split ];
        description = "Control library for the Elgato Stream Deck";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -227305,8 +228551,8 @@ self: {
      }:
      mkDerivation {
        pname = "streaming-postgresql-simple";
-       version = "0.2.0.3";
-       sha256 = "1gy6yy14q18zfbbj6rvsnhvhkra78m2jwbyd3hnpbx25jgvz230n";
+       version = "0.2.0.4";
+       sha256 = "1qdfqp1w7pszks4iqbvgqsxmr2c6bx81jgkyz9k8wfz7vajg6f67";
        libraryHaskellDepends = [
          base bytestring exceptions postgresql-libpq postgresql-simple
          resourcet safe-exceptions streaming transformers
@@ -227442,6 +228688,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "streamly_0_7_0" = callPackage
+    ({ mkDerivation, atomic-primops, base, containers, deepseq
+     , directory, exceptions, gauge, ghc-prim, heaps, hspec
+     , lockfree-queue, monad-control, mtl, network, QuickCheck, random
+     , transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "streamly";
+       version = "0.7.0";
+       sha256 = "1v9fndyh1bhdidwg9jpq4j10i5d1w9hw0rbhd69x8pd02gzqkpbh";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         atomic-primops base containers deepseq directory exceptions
+         ghc-prim heaps lockfree-queue monad-control mtl network
+         transformers transformers-base
+       ];
+       testHaskellDepends = [
+         base containers exceptions hspec mtl QuickCheck random transformers
+       ];
+       benchmarkHaskellDepends = [ base deepseq gauge random ];
+       description = "Beautiful Streaming, Concurrent and Reactive Composition";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "streamly-cassava" = callPackage
     ({ mkDerivation, base, bytestring, cassava, criterion, exceptions
      , hspec, mtl, QuickCheck, quickcheck-instances, streaming
@@ -228293,29 +229565,6 @@ self: {
      }:
      mkDerivation {
        pname = "strive";
-       version = "5.0.8";
-       sha256 = "0wfi3s8hv11xs0wpvbc9z4nsskdpg5q7ivcpci8cnhn20wffb0nn";
-       libraryHaskellDepends = [
-         aeson base bytestring data-default gpolyline http-client
-         http-client-tls http-types template-haskell text time transformers
-       ];
-       testHaskellDepends = [
-         aeson base bytestring data-default gpolyline http-client
-         http-client-tls http-types markdown-unlit template-haskell text
-         time transformers
-       ];
-       testToolDepends = [ markdown-unlit ];
-       description = "A client for the Strava V3 API";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "strive_5_0_9" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, data-default, gpolyline
-     , http-client, http-client-tls, http-types, markdown-unlit
-     , template-haskell, text, time, transformers
-     }:
-     mkDerivation {
-       pname = "strive";
        version = "5.0.9";
        sha256 = "1022ir4m0r43717rdb1miynd61mfkfd3mp0dcv5ryb983znn3ag2";
        libraryHaskellDepends = [
@@ -228330,7 +229579,6 @@ self: {
        testToolDepends = [ markdown-unlit ];
        description = "A client for the Strava V3 API";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "strongswan-sql" = callPackage
@@ -228384,8 +229632,8 @@ self: {
        pname = "structs";
        version = "0.1.2";
        sha256 = "0myv13g48y8vn397lvg45lb942fmw4n9gs80v5nnjfvgika7qbw4";
-       revision = "1";
-       editedCabalFile = "1snsprlbv9npn06iliy937vxqpsjpcmv880bnkbzj3nz4c6c59pa";
+       revision = "2";
+       editedCabalFile = "0ma2s0by622kaq7p57g859pxha02bqrd7n86cczfb2gzcm7kqma7";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base deepseq ghc-prim primitive template-haskell
@@ -228673,18 +229921,18 @@ self: {
 
   "stylist" = callPackage
     ({ mkDerivation, base, css-syntax, hashable, hspec, network-uri
-     , QuickCheck, text, unordered-containers
+     , QuickCheck, scientific, text, unordered-containers
      }:
      mkDerivation {
        pname = "stylist";
-       version = "1.0.0.0";
-       sha256 = "0lh8x8wqq4rsy4zn025qhs6jr9iaw65xqpbrk233h620prj23525";
+       version = "1.1.0.0";
+       sha256 = "1sgfyslbsppndgbywlqynzfxd63y6vr9mig6d76czh427qvn7qpp";
        libraryHaskellDepends = [
          base css-syntax hashable network-uri text unordered-containers
        ];
        testHaskellDepends = [
-         base css-syntax hashable hspec network-uri QuickCheck text
-         unordered-containers
+         base css-syntax hashable hspec network-uri QuickCheck scientific
+         text unordered-containers
        ];
        description = "Apply CSS styles to a document tree";
        license = stdenv.lib.licenses.mit;
@@ -229982,6 +231230,39 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "swagger2_2_5" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, base-compat-batteries
+     , bytestring, Cabal, cabal-doctest, containers, cookie, doctest
+     , generics-sop, Glob, hashable, hspec, hspec-discover, http-media
+     , HUnit, insert-ordered-containers, lens, mtl, network, optics-core
+     , optics-th, QuickCheck, quickcheck-instances, scientific
+     , template-haskell, text, time, transformers, transformers-compat
+     , unordered-containers, utf8-string, uuid-types, vector
+     }:
+     mkDerivation {
+       pname = "swagger2";
+       version = "2.5";
+       sha256 = "0ywj4536daz43vrxibqn271gq96bzkawx3qcwbm547315jfd4fqf";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         aeson aeson-pretty base base-compat-batteries bytestring containers
+         cookie generics-sop hashable http-media insert-ordered-containers
+         lens mtl network optics-core optics-th QuickCheck scientific
+         template-haskell text time transformers transformers-compat
+         unordered-containers uuid-types vector
+       ];
+       testHaskellDepends = [
+         aeson base base-compat-batteries bytestring containers doctest Glob
+         hashable hspec HUnit insert-ordered-containers lens mtl QuickCheck
+         quickcheck-instances template-haskell text time
+         unordered-containers utf8-string vector
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Swagger 2.0 data model";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "swapper" = callPackage
     ({ mkDerivation, base, binary, bytestring, deepseq, happstack-data
      , happstack-state, parallel, tokyocabinet
@@ -230568,7 +231849,7 @@ self: {
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {inherit (pkgs) gmp; inherit (pkgs) gmpxx; 
+     }) {inherit (pkgs) gmp; inherit (pkgs) gmpxx;
          inherit (pkgs) symengine;};
 
   "symengine-hs" = callPackage
@@ -230588,7 +231869,7 @@ self: {
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {inherit (pkgs) gmp; inherit (pkgs) gmpxx; 
+     }) {inherit (pkgs) gmp; inherit (pkgs) gmpxx;
          inherit (pkgs) symengine;};
 
   "symmetric-properties" = callPackage
@@ -231939,8 +233220,8 @@ self: {
        pname = "tagged";
        version = "0.8.6";
        sha256 = "1pciqzxf9ncv954v4r527xkxkn7r5hcr13mfw5dg1xjci3qdw5md";
-       revision = "1";
-       editedCabalFile = "070xwfw7y81hd63il76dmwbdl9ca1rd07c54zynfx6vpr4wyx4vh";
+       revision = "2";
+       editedCabalFile = "1y8z8hmm846z7h3wqncpi0d4zhsnkwf08q0wchivkjw8di7ahz0z";
        libraryHaskellDepends = [
          base deepseq template-haskell transformers
        ];
@@ -232234,8 +233515,8 @@ self: {
      }:
      mkDerivation {
        pname = "tagsoup-navigate";
-       version = "0.1.0.2";
-       sha256 = "16n0s9vpwrnbknm9yfsh3qv2j3k1h579fwfqjbr1kzjn40729348";
+       version = "0.1.0.4";
+       sha256 = "1mds95a0xz3iklidmvczjpmm9vjhzdrdvcj3dg0n3ivwwli672m9";
        libraryHaskellDepends = [
          base deriving-compat lens mmorph mtl semigroupoids semigroups
          tagsoup tagsoup-selection transformers
@@ -232842,8 +234123,8 @@ self: {
        pname = "taskwarrior";
        version = "0.1.0.0";
        sha256 = "0af58ns601bqih7nvg614wclxvd2f9j3rqakz9djjybdk1771j2v";
-       revision = "1";
-       editedCabalFile = "0idswz48jgl48grmbbynh1447bblw99wpqifjcwr6apcl63hrn3a";
+       revision = "3";
+       editedCabalFile = "1b2v1rl2impngxn8bw9j36nr0id4s5dy6pnj0nw5p69mfb046zd5";
        libraryHaskellDepends = [
          aeson base bytestring process string-interpolate text time
          unordered-containers uuid
@@ -233375,14 +234656,16 @@ self: {
      }:
      mkDerivation {
        pname = "tasty-tap";
-       version = "0.0.4";
-       sha256 = "0xgz5qyvaabj13jnb5ry1i05c9lldnhaqnyxd9sz7kbvdwsycpn8";
+       version = "0.1.0";
+       sha256 = "16i7pd0xis1fyqgmsy4mq04y87ny61dh2lddnjijcf1s9jz9b6x8";
        libraryHaskellDepends = [ base containers stm tasty ];
        testHaskellDepends = [
          base directory tasty tasty-golden tasty-hunit
        ];
        description = "TAP (Test Anything Protocol) Version 13 formatter for tasty";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "tasty-test-vector" = callPackage
@@ -233418,8 +234701,8 @@ self: {
      }:
      mkDerivation {
        pname = "tasty-tmux";
-       version = "0.1.0.1";
-       sha256 = "07jx1ik8bmirc6ycimzv763kfqvhi712ivk32npw5iprpn94k6h2";
+       version = "0.1.0.2";
+       sha256 = "0lksanhb1nsk45vqg1h9jigllfg0lrqsynxkplh8lyx6g8k0naav";
        libraryHaskellDepends = [
          base bytestring mtl regex-posix tasty tasty-hunit text
          typed-process
@@ -234773,8 +236056,8 @@ self: {
      }:
      mkDerivation {
        pname = "terminal-punch";
-       version = "0.1.1";
-       sha256 = "11z6jb130300yjkrl511960anjac9ncc3g1yj6jqpah6j2imsa8s";
+       version = "0.1.3";
+       sha256 = "1hc8gl0bjrz8h9nfrvlkxbkgys62xr7mcdk22lm8dc1cl8y42nkv";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -234892,7 +236175,7 @@ self: {
        description = "Terminal emulator configurable in Haskell";
        license = stdenv.lib.licenses.bsd3;
        maintainers = with stdenv.lib.maintainers; [ cdepillabout ];
-     }) {inherit (pkgs) gtk3; inherit (pkgs) pcre2; 
+     }) {inherit (pkgs) gtk3; inherit (pkgs) pcre2;
          vte_291 = pkgs.vte;};
 
   "termplot" = callPackage
@@ -235646,6 +236929,29 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
+  "texmath_0_12" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , mtl, pandoc-types, parsec, process, syb, temporary, text
+     , utf8-string, xml
+     }:
+     mkDerivation {
+       pname = "texmath";
+       version = "0.12";
+       sha256 = "09c1ga3nw0r0wcw84lf862mp02h5ykhprm2wawrqfhklfyl1a6ay";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers mtl pandoc-types parsec syb text xml
+       ];
+       testHaskellDepends = [
+         base bytestring directory filepath process temporary text
+         utf8-string xml
+       ];
+       description = "Conversion between formats used to represent mathematics";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "texrunner" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, directory, filepath
      , HUnit, io-streams, lens, mtl, process, semigroups, temporary
@@ -236380,39 +237686,6 @@ self: {
      }:
      mkDerivation {
        pname = "text-show-instances";
-       version = "3.8.2";
-       sha256 = "075a2dzbdkh13q9a1w4v0dm40rqrv1wq8nsqh4g4872h29df5mka";
-       libraryHaskellDepends = [
-         base base-compat-batteries bifunctors binary containers directory
-         ghc-boot-th haskeline hpc old-locale old-time pretty random
-         semigroups tagged template-haskell terminfo text text-short
-         text-show time transformers transformers-compat unix
-         unordered-containers vector xhtml
-       ];
-       testHaskellDepends = [
-         base base-compat-batteries bifunctors binary containers directory
-         generic-deriving ghc-boot-th ghc-prim haskeline hpc hspec
-         old-locale old-time pretty QuickCheck quickcheck-instances random
-         tagged template-haskell terminfo text-short text-show th-orphans
-         time transformers transformers-compat unix unordered-containers
-         vector xhtml
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "Additional instances for text-show";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "text-show-instances_3_8_3" = callPackage
-    ({ mkDerivation, base, base-compat-batteries, bifunctors, binary
-     , containers, directory, generic-deriving, ghc-boot-th, ghc-prim
-     , haskeline, hpc, hspec, hspec-discover, old-locale, old-time
-     , pretty, QuickCheck, quickcheck-instances, random, semigroups
-     , tagged, template-haskell, terminfo, text, text-short, text-show
-     , th-orphans, time, transformers, transformers-compat, unix
-     , unordered-containers, vector, xhtml
-     }:
-     mkDerivation {
-       pname = "text-show-instances";
        version = "3.8.3";
        sha256 = "11v335p3wzf9ijqlkls5mk4m16dfak8fckn4gj7mahs8c7l9lm5d";
        libraryHaskellDepends = [
@@ -236433,7 +237706,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Additional instances for text-show";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "text-stream-decode" = callPackage
@@ -236786,6 +238058,8 @@ self: {
        pname = "th-abstraction";
        version = "0.3.1.0";
        sha256 = "1f81w0gshvc816cf9qz0f19jsrzh6wpzmmy317xrgn63dv61p7jb";
+       revision = "1";
+       editedCabalFile = "1c0sy614vfcdvshn0z09nzfiq89v5if31yvvpxzrivrdy9gf912s";
        libraryHaskellDepends = [
          base containers ghc-prim template-haskell
        ];
@@ -237022,8 +238296,8 @@ self: {
      }:
      mkDerivation {
        pname = "th-format";
-       version = "0.1.2.0";
-       sha256 = "1wc9ndqv2qxk75b47s44j0lrx5h9hc1r4h1nvl01pbdks6yyi43j";
+       version = "0.1.3.0";
+       sha256 = "0ckyf5r5sz3x8ixj5nclqsi6ifk7zz08b6wf09gbwb4gbydklw7c";
        libraryHaskellDepends = [
          base Earley haskell-src-meta template-haskell text
        ];
@@ -237179,6 +238453,8 @@ self: {
        pname = "th-orphans";
        version = "0.13.9";
        sha256 = "1xj1gssv77hdx1r3ndg8k49v3ipj3a6r7crkyvx13jrps3m6ng1z";
+       revision = "1";
+       editedCabalFile = "100gpi0np50vxlapyl6d05w8ss9l2gqacn28i228hsvhvrxxwjdy";
        libraryHaskellDepends = [
          base mtl template-haskell th-lift th-lift-instances th-reify-many
        ];
@@ -237295,14 +238571,14 @@ self: {
 
   "th-tc" = callPackage
     ({ mkDerivation, base, containers, lens, mtl, template-haskell
-     , transformers
+     , th-orphans, transformers
      }:
      mkDerivation {
        pname = "th-tc";
-       version = "0.1.1.0";
-       sha256 = "0i2j3iwr5az4hmxhnanh6zrvi1k51jjmwaly4z3rw3h4n717qa2m";
+       version = "0.2.1.0";
+       sha256 = "1wgvglb6k73mslrw1whxyqgxp90l042lm4865qdgvvbli5gk5dva";
        libraryHaskellDepends = [
-         base containers lens mtl template-haskell transformers
+         base containers lens mtl template-haskell th-orphans transformers
        ];
        description = "Typechecking in Template Haskell";
        license = stdenv.lib.licenses.bsd3;
@@ -237941,8 +239217,8 @@ self: {
      }:
      mkDerivation {
        pname = "thrift";
-       version = "0.12.0";
-       sha256 = "1yzfq671apw3mjaws16a6agjw3vpm7yz0gdp3kyh8vvbp5d0czyf";
+       version = "0.13.0";
+       sha256 = "005gaw3n548l7ij8m2di2b7nmfz2sg6nhafb3xjccw9wgwzl9qs2";
        libraryHaskellDepends = [
          attoparsec base base64-bytestring binary bytestring containers
          ghc-prim hashable hspec-core HTTP network network-uri QuickCheck
@@ -238273,8 +239549,8 @@ self: {
      }:
      mkDerivation {
        pname = "tidal";
-       version = "1.4.4";
-       sha256 = "0ibaq9gyn0iz00jsdmifw5fcj4f01l6z8ds13gxz365r1wgcn2pj";
+       version = "1.4.5";
+       sha256 = "146nhi2y8c5acqmkhgh4f1bb3wrasba0i1w4v2vwnbznpdv6cxs1";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bifunctors bytestring clock colour containers deepseq hosc
@@ -239153,8 +240429,8 @@ self: {
     ({ mkDerivation, base, hspec }:
      mkDerivation {
        pname = "timers-tick";
-       version = "0.4.1.0";
-       sha256 = "1dbkgsvzfxgf4cgkzlmn1dcjw3rb7rrx56ix7n5r1k42n0wsyfsg";
+       version = "0.4.2.0";
+       sha256 = "079pgfgpgdmn9yqyd81rz615a035zjw24na8q332m1ld51xc0n8f";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec ];
        description = "tick based timers";
@@ -239898,25 +241174,36 @@ self: {
        broken = true;
      }) {};
 
-  "tmp-postgres_1_4_0_0" = callPackage
-    ({ mkDerivation, async, base, bytestring, containers, directory
-     , either, generic-monoid, hspec, mtl, port-utils, postgres-options
-     , postgresql-libpq, postgresql-simple, process, temporary
+  "tmp-postgres_1_23_0_3" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, async, base, base64-bytestring
+     , bytestring, containers, criterion, cryptohash-sha1, deepseq
+     , directory, generic-monoid, hspec, mtl, network, port-utils
+     , postgres-options, postgresql-simple, process, stm, temporary
      , transformers, unix
      }:
      mkDerivation {
        pname = "tmp-postgres";
-       version = "1.4.0.0";
-       sha256 = "1jh2w600qw2zjfgja4ys0w28w2vaxhqr22fz9njzckpx2404d7gm";
+       version = "1.23.0.3";
+       sha256 = "1fjp6021lxz1a2drd1f9g3n7sxdrq17wgc2cbjiihcqrjld5qqs0";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
-         async base bytestring containers directory either generic-monoid
-         port-utils postgres-options postgresql-simple process temporary
+         ansi-wl-pprint async base base64-bytestring bytestring containers
+         cryptohash-sha1 deepseq directory generic-monoid port-utils
+         postgres-options postgresql-simple process stm temporary
          transformers unix
        ];
+       executableHaskellDepends = [
+         async base directory postgres-options postgresql-simple process
+         temporary
+       ];
        testHaskellDepends = [
-         base bytestring containers directory either hspec mtl port-utils
-         postgres-options postgresql-libpq postgresql-simple process
-         temporary transformers unix
+         base containers directory generic-monoid hspec mtl network
+         port-utils postgres-options postgresql-simple process temporary
+         unix
+       ];
+       benchmarkHaskellDepends = [
+         base criterion deepseq postgres-options postgresql-simple
        ];
        description = "Start and stop a temporary postgres";
        license = stdenv.lib.licenses.bsd3;
@@ -240380,6 +241667,8 @@ self: {
        pname = "tomland";
        version = "1.2.1.0";
        sha256 = "0bzwmk3zw2lzhppgr73b5v3i4qz0hxn1zag665vpakq6knssj7qy";
+       revision = "1";
+       editedCabalFile = "00lb4ivrqrj5yqnfz5ji3vjaa284img9xhkjvrzc291bs83vl4kr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -240793,10 +242082,10 @@ self: {
     ({ mkDerivation, base, containers, semiring-num }:
      mkDerivation {
        pname = "total-map";
-       version = "0.1.0";
-       sha256 = "0fqgazhs3ppv4ywdxjrhrdzp5z1szgkq4l0lqpbzqwrhi7axgl69";
+       version = "0.1.3";
+       sha256 = "015bj6g4hjp38fc8bm5z57w6akdgvyab6j2sc666x0qdxgrdwp88";
        libraryHaskellDepends = [ base containers semiring-num ];
-       description = "Finitely represented /total/ maps";
+       description = "Finitely represented total maps";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -241916,27 +243205,12 @@ self: {
      }:
      mkDerivation {
        pname = "traverse-with-class";
-       version = "1.0.0.0";
-       sha256 = "1fqz35kaffq79qs7kgdx2bml2a99x6k87hlczsfjcs1bcpqj18k5";
-       libraryHaskellDepends = [ base template-haskell transformers ];
-       testHaskellDepends = [ base tasty tasty-hunit ];
-       description = "Generic applicative traversals";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "traverse-with-class_1_0_1_0" = callPackage
-    ({ mkDerivation, base, tasty, tasty-hunit, template-haskell
-     , transformers
-     }:
-     mkDerivation {
-       pname = "traverse-with-class";
        version = "1.0.1.0";
        sha256 = "1yni197sxfpsjvjablhn8mjqpp1mz0v30r73f9ncs3pjcl93g6yn";
        libraryHaskellDepends = [ base template-haskell transformers ];
        testHaskellDepends = [ base tasty tasty-hunit ];
        description = "Generic applicative traversals";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "travis" = callPackage
@@ -242109,8 +243383,8 @@ self: {
      }:
      mkDerivation {
        pname = "tree-sitter";
-       version = "0.5.0.0";
-       sha256 = "0gf2mcrrib4id0374hs9mf24g09d4rz7nrrgf92ls7b8279xvjkd";
+       version = "0.6.0.0";
+       sha256 = "1kdx7axkx34h6jlmpzvmqbabyiqj3yp78bl1qn6aj5c2mql4hi12";
        libraryHaskellDepends = [
          aeson base bytestring containers directory filepath fused-effects
          semantic-source split template-haskell text unordered-containers
@@ -242153,26 +243427,35 @@ self: {
      }) {};
 
   "tree-sitter-java" = callPackage
-    ({ mkDerivation, base, template-haskell, tree-sitter }:
+    ({ mkDerivation, base, bytestring, pathtype, semantic-source, tasty
+     , tasty-hunit, template-haskell, text, tree-sitter
+     , tree-sitter-test-helpers
+     }:
      mkDerivation {
        pname = "tree-sitter-java";
-       version = "0.4.0.0";
-       sha256 = "0v8mw4slp6rgyw2h3qpqkjqs13kg8dcigq7014dh77h804plk0w7";
+       version = "0.5.0.0";
+       sha256 = "0rmmsp1alyvc94f61qfha5wm0z2605n9wz3yxaac58bqghsqjx8f";
        enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ base template-haskell tree-sitter ];
+       libraryHaskellDepends = [
+         base semantic-source template-haskell tree-sitter
+       ];
+       testHaskellDepends = [
+         base bytestring pathtype tasty tasty-hunit text tree-sitter
+         tree-sitter-test-helpers
+       ];
        doHaddock = false;
        description = "Tree-sitter grammar/parser for Java";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {};
+     }) {tree-sitter-test-helpers = null;};
 
   "tree-sitter-json" = callPackage
     ({ mkDerivation, base, template-haskell, text, tree-sitter }:
      mkDerivation {
        pname = "tree-sitter-json";
-       version = "0.3.0.0";
-       sha256 = "09489gikbmddw28ckgf6mg526j43386sdilvb7gzs5x9kc86sd4q";
+       version = "0.4.0.0";
+       sha256 = "1syd5md8gwxhcfqwvfy4f3rilpn8fr83ib54wa3mmf7165jscwpz";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base template-haskell text tree-sitter ];
        doHaddock = false;
@@ -242198,24 +243481,29 @@ self: {
 
   "tree-sitter-python" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, filepath
-     , hedgehog, semantic-source, template-haskell, tree-sitter
+     , hedgehog, pathtype, semantic-source, tasty, tasty-hedgehog
+     , tasty-hunit, template-haskell, text, tree-sitter
+     , tree-sitter-test-helpers
      }:
      mkDerivation {
        pname = "tree-sitter-python";
-       version = "0.6.0.0";
-       sha256 = "041qrxdkn19x9h0vcjb0jvc6d0mp6ysdak7i4yqqww683npxjkp1";
+       version = "0.7.0.0";
+       sha256 = "0s86c4jbfp8dbkkqxdq9k28xphx5vrkf2ss1xzjq88bkzz6q7hqy";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base directory filepath semantic-source template-haskell
          tree-sitter
        ];
-       testHaskellDepends = [ base bytestring hedgehog tree-sitter ];
+       testHaskellDepends = [
+         base bytestring hedgehog pathtype tasty tasty-hedgehog tasty-hunit
+         text tree-sitter tree-sitter-test-helpers
+       ];
        doHaddock = false;
        description = "Tree-sitter grammar/parser for Python";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {};
+     }) {tree-sitter-test-helpers = null;};
 
   "tree-sitter-ruby" = callPackage
     ({ mkDerivation, base, template-haskell, tree-sitter }:
@@ -243920,6 +245208,8 @@ self: {
        ];
        description = "Haskell twirp foundations";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "twisty" = callPackage
@@ -244062,8 +245352,8 @@ self: {
      }:
      mkDerivation {
        pname = "twitter-types";
-       version = "0.9.0";
-       sha256 = "0hfm2zdgvpkfn06x140pnnbylmgram3i5zqf62c4yg6khi78m7hg";
+       version = "0.10.0";
+       sha256 = "0a2wgidg5dk3cxszb0q07cg0sywqgyxl5scswlr91yjvmjmlnkby";
        libraryHaskellDepends = [
          aeson base text time unordered-containers
        ];
@@ -244084,8 +245374,8 @@ self: {
      }:
      mkDerivation {
        pname = "twitter-types-lens";
-       version = "0.9.0";
-       sha256 = "0xp6dwzw0mba4i6vq1sginn7d6ini2c3ig2ss0pn1m0sjwj8x7yq";
+       version = "0.10.0";
+       sha256 = "1x9w68mr6r6354in9l4vmawk5symvfh2qlhjn2gd30m8b1mzbrjg";
        libraryHaskellDepends = [
          base lens template-haskell text time twitter-types
        ];
@@ -245421,8 +246711,8 @@ self: {
      }:
      mkDerivation {
        pname = "tz";
-       version = "0.1.3.2";
-       sha256 = "0k35pw27a3hwg5wqjpfqij0y7rkdlmd85n4kj4ckna4z2v86dl7h";
+       version = "0.1.3.3";
+       sha256 = "1cnin3dlk6xmvk5cz1sjj88djdv1rq87hvwmhc2dj22hgbs3p3ni";
        libraryHaskellDepends = [
          base binary bytestring containers data-default deepseq
          template-haskell time tzdata vector
@@ -246203,12 +247493,16 @@ self: {
      }) {};
 
   "unexceptionalio" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, HUnit, test-framework, test-framework-hunit
+     }:
      mkDerivation {
        pname = "unexceptionalio";
-       version = "0.4.0";
-       sha256 = "09gynk472l7nn5l2w320n4dwigwp0wh0shfp6dyw6r5h2jdxz18p";
+       version = "0.5.0";
+       sha256 = "04jrmv075cas6qs58m3j0q9h4w14kd4b87bp42k3x3v6hcl62xi9";
        libraryHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base HUnit test-framework test-framework-hunit
+       ];
        description = "IO without any non-error, synchronous exceptions";
        license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -246218,8 +247512,8 @@ self: {
     ({ mkDerivation, base, transformers, unexceptionalio }:
      mkDerivation {
        pname = "unexceptionalio-trans";
-       version = "0.4.0";
-       sha256 = "19jzvxx0z4w7d1mp09spiz01sd349376hf5xkg8r2zfr8fx7hj71";
+       version = "0.5.0";
+       sha256 = "1sd5q97zjk1qkffbhj4rzdrvwwz4q7b6vwrmb6mpkbg7ra4ks49p";
        libraryHaskellDepends = [ base transformers unexceptionalio ];
        description = "A wrapper around UnexceptionalIO using monad transformers";
        license = "unknown";
@@ -247206,7 +248500,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "universum_1_6_0" = callPackage
+  "universum_1_6_1" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, doctest
      , gauge, ghc-prim, Glob, hashable, hedgehog, microlens
      , microlens-mtl, mtl, safe-exceptions, stm, tasty, tasty-hedgehog
@@ -247214,8 +248508,8 @@ self: {
      }:
      mkDerivation {
        pname = "universum";
-       version = "1.6.0";
-       sha256 = "12gz4hpwmykb73dplbd8j628f54ipk0pygrswy0k1k7j68awnjl6";
+       version = "1.6.1";
+       sha256 = "007nh8kw5a2m681bjwvcdjdf69nb768kwdsckj2kdd7406mfgdm7";
        libraryHaskellDepends = [
          base bytestring containers deepseq ghc-prim hashable microlens
          microlens-mtl mtl safe-exceptions stm text transformers
@@ -248634,8 +249928,8 @@ self: {
      }:
      mkDerivation {
        pname = "userid";
-       version = "0.1.3.3";
-       sha256 = "1p1dfbr68bkn09zpy50i1xazvfblds46bs60vra2sqn4hv8vj0s9";
+       version = "0.1.3.4";
+       sha256 = "149c32v5fa4aqkknqwlamf1r06ki0g0q03nbsc0giaw5qsavf7x1";
        libraryHaskellDepends = [
          aeson base boomerang cereal safecopy web-routes web-routes-th
        ];
@@ -250381,6 +251675,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "vector-algorithms_0_8_0_2" = callPackage
+    ({ mkDerivation, base, bytestring, containers, mwc-random
+     , primitive, QuickCheck, vector
+     }:
+     mkDerivation {
+       pname = "vector-algorithms";
+       version = "0.8.0.2";
+       sha256 = "05jc15ckdmh4hbwmqax8jyahqslj7c03la1vgz5a5gw0hwspyq34";
+       libraryHaskellDepends = [ base bytestring primitive vector ];
+       testHaskellDepends = [
+         base bytestring containers QuickCheck vector
+       ];
+       benchmarkHaskellDepends = [ base mwc-random vector ];
+       description = "Efficient algorithms for vector arrays";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "vector-binary" = callPackage
     ({ mkDerivation, base, binary, vector }:
      mkDerivation {
@@ -254818,23 +256130,23 @@ self: {
 
   "web-rep" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bifunctors, box, clay
-     , foldl, formatting, generic-lens, interpolatedstring-perl6
-     , javascript-bridge, JuicyPixels, language-javascript, lens, lucid
-     , lucid-svg, mmorph, mtl, optparse-generic, protolude, scotty
-     , streaming, tasty, tasty-hspec, text, transformers
+     , foldl, generic-lens, interpolatedstring-perl6, javascript-bridge
+     , JuicyPixels, language-javascript, lens, lucid, lucid-svg, mmorph
+     , mtl, optparse-generic, protolude, scotty, streaming, tasty
+     , tasty-hspec, text, text-format, transformers
      , unordered-containers, wai, wai-extra, wai-middleware-static
      }:
      mkDerivation {
        pname = "web-rep";
-       version = "0.1.2";
-       sha256 = "170n5x5niimb5blgpr53ckfv6lr1dfnkzy17i6fn18gp7g1hxx85";
+       version = "0.1.3";
+       sha256 = "174q9zaznsy5v9zypxxf6c5xi5syyhdzmwgi07siqp07in8w1jvf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson attoparsec base bifunctors box clay foldl formatting
-         generic-lens interpolatedstring-perl6 javascript-bridge JuicyPixels
+         aeson attoparsec base bifunctors box clay foldl generic-lens
+         interpolatedstring-perl6 javascript-bridge JuicyPixels
          language-javascript lens lucid lucid-svg mmorph mtl protolude
-         scotty streaming text transformers unordered-containers
+         scotty streaming text text-format transformers unordered-containers
          wai-middleware-static
        ];
        executableHaskellDepends = [
@@ -254857,8 +256169,8 @@ self: {
      }:
      mkDerivation {
        pname = "web-routes";
-       version = "0.27.14.2";
-       sha256 = "0jpps7ay2hw41595hlfrx5k4lh9p2nib02n3rhd1vphpbnf392xg";
+       version = "0.27.14.3";
+       sha256 = "1a66m261ilqafbwwgjvalh3rz38qxcwxw9a99wr18lm0ah27lvx4";
        libraryHaskellDepends = [
          base blaze-builder bytestring exceptions ghc-prim http-types mtl
          parsec split text utf8-string
@@ -254898,8 +256210,8 @@ self: {
      }:
      mkDerivation {
        pname = "web-routes-happstack";
-       version = "0.23.11";
-       sha256 = "0jzxcwh3g6y5y4whjbw86y94hfrl73iwnwhhm728l69z5knqry9y";
+       version = "0.23.12";
+       sha256 = "0p5fa2cdpk6s9n0wa7nllhk1naa3a8a8vx63q6da8ifk6x8jn68a";
        libraryHaskellDepends = [
          base bytestring happstack-server text web-routes
        ];
@@ -254965,8 +256277,8 @@ self: {
      }:
      mkDerivation {
        pname = "web-routes-th";
-       version = "0.22.6.4";
-       sha256 = "0r0z39hdxm3ggqq9n71wy0k44gb27zpka4pnmp07855czc4l61ca";
+       version = "0.22.6.5";
+       sha256 = "1amzab59hhd723clg9skcn5nhwvlw1la1acc9qdbyg302a75s0l9";
        libraryHaskellDepends = [
          base parsec split template-haskell text web-routes
        ];
@@ -255851,6 +257163,8 @@ self: {
        ];
        description = "A school-timetable problem-solver";
        license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "weigh" = callPackage
@@ -256346,6 +257660,8 @@ self: {
        pname = "windns";
        version = "0.1.0.1";
        sha256 = "016d1cf51jqvhbzlf5kbizv4l4dymradac1420rl47q2k5faczq8";
+       revision = "1";
+       editedCabalFile = "17d44pzi4q5yvrygimdrwdrabz62s1ylw918w28sxgcvj64ir22g";
        libraryHaskellDepends = [ base bytestring deepseq ];
        librarySystemDepends = [ dnsapi ];
        description = "Domain Name Service (DNS) lookup via the <windns.h>/dnsapi.dll standard library";
@@ -257038,8 +258354,8 @@ self: {
      }:
      mkDerivation {
        pname = "wordchoice";
-       version = "0.1.2.7";
-       sha256 = "06xz5xk14fiy1z4j6q7lbjwj13m4hy22pzrcdwk6c078w85rp4yd";
+       version = "0.1.2.8";
+       sha256 = "0ncs3g174db6508fic7x2xibvkccmz068g6hizp8fi20bwxb9js8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -257895,10 +259211,8 @@ self: {
      }:
      mkDerivation {
        pname = "wss-client";
-       version = "0.2.1.1";
-       sha256 = "1wgqd8hh22ld72c1ccfr191ydqb5fija6c1l0vbg7n8pldhmi92w";
-       revision = "1";
-       editedCabalFile = "03q6mpdy93y8kjmjcxpjasg6q1mg64az28z99gm2w2iih3mqa702";
+       version = "0.3.0.0";
+       sha256 = "1licynhnyhfdq4gxpsya3gaypjs9inqzr2xqmjs9f99ymbvin8d8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -258045,20 +259359,6 @@ self: {
      }:
      mkDerivation {
        pname = "wuss";
-       version = "1.1.14";
-       sha256 = "1r0ljrp7kfksvmm4029b633cypdg5lqk5nga31si22bi5yz7fkiq";
-       libraryHaskellDepends = [
-         base bytestring connection network websockets
-       ];
-       description = "Secure WebSocket (WSS) clients";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "wuss_1_1_15" = callPackage
-    ({ mkDerivation, base, bytestring, connection, network, websockets
-     }:
-     mkDerivation {
-       pname = "wuss";
        version = "1.1.15";
        sha256 = "1i2q96mapld4mnhmy321qyzzizw3k3schhm473qrszdi1yxc837q";
        libraryHaskellDepends = [
@@ -258066,7 +259366,6 @@ self: {
        ];
        description = "Secure WebSocket (WSS) clients";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "wx" = callPackage
@@ -258149,7 +259448,7 @@ self: {
        description = "wxHaskell C++ wrapper";
        license = "unknown";
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {inherit (pkgs) libGL; inherit (pkgs.xorg) libX11; 
+     }) {inherit (pkgs) libGL; inherit (pkgs.xorg) libX11;
          inherit (pkgs) wxGTK;};
 
   "wxcore" = callPackage
@@ -259022,6 +260321,35 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "xlsx_0_8_0" = callPackage
+    ({ mkDerivation, attoparsec, base, base64-bytestring, binary-search
+     , bytestring, conduit, containers, criterion, data-default, deepseq
+     , Diff, errors, extra, filepath, groom, lens, mtl, network-uri
+     , old-locale, raw-strings-qq, safe, smallcheck, tasty, tasty-hunit
+     , tasty-smallcheck, text, time, transformers, vector, xeno
+     , xml-conduit, zip-archive, zlib
+     }:
+     mkDerivation {
+       pname = "xlsx";
+       version = "0.8.0";
+       sha256 = "1wp2ybkf5z4x87a73yygi3g1nqjy6pfb1wdwyvmjqk64ibjz0p7d";
+       libraryHaskellDepends = [
+         attoparsec base base64-bytestring binary-search bytestring conduit
+         containers data-default deepseq errors extra filepath lens mtl
+         network-uri old-locale safe text time transformers vector xeno
+         xml-conduit zip-archive zlib
+       ];
+       testHaskellDepends = [
+         base bytestring containers Diff groom lens mtl raw-strings-qq
+         smallcheck tasty tasty-hunit tasty-smallcheck text time vector
+         xml-conduit
+       ];
+       benchmarkHaskellDepends = [ base bytestring criterion ];
+       description = "Simple and incomplete Excel file parser/writer";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "xlsx-tabular" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, data-default
      , lens, text, xlsx
@@ -259944,7 +261272,7 @@ self: {
        description = "A Minimalistic Text Based Status Bar";
        license = stdenv.lib.licenses.bsd3;
        platforms = [ "i686-linux" "x86_64-linux" ];
-     }) {inherit (pkgs.xorg) libXpm; inherit (pkgs.xorg) libXrandr; 
+     }) {inherit (pkgs.xorg) libXpm; inherit (pkgs.xorg) libXrandr;
          inherit (pkgs.xorg) libXrender; inherit (pkgs) wirelesstools;};
 
   "xmonad" = callPackage
@@ -261016,35 +262344,6 @@ self: {
      }:
      mkDerivation {
        pname = "yaml";
-       version = "0.11.1.2";
-       sha256 = "028pz77n92l6kjgjv263h4b6yhw1iibdbf3a3dkn5qnz537xpzhc";
-       configureFlags = [ "-fsystem-libyaml" ];
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson attoparsec base bytestring conduit containers directory
-         filepath libyaml mtl resourcet scientific template-haskell text
-         transformers unordered-containers vector
-       ];
-       testHaskellDepends = [
-         aeson attoparsec base base-compat bytestring conduit containers
-         directory filepath hspec HUnit libyaml mockery mtl raw-strings-qq
-         resourcet scientific template-haskell temporary text transformers
-         unordered-containers vector
-       ];
-       description = "Support for parsing and rendering YAML documents";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "yaml_0_11_2_0" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base-compat, bytestring
-     , conduit, containers, directory, filepath, hspec, HUnit, libyaml
-     , mockery, mtl, raw-strings-qq, resourcet, scientific
-     , template-haskell, temporary, text, transformers
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "yaml";
        version = "0.11.2.0";
        sha256 = "035sqc2bnya3ghv5i0qk9jdg9q6jvqzgnc5gkg9mgf4drjrd5wni";
        configureFlags = [ "-fsystem-libyaml" ];
@@ -261063,7 +262362,6 @@ self: {
        ];
        description = "Support for parsing and rendering YAML documents";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yaml-combinators" = callPackage
@@ -261084,6 +262382,8 @@ self: {
        ];
        description = "YAML parsing combinators for improved validation and error reporting";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
      }) {};
 
   "yaml-config" = callPackage
@@ -261573,22 +262873,18 @@ self: {
 
   "yaya" = callPackage
     ({ mkDerivation, base, bifunctors, comonad, constraints, containers
-     , deriving-compat, distributive, either, errors, free, hedgehog
-     , kan-extensions, lens, profunctors, template-haskell, transformers
-     , yaya-hedgehog
+     , distributive, either, errors, free, kan-extensions, lens
+     , profunctors, template-haskell, transformers
      }:
      mkDerivation {
        pname = "yaya";
-       version = "0.2.1.0";
-       sha256 = "0wm01cspfpnfhijmbxpr4n0nr1qgc8g8cg9lqpz8n4lkd8i8bfds";
+       version = "0.2.1.2";
+       sha256 = "179mq32b5gjlwfpldm4msqnxv316gb2gj3s0kzhkcyk0l3i3y8fi";
        libraryHaskellDepends = [
          base bifunctors comonad constraints containers distributive either
          errors free kan-extensions lens profunctors template-haskell
          transformers
        ];
-       testHaskellDepends = [
-         base deriving-compat hedgehog yaya-hedgehog
-       ];
        description = "Total recursion schemes";
        license = stdenv.lib.licenses.agpl3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -261599,8 +262895,8 @@ self: {
     ({ mkDerivation, base, deriving-compat, hedgehog, yaya }:
      mkDerivation {
        pname = "yaya-hedgehog";
-       version = "0.1.1.0";
-       sha256 = "070xv97j402li75fzhs03svankg0nl2fb1g223kjkq7a704f3dk1";
+       version = "0.1.2.1";
+       sha256 = "18lyhb7fqdbp2p71y5jydcb8xzbahqzy1jmsnsb4hym8v8ax71cv";
        libraryHaskellDepends = [ base deriving-compat hedgehog yaya ];
        description = "Hedgehog testing support for the Yaya recursion scheme library";
        license = stdenv.lib.licenses.agpl3;
@@ -261609,17 +262905,16 @@ self: {
      }) {};
 
   "yaya-unsafe" = callPackage
-    ({ mkDerivation, base, bifunctors, comonad, either, free, hedgehog
-     , lens, yaya, yaya-hedgehog
+    ({ mkDerivation, base, bifunctors, comonad, either, free, lens
+     , yaya
      }:
      mkDerivation {
        pname = "yaya-unsafe";
-       version = "0.1.1.0";
-       sha256 = "081lha6m5c3iyy61xfrj237g0098l5jsm94yqjbaddl4qixk697q";
+       version = "0.1.1.2";
+       sha256 = "0cvfrzqx5d56nld60p1n5qmwn4j4gbsvy7jf5lk4ar5da4w8a90c";
        libraryHaskellDepends = [
          base bifunctors comonad either free lens yaya
        ];
-       testHaskellDepends = [ base hedgehog yaya yaya-hedgehog ];
        description = "Non-total extensions to the Yaya recursion scheme library";
        license = stdenv.lib.licenses.agpl3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -262345,33 +263640,27 @@ self: {
      }) {};
 
   "yesod-bin" = callPackage
-    ({ mkDerivation, attoparsec, base, base64-bytestring, blaze-builder
-     , bytestring, Cabal, conduit, conduit-extra, containers
-     , data-default-class, directory, file-embed, filepath, fsnotify
-     , http-client, http-client-tls, http-reverse-proxy, http-types
-     , network, optparse-applicative, parsec, process, project-template
-     , resourcet, say, shakespeare, split, stm, streaming-commons, tar
-     , template-haskell, text, time, transformers, transformers-compat
-     , unix-compat, unliftio, unordered-containers, wai, wai-extra, warp
-     , warp-tls, yaml, zlib
+    ({ mkDerivation, base, bytestring, Cabal, conduit, conduit-extra
+     , containers, data-default-class, directory, file-embed, filepath
+     , fsnotify, http-client, http-client-tls, http-reverse-proxy
+     , http-types, network, optparse-applicative, process
+     , project-template, say, split, stm, streaming-commons, tar, text
+     , time, transformers, transformers-compat, unliftio
+     , unordered-containers, wai, wai-extra, warp, warp-tls, yaml, zlib
      }:
      mkDerivation {
        pname = "yesod-bin";
-       version = "1.6.0.3";
-       sha256 = "1p5f6bl4gynm47m1xg1x1xh9nz913i83iprh2xd207359idjknz4";
-       revision = "4";
-       editedCabalFile = "1iw9m3z6m4n9dlwamf1kwr7pp2wpk6awf1m63zjkgw5j4vwxlcpg";
+       version = "1.6.0.4";
+       sha256 = "0wz44w4c86513ss81a18rknkrkalxyj2g4rlq324ykqwwkihlr1a";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         attoparsec base base64-bytestring blaze-builder bytestring Cabal
-         conduit conduit-extra containers data-default-class directory
-         file-embed filepath fsnotify http-client http-client-tls
-         http-reverse-proxy http-types network optparse-applicative parsec
-         process project-template resourcet say shakespeare split stm
-         streaming-commons tar template-haskell text time transformers
-         transformers-compat unix-compat unliftio unordered-containers wai
-         wai-extra warp warp-tls yaml zlib
+         base bytestring Cabal conduit conduit-extra containers
+         data-default-class directory file-embed filepath fsnotify
+         http-client http-client-tls http-reverse-proxy http-types network
+         optparse-applicative process project-template say split stm
+         streaming-commons tar text time transformers transformers-compat
+         unliftio unordered-containers wai wai-extra warp warp-tls yaml zlib
        ];
        description = "The yesod helper executable";
        license = stdenv.lib.licenses.mit;
@@ -263845,8 +265134,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-test";
-       version = "1.6.7";
-       sha256 = "1x7fmp1q3zn15av6rhdddnilkb54xmkpb6pkfzfpjm3vff27i7jj";
+       version = "1.6.8";
+       sha256 = "1c8xana3lf79db17mc74q88ygdskhyhvrv325fpwdw00fcwc0fn6";
        libraryHaskellDepends = [
          attoparsec base blaze-builder blaze-html bytestring
          case-insensitive conduit containers cookie hspec-core html-conduit
@@ -264073,6 +265362,19 @@ self: {
        broken = true;
      }) {};
 
+  "yhseq" = callPackage
+    ({ mkDerivation, base, hspec, hspec-discover }:
+     mkDerivation {
+       pname = "yhseq";
+       version = "0.2.1.2";
+       sha256 = "1mxjfbnic6pn4jnyc83afpmgq4wnb09f72d359pwx693mfi6vbiy";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec hspec-discover ];
+       testToolDepends = [ hspec-discover ];
+       description = "Calculation of Y-sequence Hexirp edition";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "yi" = callPackage
     ({ mkDerivation, base, microlens-platform, mtl
      , optparse-applicative, yi-core, yi-frontend-vty, yi-keymap-emacs
@@ -264775,8 +266077,8 @@ self: {
      }:
      mkDerivation {
        pname = "yst";
-       version = "0.7.0.1";
-       sha256 = "1cmdx2bghp508qm26xydnljswgldvvv5rapmzcivmnn8pzp9g9kl";
+       version = "0.7.1";
+       sha256 = "0clvfkdrmw7lmrcyn8cilgf0k7438c384vwvjx256pyl46y3ym5m";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -264916,14 +266218,12 @@ self: {
      }) {};
 
   "yx" = callPackage
-    ({ mkDerivation, array, base, bytestring, hspec }:
+    ({ mkDerivation, array, base, bytestring, hspec, lattices }:
      mkDerivation {
        pname = "yx";
-       version = "0.0.2.0";
-       sha256 = "05xh7x02ddh87kwslgckzh3g5i22r01vfrb160gns3zl6fv8sj2z";
-       revision = "1";
-       editedCabalFile = "19px5wf8ca7awam013ij62z04rsplgn7ks56j8jzhznarsg45ksq";
-       libraryHaskellDepends = [ array base bytestring ];
+       version = "0.0.3.0";
+       sha256 = "068xdmi5dn00cx58qrc5hx6vz6byvnh5cp803j7inlynziw3fcgz";
+       libraryHaskellDepends = [ array base bytestring lattices ];
        testHaskellDepends = [ array base bytestring hspec ];
        description = "Row-major coordinates";
        license = stdenv.lib.licenses.bsd3;
@@ -265598,6 +266898,24 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "zinza" = callPackage
+    ({ mkDerivation, base, bytestring, containers, parsec, tasty
+     , tasty-golden, tasty-hunit, text, transformers
+     }:
+     mkDerivation {
+       pname = "zinza";
+       version = "0.1";
+       sha256 = "0p7m15qkp7lsdhckkj2xz7ck54kkaz8pw0gz9dddll57mqjyy6zk";
+       libraryHaskellDepends = [
+         base containers parsec text transformers
+       ];
+       testHaskellDepends = [
+         base bytestring containers tasty tasty-golden tasty-hunit
+       ];
+       description = "Typed templates with jinja like syntax";
+       license = stdenv.lib.licenses.gpl2Plus;
+     }) {};
+
   "zip" = callPackage
     ({ mkDerivation, base, bytestring, bzlib-conduit, case-insensitive
      , cereal, conduit, conduit-extra, containers, digest, directory
diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix
index ba477e06e2f1..e2d01c5798f9 100644
--- a/pkgs/development/haskell-modules/make-package-set.nix
+++ b/pkgs/development/haskell-modules/make-package-set.nix
@@ -181,7 +181,10 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
     #    '... foo = self.callHackage "foo" "1.5.3" {}; ...'
     callHackage = name: version: callPackageKeepDeriver (self.hackage2nix name version);
 
-    # callHackageDirect :: Text -> Text -> AttrSet -> HaskellPackage
+    # callHackageDirect
+    #   :: { pkg :: Text, ver :: Text, sha256 :: Text }
+    #   -> AttrSet
+    #   -> HaskellPackage
     #
     # This function does not depend on all-cabal-hashes and therefore will work
     # for any version that has been released on hackage as opposed to only
diff --git a/pkgs/development/haskell-modules/non-hackage-packages.nix b/pkgs/development/haskell-modules/non-hackage-packages.nix
index 8b667a1e6693..c292eeec128f 100644
--- a/pkgs/development/haskell-modules/non-hackage-packages.nix
+++ b/pkgs/development/haskell-modules/non-hackage-packages.nix
@@ -13,4 +13,7 @@ self: super: {
   # https://github.com/channable/vaultenv/issues/1
   vaultenv = self.callPackage ../tools/haskell/vaultenv { };
 
+  # spago is not released to Hackage.
+  # https://github.com/spacchetti/spago/issues/512
+  spago = self.callPackage ../tools/purescript/spago { };
 }
diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix
index b5a7c2b467ef..7b730fc39265 100644
--- a/pkgs/development/interpreters/clojure/default.nix
+++ b/pkgs/development/interpreters/clojure/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "clojure";
-  version = "1.10.1.469";
+  version = "1.10.1.489";
 
   src = fetchurl {
     url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz";
-    sha256 = "0hpb6rixmgllss69vl9zlpb41svm4mx4xmfbq1q7y12jsxckzgpq";
+    sha256 = "12ks7adh5cx99l5vydppkqknk5nvv9vsj2k0afcwwxd897m794kz";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/development/interpreters/eff/default.nix b/pkgs/development/interpreters/eff/default.nix
index 7c7cd9abb7e9..9da2b0d899d7 100644
--- a/pkgs/development/interpreters/eff/default.nix
+++ b/pkgs/development/interpreters/eff/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
   checkTarget = "test";
 
   meta = with stdenv.lib; {
-    homepage = http://www.eff-lang.org;
+    homepage = https://www.eff-lang.org;
     description = "A functional programming language based on algebraic effects and their handlers";
     longDescription = ''
       Eff is a functional language with handlers of not only exceptions,
diff --git a/pkgs/development/interpreters/elixir/1.9.nix b/pkgs/development/interpreters/elixir/1.9.nix
index 2d9fec02e106..4eead35bae37 100644
--- a/pkgs/development/interpreters/elixir/1.9.nix
+++ b/pkgs/development/interpreters/elixir/1.9.nix
@@ -1,7 +1,9 @@
 { mkDerivation }:
 
+# How to obtain `sha256`:
+# nix-prefetch-url --unpack https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz
 mkDerivation {
-  version = "1.9.2";
-  sha256 = "19yn6nx6r627f5zbyc7ckgr96d6b45sgwx95n2gp2imqwqvpj8wc";
+  version = "1.9.4";
+  sha256 = "1l4318g35y4h0vi2w07ayc3jizw1xc3s7hdb47w6j3iw33y06g6b";
   minimumOTPVersion = "20";
 }
diff --git a/pkgs/development/interpreters/erlang/R22.nix b/pkgs/development/interpreters/erlang/R22.nix
index 8b471f632471..88fe21453a82 100644
--- a/pkgs/development/interpreters/erlang/R22.nix
+++ b/pkgs/development/interpreters/erlang/R22.nix
@@ -1,8 +1,10 @@
 { mkDerivation }:
 
+# How to obtain `sha256`:
+# nix-prefetch-url --unpack https://github.com/erlang/otp/archive/OTP-${version}.tar.gz
 mkDerivation {
-  version = "22.0.4";
-  sha256 = "1aqkhd6nwdn4xp5yz02zbymd4x8ij8fjw9ji8kh860n1a513k9ai";
+  version = "22.1.7";
+  sha256 = "18aqy2s8nqd82v4lzzxknrwjva8mv1y2hvai9cakz5nkyd3vwq62";
 
   prePatch = ''
     substituteInPlace make/configure.in --replace '`sw_vers -productVersion`' "''${MACOSX_DEPLOYMENT_TARGET:-10.12}"
diff --git a/pkgs/development/interpreters/erlang/generic-builder.nix b/pkgs/development/interpreters/erlang/generic-builder.nix
index 3f1c21cc8819..9a1594da933d 100644
--- a/pkgs/development/interpreters/erlang/generic-builder.nix
+++ b/pkgs/development/interpreters/erlang/generic-builder.nix
@@ -2,7 +2,7 @@
 , libxml2, libxslt, ncurses, openssl, perl, autoconf
 , openjdk ? null # javacSupport
 , unixODBC ? null # odbcSupport
-, libGLU_combined ? null, wxGTK ? null, wxmac ? null, xorg ? null # wxSupport
+, libGL ? null, libGLU ? null, wxGTK ? null, wxmac ? null, xorg ? null # wxSupport
 , withSystemd ? stdenv.isLinux, systemd # systemd support in epmd
 }:
 
@@ -18,7 +18,7 @@
 , enableKernelPoll ? true
 , javacSupport ? false, javacPackages ? [ openjdk ]
 , odbcSupport ? false, odbcPackages ? [ unixODBC ]
-, wxSupport ? true, wxPackages ? [ libGLU_combined wxGTK xorg.libX11 ]
+, wxSupport ? true, wxPackages ? [ libGL libGLU wxGTK xorg.libX11 ]
 , preUnpack ? "", postUnpack ? ""
 , patches ? [], patchPhase ? "", prePatch ? "", postPatch ? ""
 , configureFlags ? [], configurePhase ? "", preConfigure ? "", postConfigure ? ""
@@ -32,7 +32,7 @@
 
 assert wxSupport -> (if stdenv.isDarwin
   then wxmac != null
-  else libGLU_combined != null && wxGTK != null && xorg != null);
+  else libGL != null && libGLU != null && wxGTK != null && xorg != null);
 
 assert odbcSupport -> unixODBC != null;
 assert javacSupport -> openjdk != null;
diff --git a/pkgs/development/interpreters/guile/setup-hook-2.0.sh b/pkgs/development/interpreters/guile/setup-hook-2.0.sh
index c7fb4f70fc6a..6bb3910aaff4 100644
--- a/pkgs/development/interpreters/guile/setup-hook-2.0.sh
+++ b/pkgs/development/interpreters/guile/setup-hook-2.0.sh
@@ -1,12 +1,12 @@
 addGuileLibPath () {
     if test -d "$1/share/guile/site/2.0"
     then
-        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site/2.0"
-        export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site/2.0"
+        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH-}${GUILE_LOAD_PATH:+:}$1/share/guile/site/2.0"
+        export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH-}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site/2.0"
     elif test -d "$1/share/guile/site"
     then
-        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
-        export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site"
+        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH-}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
+        export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH-}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site"
     fi
 }
 
diff --git a/pkgs/development/interpreters/guile/setup-hook-2.2.sh b/pkgs/development/interpreters/guile/setup-hook-2.2.sh
index 73e700bde026..4b3541fcc7f0 100644
--- a/pkgs/development/interpreters/guile/setup-hook-2.2.sh
+++ b/pkgs/development/interpreters/guile/setup-hook-2.2.sh
@@ -1,12 +1,12 @@
 addGuileLibPath () {
     if test -d "$1/share/guile/site/2.2"
     then
-        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site/2.2"
-        export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site/2.2"
+        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH-}${GUILE_LOAD_PATH:+:}$1/share/guile/site/2.2"
+        export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH-}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site/2.2"
     elif test -d "$1/share/guile/site"
     then
-        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
-        export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site"
+        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH-}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
+        export GUILE_LOAD_COMPILED_PATH="${GUILE_LOAD_COMPILED_PATH-}${GUILE_LOAD_COMPILED_PATH:+:}$1/share/guile/site"
     fi
 }
 
diff --git a/pkgs/development/interpreters/guile/setup-hook.sh b/pkgs/development/interpreters/guile/setup-hook.sh
index bf04fee1e893..d006b50ce8ef 100644
--- a/pkgs/development/interpreters/guile/setup-hook.sh
+++ b/pkgs/development/interpreters/guile/setup-hook.sh
@@ -1,7 +1,7 @@
 addGuileLibPath () {
     if test -d "$1/share/guile/site"
     then
-        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
+        export GUILE_LOAD_PATH="${GUILE_LOAD_PATH-}${GUILE_LOAD_PATH:+:}$1/share/guile/site"
     fi
 }
 
diff --git a/pkgs/development/interpreters/io/default.nix b/pkgs/development/interpreters/io/default.nix
index 883d53c82697..f763274c15d7 100644
--- a/pkgs/development/interpreters/io/default.nix
+++ b/pkgs/development/interpreters/io/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, zlib, sqlite, gmp, libffi, cairo,
-  ncurses, freetype, libGLU_combined, libpng, libtiff, libjpeg, readline, libsndfile,
+  ncurses, freetype, libGLU, libGL, libpng, libtiff, libjpeg, readline, libsndfile,
   libxml2, freeglut, libsamplerate, pcre, libevent, libedit, yajl,
   python3, openssl, glfw, pkgconfig, libpthreadstubs, libXdmcp, libmemcached
 }:
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   buildInputs = [
     zlib sqlite gmp libffi cairo ncurses freetype
-    libGLU_combined libpng libtiff libjpeg readline libsndfile libxml2
+    libGLU libGL libpng libtiff libjpeg readline libsndfile libxml2
     freeglut libsamplerate pcre libevent libedit yajl
     pkgconfig glfw openssl libpthreadstubs libXdmcp
     libmemcached python3
diff --git a/pkgs/development/interpreters/janet/default.nix b/pkgs/development/interpreters/janet/default.nix
index 337b83767f4e..be5da812530d 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 = "1.4.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "janet-lang";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0xszmgw5nl5b6gd3344h1mic1c1a3hj7nivp4d9hqzzh131qvbn5";
+    sha256 = "13b4haaanlgi8qpwwvf59zf7qsw8p0zdqv7xdxjjyid5yww7jmm2";
   };
 
   nativeBuildInputs = [ meson ninja ];
diff --git a/pkgs/development/interpreters/jimtcl/default.nix b/pkgs/development/interpreters/jimtcl/default.nix
index 91b4c0b9a9e6..09d7fa622fc1 100644
--- a/pkgs/development/interpreters/jimtcl/default.nix
+++ b/pkgs/development/interpreters/jimtcl/default.nix
@@ -5,35 +5,53 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "jimtcl";
-  version = "0.78";
+  version = "0.79";
 
   src = fetchFromGitHub {
     owner = "msteveb";
     repo = "jimtcl";
     rev = version;
-    sha256 = "1nrjxjfh69i35ig8sxdlal4ydd3cl0x68c05s6svnf1y2i1bl23j";
+    sha256 = "1k88hz0v3bi19xdvlp0i9nsx38imzwpjh632w7326zwbv2wldf0h";
   };
 
-  buildInputs = [
-    sqlite readline asciidoc SDL SDL_gfx
+  nativeBuildInputs = [
+    asciidoc
   ];
 
-  NIX_CFLAGS_COMPILE = makeSDLFlags [ SDL SDL_gfx ];
+  buildInputs = [
+    sqlite readline SDL SDL_gfx
+  ];
 
   configureFlags = [
+    "--shared"
     "--with-ext=oo"
     "--with-ext=tree"
     "--with-ext=binary"
     "--with-ext=sqlite3"
     "--with-ext=readline"
     "--with-ext=sdl"
+    "--with-ext=json"
     "--enable-utf8"
     "--ipv6"
   ];
 
+  NIX_CFLAGS_COMPILE = makeSDLFlags [ SDL SDL_gfx ];
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+  preCheck = ''
+    # test exec2-3.2 fails depending on platform or sandboxing (?)
+    rm tests/exec2.test
+  '';
+
+  postInstall = ''
+    ln -sr $out/lib/libjim.so.${version} $out/lib/libjim.so
+  '';
+
   meta = {
     description = "An open source small-footprint implementation of the Tcl programming language";
-    homepage = http://jim.tcl.tk/;
+    homepage = "http://jim.tcl.tk/";
     license = stdenv.lib.licenses.bsd2;
     platforms = stdenv.lib.platforms.all;
     maintainers = with stdenv.lib.maintainers; [ dbohdan vrthra ];
diff --git a/pkgs/development/interpreters/love/0.10.nix b/pkgs/development/interpreters/love/0.10.nix
index 7e90c6dfb287..6a3aa9f648f4 100644
--- a/pkgs/development/interpreters/love/0.10.nix
+++ b/pkgs/development/interpreters/love/0.10.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromBitbucket, pkgconfig, SDL2, libGLU_combined, openal, luajit,
+{ stdenv, fetchFromBitbucket, pkgconfig, SDL2, libGLU, libGL, openal, luajit,
   libdevil, freetype, physfs, libmodplug, mpg123, libvorbis, libogg,
   libtheora, which, autoconf, automake, libtool
 }:
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    SDL2 libGLU_combined openal luajit libdevil freetype physfs libmodplug mpg123
+    SDL2 libGLU libGL openal luajit libdevil freetype physfs libmodplug mpg123
     libvorbis libogg libtheora autoconf which libtool automake
   ];
 
diff --git a/pkgs/development/interpreters/love/0.7.nix b/pkgs/development/interpreters/love/0.7.nix
index 7f39259c298e..3bf8aee0d07b 100644
--- a/pkgs/development/interpreters/love/0.7.nix
+++ b/pkgs/development/interpreters/love/0.7.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig
-, SDL, libGLU_combined, openal, lua
+, SDL, libGLU, libGL, openal, lua
 , libdevil, freetype, physfs
 , libmodplug, mpg123, libvorbis, libogg
 , libmng
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    SDL libGLU_combined openal lua
+    SDL libGLU libGL openal lua
     libdevil freetype physfs libmodplug mpg123 libvorbis libogg libmng
   ];
 
diff --git a/pkgs/development/interpreters/love/0.8.nix b/pkgs/development/interpreters/love/0.8.nix
index 792fe299e4dd..57c1a6ce5641 100644
--- a/pkgs/development/interpreters/love/0.8.nix
+++ b/pkgs/development/interpreters/love/0.8.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig
-, SDL, libGLU_combined, openal, lua
+, SDL, libGLU, libGL, openal, lua
 , libdevil, freetype, physfs
 , libmodplug, mpg123, libvorbis, libogg
 }:
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    SDL libGLU_combined openal lua
+    SDL libGLU libGL openal lua
     libdevil freetype physfs libmodplug mpg123 libvorbis libogg
   ];
 
diff --git a/pkgs/development/interpreters/love/0.9.nix b/pkgs/development/interpreters/love/0.9.nix
index f1571dc726c0..a2182f454361 100644
--- a/pkgs/development/interpreters/love/0.9.nix
+++ b/pkgs/development/interpreters/love/0.9.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig
-, SDL2, libGLU_combined, openal, luajit
+, SDL2, libGLU, libGL, openal, luajit
 , libdevil, freetype, physfs
 , libmodplug, mpg123, libvorbis, libogg
 }:
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    SDL2 libGLU_combined openal luajit
+    SDL2 libGLU libGL openal luajit
     libdevil freetype physfs libmodplug mpg123 libvorbis libogg
   ];
 
diff --git a/pkgs/development/interpreters/love/11.1.nix b/pkgs/development/interpreters/love/11.1.nix
index 6f3f7161a0b8..0a60a4cacfe7 100644
--- a/pkgs/development/interpreters/love/11.1.nix
+++ b/pkgs/development/interpreters/love/11.1.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromBitbucket, pkgconfig, SDL2, libGLU_combined, openal, luajit,
+{ stdenv, fetchFromBitbucket, pkgconfig, SDL2, libGLU, libGL, openal, luajit,
   libdevil, freetype, physfs, libmodplug, mpg123, libvorbis, libogg,
   libtheora, which, autoconf, automake, libtool
 }:
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    SDL2 libGLU_combined openal luajit libdevil freetype physfs libmodplug mpg123
+    SDL2 libGLU libGL openal luajit libdevil freetype physfs libmodplug mpg123
     libvorbis libogg libtheora autoconf which libtool automake
   ];
 
diff --git a/pkgs/development/interpreters/lua-5/CVE-2019-6706.patch b/pkgs/development/interpreters/lua-5/CVE-2019-6706.patch
new file mode 100644
index 000000000000..89e81b7eb68b
--- /dev/null
+++ b/pkgs/development/interpreters/lua-5/CVE-2019-6706.patch
@@ -0,0 +1,22 @@
+--- a/src/lapi.c
++++ b/src/lapi.c
+@@ -1285,14 +1285,14 @@ LUA_API void *lua_upvalueid (lua_State *
+ 
+ LUA_API void lua_upvaluejoin (lua_State *L, int fidx1, int n1,
+                                             int fidx2, int n2) {
+-  LClosure *f1;
+-  UpVal **up1 = getupvalref(L, fidx1, n1, &f1);
++  UpVal **up1 = getupvalref(L, fidx1, n1, NULL); /* the last parameter not needed */
+   UpVal **up2 = getupvalref(L, fidx2, n2, NULL);
++  if (*up1 == *up2) return; /* Already joined */
++  (*up2)->refcount++;
++  if (upisopen(*up2)) (*up2)->u.open.touched = 1;
++  luaC_upvalbarrier(L, *up2);
+   luaC_upvdeccount(L, *up1);
+   *up1 = *up2;
+-  (*up1)->refcount++;
+-  if (upisopen(*up1)) (*up1)->u.open.touched = 1;
+-  luaC_upvalbarrier(L, *up1);
+ }
+ 
+ 
diff --git a/pkgs/development/interpreters/lua-5/build-lua-package.nix b/pkgs/development/interpreters/lua-5/build-lua-package.nix
index 74ccb91030aa..be7aa5fc09d7 100644
--- a/pkgs/development/interpreters/lua-5/build-lua-package.nix
+++ b/pkgs/development/interpreters/lua-5/build-lua-package.nix
@@ -161,7 +161,7 @@ builtins.removeAttrs attrs ["disabled" "checkInputs" "externalDeps"] // {
 
   # enabled only for src.rock
   setSourceRoot= let
-    name_only=(builtins.parseDrvName name).name;
+    name_only= lib.getName name;
   in
     lib.optionalString (knownRockspec == null) ''
     # format is rockspec_basename/source_basename
diff --git a/pkgs/development/interpreters/lua-5/default.nix b/pkgs/development/interpreters/lua-5/default.nix
index 1398e66d9a5b..7e79ff8f117a 100644
--- a/pkgs/development/interpreters/lua-5/default.nix
+++ b/pkgs/development/interpreters/lua-5/default.nix
@@ -1,5 +1,5 @@
 # similar to interpreters/python/default.nix
-{ stdenv, lib, callPackage, fetchurl }:
+{ stdenv, lib, callPackage, fetchurl, fetchpatch }:
 let
   dsoPatch51 = fetchurl {
     url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/lua-arch.patch?h=packages/lua51";
@@ -18,7 +18,10 @@ in rec {
   lua5_3 = callPackage ./interpreter.nix {
     sourceVersion = { major = "5"; minor = "3"; patch = "5"; };
     hash = "0c2eed3f960446e1a3e4b9a1ca2f3ff893b6ce41942cf54d5dd59ab4b3b058ac";
-    patches = lib.optionals stdenv.isDarwin [ ./5.2.darwin.patch ] ;
+    patches =
+      lib.optionals stdenv.isDarwin [ ./5.2.darwin.patch ] ++ [
+        ./CVE-2019-6706.patch
+      ];
     postConfigure = lib.optionalString (!stdenv.isDarwin) ''
       cat ${./lua-5.3-dso.make} >> src/Makefile
       sed -e 's/ALL_T *= */& $(LUA_SO)/' -i src/Makefile
diff --git a/pkgs/development/interpreters/lua-5/wrapper.nix b/pkgs/development/interpreters/lua-5/wrapper.nix
index 816744e61cff..53ec2baeb5e5 100644
--- a/pkgs/development/interpreters/lua-5/wrapper.nix
+++ b/pkgs/development/interpreters/lua-5/wrapper.nix
@@ -11,7 +11,7 @@
 let
   env = let
     paths =  requiredLuaModules (extraLibs ++ [ lua ] );
-  in buildEnv {
+  in (buildEnv {
     name = "${lua.name}-env";
 
     inherit paths;
@@ -20,12 +20,6 @@ let
 
     # we create wrapper for the binaries in the different packages
     postBuild = ''
-
-      . "${makeWrapper}/nix-support/setup-hook"
-
-      # get access to lua functions
-      . ${lua}/nix-support/setup-hook
-
       if [ -L "$out/bin" ]; then
           unlink "$out/bin"
       fi
@@ -68,5 +62,8 @@ let
         '';
     };
     };
-  };
+  }).overrideAttrs (_: {
+    # Add extra deps needed for postBuild hook.
+    nativeBuildInputs = [ makeWrapper lua ];
+  });
 in env
diff --git a/pkgs/development/interpreters/lush/default.nix b/pkgs/development/interpreters/lush/default.nix
index 5a241fbf83ee..a8db08e87a2c 100644
--- a/pkgs/development/interpreters/lush/default.nix
+++ b/pkgs/development/interpreters/lush/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, libX11, xorgproto, indent, readline, gsl, freeglut, libGLU_combined, SDL
+{stdenv, fetchurl, libX11, xorgproto, indent, readline, gsl, freeglut, libGLU, libGL, SDL
 , blas, libbfd, intltool, gettext, zlib, libSM}:
 
 stdenv.mkDerivation rec {
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    libX11 libSM xorgproto indent readline gsl freeglut libGLU_combined SDL blas libbfd
+    libX11 libSM xorgproto indent readline gsl freeglut libGLU libGL SDL blas libbfd
     intltool gettext zlib
   ];
 
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix
index 4503fd0bf49b..89979e18bdc6 100644
--- a/pkgs/development/interpreters/perl/default.nix
+++ b/pkgs/development/interpreters/perl/default.nix
@@ -181,11 +181,11 @@ let
       priority = 6; # in `buildEnv' (including the one inside `perl.withPackages') the library files will have priority over files in `perl`
     };
   } // optionalAttrs (stdenv.buildPlatform != stdenv.hostPlatform) rec {
-    crossVersion = "980998f7d11baf97284426ca91f84681d49a08f5"; # Jul 20, 2019
+    crossVersion = "ba90816ef2c24dc06fd6cd2c854abcfa1aae00a3"; # Nov 22, 2019
 
     perl-cross-src = fetchurl {
       url = "https://github.com/arsv/perl-cross/archive/${crossVersion}.tar.gz";
-      sha256 = "1hg3k2rhjs5gclrm05z87nvlh4j9pg7mkm9998h9gy6mzk8224q5";
+      sha256 = "19jq5fz6l64s0v6j64n5mkk5v2srpyfn9sc09hwbpkp9n74q82j4";
     };
 
     depsBuildBuild = [ buildPackages.stdenv.cc makeWrapper ];
@@ -213,15 +213,15 @@ in {
   perl530 = common {
     perl = pkgs.perl530;
     buildPerl = buildPackages.perl530;
-    version = "5.30.0";
-    sha256 = "1wkmz6xn3fswpqhz29akiklcxclnlykhp96a8bqcz36rak3i64l5";
+    version = "5.30.1";
+    sha256 = "0r7r8a7pkgxp3w5lza559ahxczw6hzpwvhkpc4c99vpi3xbjagdz";
   };
 
   # the latest Devel version
   perldevel = common {
     perl = pkgs.perldevel;
     buildPerl = buildPackages.perldevel;
-    version = "5.31.2";
-    sha256 = "00bdh9lmjb0m7dhk8mj7kab7cg2zn9zgw82y4hgkwydzg6d1jis0";
+    version = "5.31.6";
+    sha256 = "08n3c8xm1brxpckqy8i1xgjrpl4afrhcva9bhxswr938n675x71k";
   };
 }
diff --git a/pkgs/development/interpreters/python/cpython/3.9/no-ldconfig.patch b/pkgs/development/interpreters/python/cpython/3.9/no-ldconfig.patch
new file mode 100644
index 000000000000..a1f9d68eb166
--- /dev/null
+++ b/pkgs/development/interpreters/python/cpython/3.9/no-ldconfig.patch
@@ -0,0 +1,100 @@
+From 597e73f2a4b2f0b508127931b36d5540d6941823 Mon Sep 17 00:00:00 2001
+From: Frederik Rietdijk <fridh@fridh.nl>
+Date: Mon, 28 Aug 2017 09:24:06 +0200
+Subject: [PATCH] Don't use ldconfig
+
+---
+ Lib/ctypes/util.py | 70 ++----------------------------------------------------
+ 1 file changed, 2 insertions(+), 68 deletions(-)
+
+diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py
+index 5e8b31a854..7b45ce6c15 100644
+--- a/Lib/ctypes/util.py
++++ b/Lib/ctypes/util.py
+@@ -94,46 +94,7 @@ elif os.name == "posix":
+     import re, tempfile
+ 
+     def _findLib_gcc(name):
+-        # Run GCC's linker with the -t (aka --trace) option and examine the
+-        # library name it prints out. The GCC command will fail because we
+-        # haven't supplied a proper program with main(), but that does not
+-        # matter.
+-        expr = os.fsencode(r'[^\(\)\s]*lib%s\.[^\(\)\s]*' % re.escape(name))
+-
+-        c_compiler = shutil.which('gcc')
+-        if not c_compiler:
+-            c_compiler = shutil.which('cc')
+-        if not c_compiler:
+-            # No C compiler available, give up
+-            return None
+-
+-        temp = tempfile.NamedTemporaryFile()
+-        try:
+-            args = [c_compiler, '-Wl,-t', '-o', temp.name, '-l' + name]
+-
+-            env = dict(os.environ)
+-            env['LC_ALL'] = 'C'
+-            env['LANG'] = 'C'
+-            try:
+-                proc = subprocess.Popen(args,
+-                                        stdout=subprocess.PIPE,
+-                                        stderr=subprocess.STDOUT,
+-                                        env=env)
+-            except OSError:  # E.g. bad executable
+-                return None
+-            with proc:
+-                trace = proc.stdout.read()
+-        finally:
+-            try:
+-                temp.close()
+-            except FileNotFoundError:
+-                # Raised if the file was already removed, which is the normal
+-                # behaviour of GCC if linking fails
+-                pass
+-        res = re.search(expr, trace)
+-        if not res:
+-            return None
+-        return os.fsdecode(res.group(0))
++        return None
+ 
+ 
+     if sys.platform == "sunos5":
+@@ -255,34 +216,7 @@ elif os.name == "posix":
+     else:
+ 
+         def _findSoname_ldconfig(name):
+-            import struct
+-            if struct.calcsize('l') == 4:
+-                machine = os.uname().machine + '-32'
+-            else:
+-                machine = os.uname().machine + '-64'
+-            mach_map = {
+-                'x86_64-64': 'libc6,x86-64',
+-                'ppc64-64': 'libc6,64bit',
+-                'sparc64-64': 'libc6,64bit',
+-                's390x-64': 'libc6,64bit',
+-                'ia64-64': 'libc6,IA-64',
+-                }
+-            abi_type = mach_map.get(machine, 'libc6')
+-
+-            # XXX assuming GLIBC's ldconfig (with option -p)
+-            regex = r'\s+(lib%s\.[^\s]+)\s+\(%s'
+-            regex = os.fsencode(regex % (re.escape(name), abi_type))
+-            try:
+-                with subprocess.Popen(['/sbin/ldconfig', '-p'],
+-                                      stdin=subprocess.DEVNULL,
+-                                      stderr=subprocess.DEVNULL,
+-                                      stdout=subprocess.PIPE,
+-                                      env={'LC_ALL': 'C', 'LANG': 'C'}) as p:
+-                    res = re.search(regex, p.stdout.read())
+-                    if res:
+-                        return os.fsdecode(res.group(1))
+-            except OSError:
+-                pass
++            return None
+ 
+         def _findLib_ld(name):
+             # See issue #9998 for why this is needed
+-- 
+2.15.0
+
diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix
index 09c324716bda..43d2d159e36a 100644
--- a/pkgs/development/interpreters/python/cpython/default.nix
+++ b/pkgs/development/interpreters/python/cpython/default.nix
@@ -17,6 +17,7 @@
 # For the Python package set
 , packageOverrides ? (self: super: {})
 , buildPackages
+, pythonForBuild ? buildPackages.${"python${sourceVersion.major}${sourceVersion.minor}"}
 , sourceVersion
 , sha256
 , passthruFun
@@ -63,7 +64,7 @@ let
 
   hasDistutilsCxxPatch = !(stdenv.cc.isGNU or false);
 
-  pythonForBuild = buildPackages.${"python${sourceVersion.major}${sourceVersion.minor}"};
+  inherit pythonForBuild;
 
   pythonForBuildInterpreter = if stdenv.hostPlatform == stdenv.buildPlatform then
     "$out/bin/python"
diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix
index ddfa9557582a..3be722cd1561 100644
--- a/pkgs/development/interpreters/python/default.nix
+++ b/pkgs/development/interpreters/python/default.nix
@@ -29,6 +29,7 @@ with pkgs;
         isPy36 = pythonVersion == "3.6";
         isPy37 = pythonVersion == "3.7";
         isPy38 = pythonVersion == "3.8";
+        isPy39 = pythonVersion == "3.9";
         isPy2 = lib.strings.substring 0 1 pythonVersion == "2";
         isPy3 = lib.strings.substring 0 1 pythonVersion == "3";
         isPy3k = isPy3;
@@ -45,7 +46,7 @@ with pkgs;
         inherit hasDistutilsCxxPatch pythonForBuild;
   };
 
-in {
+in rec {
 
   python27 = callPackage ./cpython/2.7 {
     self = python27;
@@ -112,19 +113,23 @@ in {
     inherit passthruFun;
   };
 
-  # Minimal versions of Python (built without optional dependencies)
-  python3Minimal = (callPackage ./cpython {
-    self = python3Minimal;
+  python39 = callPackage ./cpython {
+    self = python39;
     sourceVersion = {
       major = "3";
-      minor = "7";
-      patch = "4";
-      suffix = "";
+      minor = "9";
+      patch = "0";
+      suffix = "a1";
     };
-    sha256 = "0gxiv5617zd7dnqm5k9r4q2188lk327nf9jznwq9j6b8p0s92ygv";
+    sha256 = "02b337kvzb6ncqab21xnayh562zpz6bqzjmh35iy9l48zgpkvf1n";
     inherit (darwin) CF configd;
     inherit passthruFun;
+  };
 
+  # Minimal versions of Python (built without optional dependencies)
+  python3Minimal = (python37.override {
+    self = python3Minimal;
+    pythonForBuild = pkgs.buildPackages.python3Minimal;
     # strip down that python version as much as possible
     openssl = null;
     readline = null;
diff --git a/pkgs/development/interpreters/python/hooks/pip-build-hook.sh b/pkgs/development/interpreters/python/hooks/pip-build-hook.sh
index a58c01ce808c..292f13d30154 100644
--- a/pkgs/development/interpreters/python/hooks/pip-build-hook.sh
+++ b/pkgs/development/interpreters/python/hooks/pip-build-hook.sh
@@ -36,7 +36,7 @@ if [ -z "${dontUsePipBuild-}" ] && [ -z "${buildPhase-}" ]; then
     buildPhase=pipBuildPhase
 fi
 
-if [ -z "$shellHook" ]; then
+if [ -z "${shellHook-}" ]; then
     echo "Using pipShellHook"
     shellHook=pipShellHook
 fi
diff --git a/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py b/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
index 82b2aac39a9f..7e0580ce063d 100755
--- a/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
+++ b/pkgs/development/interpreters/python/update-python-libraries/update-python-libraries.py
@@ -229,6 +229,8 @@ def _determine_extension(text, fetcher):
                 raise ValueError("Don't know how to update a Flit package.")
             elif src_format == 'other':
                 raise ValueError("Don't know how to update a format='other' package.")
+            elif src_format == 'pyproject':
+                raise ValueError("Don't know how to update a pyproject package.")
             extension = FORMATS[src_format]
 
     elif fetcher == 'fetchurl':
diff --git a/pkgs/development/interpreters/quickjs/default.nix b/pkgs/development/interpreters/quickjs/default.nix
new file mode 100644
index 000000000000..23191b0e6d35
--- /dev/null
+++ b/pkgs/development/interpreters/quickjs/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  pname = "quickjs";
+  version = "2019-10-27";
+
+  src = fetchurl {
+    url = "https://bellard.org/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "0xm16ja3c0k80jy0xkx0f40r44v2lgx2si4dnaw2w7c5nx7cmkai";
+  };
+
+  makeFlags = [ "prefix=${placeholder ''out''}" ];
+  enableParallelBuilding = true;
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    PATH="$out/bin:$PATH"
+
+    # Programs exit with code 1 when testing help, so grep for a string
+    set +o pipefail
+    qjs     --help 2>&1 | grep "QuickJS version"
+    qjsbn   --help 2>&1 | grep "QuickJS version"
+    qjscalc --help 2>&1 | grep "QuickJS version"
+    set -o pipefail
+
+    temp=$(mktemp).js
+    echo "console.log('Output from compiled program');" > "$temp"
+    set -o verbose
+    out=$(mktemp) && qjsc         "$temp" -o "$out" && "$out" | grep -q "Output from compiled program"
+    out=$(mktemp) && qjsbnc       "$temp" -o "$out" && "$out" | grep -q "Output from compiled program"
+    out=$(mktemp) && qjsc   -flto "$temp" -o "$out" && "$out" | grep -q "Output from compiled program"
+    out=$(mktemp) && qjsbnc -flto "$temp" -o "$out" && "$out" | grep -q "Output from compiled program"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A small and embeddable Javascript engine";
+    homepage = "https://bellard.org/quickjs/";
+    maintainers = with maintainers; [ stesie ivan ];
+    platforms = platforms.linux;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/interpreters/renpy/default.nix b/pkgs/development/interpreters/renpy/default.nix
index 42c68ed7e800..759a44b5760f 100644
--- a/pkgs/development/interpreters/renpy/default.nix
+++ b/pkgs/development/interpreters/renpy/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, python2Packages, pkgconfig, SDL2
-, libpng, ffmpeg, freetype, glew, libGLU_combined, fribidi, zlib
+, libpng, ffmpeg, freetype, glew, libGL, libGLU, fribidi, zlib
 , glib
 }:
 
@@ -32,13 +32,13 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
     python cython wrapPython tkinter
-    SDL2 libpng ffmpeg freetype glew libGLU_combined fribidi zlib pygame_sdl2 glib
+    SDL2 libpng ffmpeg freetype glew libGLU libGL fribidi zlib pygame_sdl2 glib
   ];
 
   pythonPath = [ pygame_sdl2 tkinter ];
 
   RENPY_DEPS_INSTALL = stdenv.lib.concatStringsSep "::" (map (path: path) [
-    SDL2 SDL2.dev libpng ffmpeg ffmpeg.out freetype glew.dev glew.out libGLU_combined fribidi zlib
+    SDL2 SDL2.dev libpng ffmpeg ffmpeg.out freetype glew.dev glew.out libGLU libGL fribidi zlib
   ]);
 
   buildPhase = ''
diff --git a/pkgs/development/interpreters/wasmtime/cargo-lock.patch b/pkgs/development/interpreters/wasmtime/cargo-lock.patch
index 95513d4437af..56c9879dd6e1 100644
--- a/pkgs/development/interpreters/wasmtime/cargo-lock.patch
+++ b/pkgs/development/interpreters/wasmtime/cargo-lock.patch
@@ -1,9 +1,9 @@
 diff --git a/Cargo.lock b/Cargo.lock
 new file mode 100644
-index 00000000..9cff614a
+index 00000000..3b45d5eb
 --- /dev/null
 +++ b/Cargo.lock
-@@ -0,0 +1,2181 @@
+@@ -0,0 +1,2272 @@
 +# This file is automatically @generated by Cargo.
 +# It is not intended for manual editing.
 +[[package]]
@@ -31,6 +31,11 @@ index 00000000..9cff614a
 +]
 +
 +[[package]]
++name = "anyhow"
++version = "1.0.19"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "arrayref"
 +version = "0.3.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -86,6 +91,11 @@ index 00000000..9cff614a
 +]
 +
 +[[package]]
++name = "base64"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "bincode"
 +version = "1.2.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -109,7 +119,7 @@ index 00000000..9cff614a
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "peeking_take_while 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -283,48 +293,57 @@ index 00000000..9cff614a
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "cpu-time"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "cranelift-bforest"
-+version = "0.46.1"
++version = "0.49.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cranelift-codegen"
-+version = "0.46.1"
++version = "0.49.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cranelift-bforest 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-codegen-meta 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-codegen-shared 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-bforest 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen-meta 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen-shared 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cranelift-codegen-meta"
-+version = "0.46.1"
++version = "0.49.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cranelift-codegen-shared 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen-shared 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cranelift-codegen-shared"
-+version = "0.46.1"
++version = "0.49.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "cranelift-entity"
-+version = "0.46.1"
++version = "0.49.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -332,39 +351,38 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "cranelift-frontend"
-+version = "0.46.1"
++version = "0.49.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cranelift-native"
-+version = "0.46.1"
++version = "0.49.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "raw-cpuid 6.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "raw-cpuid 7.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "cranelift-wasm"
-+version = "0.46.1"
++version = "0.49.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-frontend 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-frontend 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -386,7 +404,7 @@ index 00000000..9cff614a
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
 + "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -472,7 +490,7 @@ index 00000000..9cff614a
 + "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -524,16 +542,16 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "faerie"
-+version = "0.11.0"
++version = "0.12.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "goblin 0.0.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "goblin 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "scroll 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "scroll 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "string-interner 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -550,7 +568,7 @@ index 00000000..9cff614a
 +version = "0.1.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -619,7 +637,7 @@ index 00000000..9cff614a
 +version = "0.1.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -638,22 +656,17 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "glob"
-+version = "0.2.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "glob"
 +version = "0.3.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "goblin"
-+version = "0.0.24"
++version = "0.1.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "plain 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "scroll 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "scroll 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -711,7 +724,7 @@ index 00000000..9cff614a
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "unindent 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -732,7 +745,7 @@ index 00000000..9cff614a
 +version = "0.1.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -789,21 +802,21 @@ index 00000000..9cff614a
 +version = "0.0.0"
 +dependencies = [
 + "capstone 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "dynasm 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "dynasmrt 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "itertools 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "multi_mut 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quickcheck 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wabt 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wat 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -838,13 +851,18 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "memoffset"
-+version = "0.5.1"
++version = "0.5.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
++name = "more-asserts"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "multi_mut"
 +version = "0.1.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -876,6 +894,27 @@ index 00000000..9cff614a
 +]
 +
 +[[package]]
++name = "num"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "num-complex 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-complex"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "num-integer"
 +version = "0.1.41"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -885,6 +924,26 @@ index 00000000..9cff614a
 +]
 +
 +[[package]]
++name = "num-iter"
++version = "0.1.39"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "num-rational"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "num-traits"
 +version = "0.2.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -906,6 +965,15 @@ index 00000000..9cff614a
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "os_pipe"
++version = "0.9.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "owning_ref"
 +version = "0.4.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -928,7 +996,7 @@ index 00000000..9cff614a
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -963,22 +1031,14 @@ index 00000000..9cff614a
 +version = "0.5.11"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "proc-macro2"
-+version = "0.4.30"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "proc-macro2"
-+version = "1.0.5"
++version = "1.0.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1009,7 +1069,7 @@ index 00000000..9cff614a
 +version = "0.8.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -1019,7 +1079,7 @@ index 00000000..9cff614a
 +version = "0.8.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "pyo3-derive-backend 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1043,18 +1103,10 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "quote"
-+version = "0.6.13"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "quote"
 +version = "1.0.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1132,7 +1184,7 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "raw-cpuid"
-+version = "6.1.0"
++version = "7.0.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1264,21 +1316,20 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "scroll"
-+version = "0.9.2"
++version = "0.10.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "scroll_derive 0.9.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "scroll_derive 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "scroll_derive"
-+version = "0.9.5"
++version = "0.10.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1307,7 +1358,7 @@ index 00000000..9cff614a
 +version = "1.0.101"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -1340,7 +1391,7 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "smallvec"
-+version = "0.6.10"
++version = "1.0.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -1373,20 +1424,10 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "syn"
-+version = "0.15.44"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "syn"
 +version = "1.0.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -1396,7 +1437,7 @@ index 00000000..9cff614a
 +version = "0.12.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1404,13 +1445,8 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "target-lexicon"
-+version = "0.8.1"
++version = "0.9.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
 +
 +[[package]]
 +name = "tempfile"
@@ -1442,6 +1478,24 @@ index 00000000..9cff614a
 +]
 +
 +[[package]]
++name = "thiserror"
++version = "1.0.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "thiserror-impl 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "thiserror-impl"
++version = "1.0.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "thread_local"
 +version = "0.3.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1461,7 +1515,7 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "toml"
-+version = "0.5.3"
++version = "0.5.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1473,6 +1527,19 @@ index 00000000..9cff614a
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
++name = "trybuild"
++version = "1.0.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)",
++ "termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "typemap"
 +version = "0.3.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1497,11 +1564,6 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "unicode-xid"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "unicode-xid"
 +version = "0.2.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
@@ -1539,46 +1601,25 @@ index 00000000..9cff614a
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
-+name = "wabt"
-+version = "0.9.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wabt-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
-+name = "wabt-sys"
-+version = "0.7.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cmake 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
-+
-+[[package]]
 +name = "walrus"
-+version = "0.12.0"
++version = "0.13.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
 + "id-arena 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "leb128 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus-macro 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmparser 0.37.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus-macro 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "walrus-macro"
-+version = "0.12.0"
++version = "0.13.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -1590,48 +1631,57 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "wasi-common"
-+version = "0.1.0"
-+source = "git+https://github.com/CraneStation/wasi-common?rev=c3bf040#c3bf04042e03c706088de62acf1cd7aa79f0fa50"
++version = "0.5.0"
 +dependencies = [
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cpu-time 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "filetime 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "nix 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "os_pipe 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pretty_env_logger 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasi-common-cbindgen 0.1.0 (git+https://github.com/CraneStation/wasi-common?rev=c3bf040)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasi-common-cbindgen 0.5.0",
++ "wasmtime 0.1.0",
++ "wasmtime-environ 0.2.0",
++ "wasmtime-jit 0.2.0",
++ "wasmtime-runtime 0.2.0",
++ "wasmtime-wasi 0.2.0",
++ "wig 0.1.0",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winx 0.1.0 (git+https://github.com/CraneStation/wasi-common?rev=c3bf040)",
++ "winx 0.5.0",
 +]
 +
 +[[package]]
 +name = "wasi-common-cbindgen"
-+version = "0.1.0"
-+source = "git+https://github.com/CraneStation/wasi-common?rev=c3bf040#c3bf04042e03c706088de62acf1cd7aa79f0fa50"
++version = "0.5.0"
 +dependencies = [
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "trybuild 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasm-webidl-bindings"
-+version = "0.5.0"
++version = "0.6.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
 + "id-arena 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "leb128 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasmparser"
-+version = "0.37.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
-+name = "wasmparser"
 +version = "0.39.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
@@ -1640,78 +1690,79 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "wasmtime"
-+version = "0.2.0"
++version = "0.1.0"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-native 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-frontend 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-native 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "docopt 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "faerie 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "file-per-thread-logger 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "pretty_env_logger 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "region 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wabt 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasi-common 0.1.0 (git+https://github.com/CraneStation/wasi-common?rev=c3bf040)",
-+ "wasm-webidl-bindings 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmtime-api 0.1.0",
-+ "wasmtime-debug 0.2.0",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasi-common 0.5.0",
++ "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmtime-environ 0.2.0",
-+ "wasmtime-interface-types 0.2.0",
 + "wasmtime-jit 0.2.0",
-+ "wasmtime-obj 0.2.0",
 + "wasmtime-runtime 0.2.0",
 + "wasmtime-wasi 0.2.0",
-+ "wasmtime-wasi-c 0.2.0",
 + "wasmtime-wast 0.2.0",
 +]
 +
 +[[package]]
-+name = "wasmtime-api"
-+version = "0.1.0"
++name = "wasmtime-cli"
++version = "0.2.0"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-frontend 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-native 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-native 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "docopt 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "faerie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "file-per-thread-logger 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
++ "more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "pretty_env_logger 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "region 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wabt 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasi-common 0.1.0 (git+https://github.com/CraneStation/wasi-common?rev=c3bf040)",
-+ "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasi-common 0.5.0",
++ "wasm-webidl-bindings 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmtime 0.1.0",
++ "wasmtime-debug 0.2.0",
 + "wasmtime-environ 0.2.0",
++ "wasmtime-interface-types 0.2.0",
 + "wasmtime-jit 0.2.0",
++ "wasmtime-obj 0.2.0",
 + "wasmtime-runtime 0.2.0",
 + "wasmtime-wasi 0.2.0",
++ "wasmtime-wasi-c 0.2.0",
 + "wasmtime-wast 0.2.0",
++ "wat 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasmtime-debug"
 +version = "0.2.0"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "faerie 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "faerie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "gimli 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmtime-environ 0.2.0",
 +]
@@ -1720,15 +1771,13 @@ index 00000000..9cff614a
 +name = "wasmtime-environ"
 +version = "0.2.0"
 +dependencies = [
-+ "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "directories 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "errno 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "file-per-thread-logger 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "filetime 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
 + "indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1736,27 +1785,29 @@ index 00000000..9cff614a
 + "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lightbeam 0.0.0",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "pretty_env_logger 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
 + "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "spin 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "toml 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "zstd 0.4.28+zstd.1.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "zstd 0.5.1+zstd.1.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasmtime-interface-types"
 +version = "0.2.0"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-webidl-bindings 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-webidl-bindings 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmtime-jit 0.2.0",
 + "wasmtime-runtime 0.2.0",
@@ -1766,29 +1817,32 @@ index 00000000..9cff614a
 +name = "wasmtime-jit"
 +version = "0.2.0"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-frontend 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-frontend 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "region 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmtime-debug 0.2.0",
 + "wasmtime-environ 0.2.0",
 + "wasmtime-runtime 0.2.0",
++ "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasmtime-obj"
 +version = "0.2.0"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "faerie 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "faerie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmtime-environ 0.2.0",
 +]
 +
@@ -1796,15 +1850,15 @@ index 00000000..9cff614a
 +name = "wasmtime-py"
 +version = "0.2.0"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-frontend 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-native 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-frontend 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-native 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "pyo3 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "region 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmtime-environ 0.2.0",
 + "wasmtime-interface-types 0.2.0",
@@ -1817,18 +1871,18 @@ index 00000000..9cff614a
 +version = "0.2.0"
 +dependencies = [
 + "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "region 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "spin 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmtime-environ 0.2.0",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -1837,19 +1891,20 @@ index 00000000..9cff614a
 +name = "wasmtime-rust"
 +version = "0.2.0"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-native 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-native 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmtime-interface-types 0.2.0",
 + "wasmtime-jit 0.2.0",
 + "wasmtime-rust-macro 0.2.0",
++ "wasmtime-wasi 0.2.0",
 +]
 +
 +[[package]]
 +name = "wasmtime-rust-macro"
 +version = "0.2.0"
 +dependencies = [
-+ "proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -1858,12 +1913,12 @@ index 00000000..9cff614a
 +name = "wasmtime-wasi"
 +version = "0.2.0"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasi-common 0.1.0 (git+https://github.com/CraneStation/wasi-common?rev=c3bf040)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasi-common 0.5.0",
 + "wasmtime-environ 0.2.0",
 + "wasmtime-jit 0.2.0",
 + "wasmtime-runtime 0.2.0",
@@ -1875,12 +1930,13 @@ index 00000000..9cff614a
 +dependencies = [
 + "bindgen 0.51.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cmake 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmtime-environ 0.2.0",
 + "wasmtime-jit 0.2.0",
 + "wasmtime-runtime 0.2.0",
@@ -1890,16 +1946,31 @@ index 00000000..9cff614a
 +name = "wasmtime-wast"
 +version = "0.2.0"
 +dependencies = [
-+ "cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cranelift-wasm 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wabt 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasmtime-environ 0.2.0",
 + "wasmtime-jit 0.2.0",
 + "wasmtime-runtime 0.2.0",
++ "wast 3.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wast"
++version = "3.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "leb128 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
++name = "wat"
++version = "1.0.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "wast 3.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1911,6 +1982,15 @@ index 00000000..9cff614a
 +]
 +
 +[[package]]
++name = "wig"
++version = "0.1.0"
++dependencies = [
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "witx 0.4.0",
++]
++
++[[package]]
 +name = "winapi"
 +version = "0.3.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1948,8 +2028,7 @@ index 00000000..9cff614a
 +
 +[[package]]
 +name = "winx"
-+version = "0.1.0"
-+source = "git+https://github.com/CraneStation/wasi-common?rev=c3bf040#c3bf04042e03c706088de62acf1cd7aa79f0fa50"
++version = "0.5.0"
 +dependencies = [
 + "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cvt 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1957,25 +2036,34 @@ index 00000000..9cff614a
 +]
 +
 +[[package]]
++name = "witx"
++version = "0.4.0"
++dependencies = [
++ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wast 3.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "zstd"
-+version = "0.4.28+zstd.1.4.3"
++version = "0.5.1+zstd.1.4.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "zstd-safe 1.4.13+zstd.1.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "zstd-safe 2.0.3+zstd.1.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "zstd-safe"
-+version = "1.4.13+zstd.1.4.3"
++version = "2.0.3+zstd.1.4.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "libc 0.2.64 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "zstd-sys 1.4.13+zstd.1.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "zstd-sys 1.4.15+zstd.1.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "zstd-sys"
-+version = "1.4.13+zstd.1.4.3"
++version = "1.4.15+zstd.1.4.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "cc 1.0.46 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1987,6 +2075,7 @@ index 00000000..9cff614a
 +"checksum ahash 0.2.16 (registry+https://github.com/rust-lang/crates.io-index)" = "b35dfc96a657c1842b4eb73180b65e37152d4b94d0eb5cb51708aee7826950b4"
 +"checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
 +"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
++"checksum anyhow 1.0.19 (registry+https://github.com/rust-lang/crates.io-index)" = "57114fc2a6cc374bce195d3482057c846e706d252ff3604363449695684d7a0d"
 +"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
 +"checksum arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9"
 +"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
@@ -1994,6 +2083,7 @@ index 00000000..9cff614a
 +"checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea"
 +"checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
 +"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
++"checksum base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7"
 +"checksum bincode 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b8ab639324e3ee8774d296864fbc0dbbb256cf1a41c490b94cba90c082915f92"
 +"checksum bindgen 0.51.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ebd71393f1ec0509b553aa012b9b58e81dadbdff7130bd3b8cba576e69b32f75"
 +"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
@@ -2016,14 +2106,15 @@ index 00000000..9cff614a
 +"checksum const-random 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7b641a8c9867e341f3295564203b1c250eb8ce6cb6126e007941f78c4d2ed7fe"
 +"checksum const-random-macro 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c750ec12b83377637110d5a57f5ae08e895b06c4b16e2bdbf1a94ef717428c59"
 +"checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120"
-+"checksum cranelift-bforest 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)" = "18c97588946d3e5fe11f8e34ebf8cc65fd3fda50f3ffa2e80c98b2748058f00f"
-+"checksum cranelift-codegen 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3255935da50302bcb0f7109f2fef27f44b46f1c797dfa7db971379261023adcd"
-+"checksum cranelift-codegen-meta 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd57265ef5e6ff253c378b6261ed8c2e6cb1b15e91624540dbd09b1e5a40e9ca"
-+"checksum cranelift-codegen-shared 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c093398d21f9493ab29445191362592ef621f497e56a8efb15bdf80471978b7a"
-+"checksum cranelift-entity 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e915fa58d2a75e3c4b768b7e4760282889915c3fcd9ccb2ad2b3ebec99654a78"
-+"checksum cranelift-frontend 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)" = "46963952cda267bd0177b3f036e50038cd56e7b4c5b09a455b02df727e0f2a16"
-+"checksum cranelift-native 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7ba8a2d69ddd4729199a321bc2f4020e1969a088b468ed6a29dc7a69350be76e"
-+"checksum cranelift-wasm 0.46.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5a802357a6a016bf4c1dcdc6d73a650640eb3b613cc098a1a044a6c3731ca264"
++"checksum cpu-time 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e9e393a7668fe1fad3075085b86c781883000b4ede868f43627b34a87c8b7ded"
++"checksum cranelift-bforest 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba29e425110674c89fdc2f79479d767f31003dd9187c29ba2dad57fe4d321670"
++"checksum cranelift-codegen 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8cb71c7ce1438c41f3d35383fa41eee26f5adf9815c7f5c2e7029a6c9356df2c"
++"checksum cranelift-codegen-meta 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4aa634fd60290d5047d40172028a0aa86458e32a72c76fcce0a317bbbbcca4e5"
++"checksum cranelift-codegen-shared 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6fa6cf5c2adc031be07cd5bc88145ebb93d9d2a05a28a93136782b2167eacb62"
++"checksum cranelift-entity 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)" = "932d5f9622b336e10e8cf843ded09a688ec49f32c32b3101d7c5a7b71cad3dc9"
++"checksum cranelift-frontend 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0d1a3c105c657cd65c20d9183bbd4f2b16bf3548db4b865c065bf7028f3021de"
++"checksum cranelift-native 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba5e34645453b73a9e2def05561f957a9df17253996379dd59c4afe3cf7db0f1"
++"checksum cranelift-wasm 0.49.0 (registry+https://github.com/rust-lang/crates.io-index)" = "23410ae1f5edf7d83e95bf8537e771345ecc2b11e5c7208cbee8151ea3b88e97"
 +"checksum crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18cd2e169ad86297e6bc0ad9aa679aee9daa4f19e8163860faf7c164e4f5a71"
 +"checksum crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fedcd6772e37f3da2a9af9bf12ebe046c0dfe657992377b4df982a2b54cd37a9"
 +"checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b"
@@ -2040,7 +2131,7 @@ index 00000000..9cff614a
 +"checksum env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "aafcde04e90a5226a6443b7aabdb016ba2f8307c847d524724bd9b346dd1a2d3"
 +"checksum errno 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "c2a071601ed01b988f896ab14b95e67335d1eeb50190932a1320f7fe3cadc84e"
 +"checksum errno-dragonfly 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "14ca354e36190500e1e1fb267c647932382b54053c50b14970856c0b00a35067"
-+"checksum faerie 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "875d78b92b2a4d9e1e2c7eeccfa30a327d2ee6434db3beb8fd6fd92f41898bc4"
++"checksum faerie 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "01fed63609767c70e34203201032c249d60a24578a67ef0ce7cc13ff010e9cf2"
 +"checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
 +"checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
 +"checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
@@ -2053,9 +2144,8 @@ index 00000000..9cff614a
 +"checksum getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "473a1265acc8ff1e808cd0a1af8cee3c2ee5200916058a2ca113c29f2d903571"
 +"checksum ghost 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2a36606a68532b5640dc86bb1f33c64b45c4682aad4c50f3937b317ea387f3d6"
 +"checksum gimli 0.19.0 (registry+https://github.com/rust-lang/crates.io-index)" = "162d18ae5f2e3b90a993d202f1ba17a5633c2484426f8bcae201f86194bacd00"
-+"checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb"
 +"checksum glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
-+"checksum goblin 0.0.24 (registry+https://github.com/rust-lang/crates.io-index)" = "e3fa261d919c1ae9d1e4533c4a2f99e10938603c4208d56c05bec7a872b661b0"
++"checksum goblin 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5e6040506480da04a63de51a478e8021892d65d8411f29b2a422c2648bdd8bcb"
 +"checksum hashbrown 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e1de41fb8dba9714efd92241565cdff73f78508c95697dd56787d3cba27e2353"
 +"checksum hashbrown 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6587d09be37fb98a11cb08b9000a3f592451c1b1b613ca69d949160e313a430a"
 +"checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
@@ -2077,15 +2167,21 @@ index 00000000..9cff614a
 +"checksum mach 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "86dd2487cdfea56def77b88438a2c915fb45113c5319bfe7e14306ca4cd0b0e1"
 +"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
 +"checksum memmap 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b"
-+"checksum memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ce6075db033bbbb7ee5a0bbd3a3186bbae616f57fb001c485c7ff77955f8177f"
++"checksum memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "75189eb85871ea5c2e2c15abbdd541185f63b408415e5051f5cac122d8c774b9"
++"checksum more-asserts 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0debeb9fcf88823ea64d64e4a815ab1643f33127d995978e099942ce38f25238"
 +"checksum multi_mut 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "816df386e5557ac1843a96f1ba8a7cbf4ab175d05ccc15c87a3cda27b4fbdece"
 +"checksum nix 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3b2e0b4f3320ed72aaedb9a5ac838690a8047c7b275da22711fddff4f8a14229"
 +"checksum nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
 +"checksum nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6"
++"checksum num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cf4825417e1e1406b3782a8ce92f4d53f26ec055e3622e1881ca8e9f5f9e08db"
++"checksum num-complex 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fcb0cf31fb3ff77e6d2a6ebd6800df7fdcd106f2ad89113c9130bcd07f93dffc"
 +"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09"
++"checksum num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "76bd5272412d173d6bf9afdf98db8612bbabc9a7a830b7bfc9c188911716132e"
++"checksum num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f2885278d5fe2adc2f75ced642d52d879bffaceb5a2e0b1d4309ffdfb239b454"
 +"checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32"
 +"checksum num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bcef43580c035376c0705c42792c294b66974abbfd2789b511784023f71f3273"
 +"checksum opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
++"checksum os_pipe 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "db4d06355a7090ce852965b2d08e11426c315438462638c6d721448d0b47aa22"
 +"checksum owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49a4b8ea2179e6a2e27411d3bca09ca6dd630821cf6894c6c7c8467a8ee7ef13"
 +"checksum paste 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "423a519e1c6e828f1e73b720f9d9ed2fa643dce8a7737fb43235ce0b41eeaa49"
 +"checksum paste-impl 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "4214c9e912ef61bf42b81ba9a47e8aad1b2ffaf739ab162bf96d1e011f54e6c5"
@@ -2094,14 +2190,12 @@ index 00000000..9cff614a
 +"checksum ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e3cbf9f658cdb5000fcf6f362b8ea2ba154b9f146a61c7a20d647034c6b6561b"
 +"checksum pretty_env_logger 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "717ee476b1690853d222af4634056d830b5197ffd747726a9a1eee6da9f49074"
 +"checksum proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)" = "ecd45702f76d6d3c75a80564378ae228a85f0b59d2f3ed43c91b4a69eb2ebfc5"
-+"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
-+"checksum proc-macro2 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "90cf5f418035b98e655e9cdb225047638296b862b42411c4e45bb88d700f7fc0"
++"checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27"
 +"checksum pyo3 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a00f96312ebe4082db7d93ad062df1818f597660002541c1bbae6752ec583244"
 +"checksum pyo3-derive-backend 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1a7caa60cb986fca5b488e29d078fb25ae228e01dab080b855168ce061bbef0a"
 +"checksum pyo3cls 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a5ccfa624ed9b5d805079f1ad64b3f1de5d551a946d4cf494f1f032b5572d39f"
 +"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
 +"checksum quickcheck 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d5ca504a2fdaa08d3517f442fbbba91ac24d1ec4c51ea68688a038765e3b2662"
-+"checksum quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1"
 +"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
 +"checksum rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412"
 +"checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853"
@@ -2111,7 +2205,7 @@ index 00000000..9cff614a
 +"checksum rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
 +"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
 +"checksum rand_pcg 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3e196346cbbc5c70c77e7b4926147ee8e383a38ee4d15d58a08098b169e492b6"
-+"checksum raw-cpuid 6.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "30a9d219c32c9132f7be513c18be77c9881c7107d2ab5569d205a6a0f0e6dc7d"
++"checksum raw-cpuid 7.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b4a349ca83373cfa5d6dbb66fd76e58b2cca08da71a5f6400de0a0a6a9bceeaf"
 +"checksum rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "83a27732a533a1be0a0035a111fe76db89ad312f6f0347004c220c57f209a123"
 +"checksum rayon-core 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "98dcf634205083b17d0861252431eb2acbfb698ab7478a2d20de07954f47ec7b"
 +"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
@@ -2127,8 +2221,8 @@ index 00000000..9cff614a
 +"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
 +"checksum ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8"
 +"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
-+"checksum scroll 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2f84d114ef17fd144153d608fba7c446b0145d038985e7a8cc5d08bb0ce20383"
-+"checksum scroll_derive 0.9.5 (registry+https://github.com/rust-lang/crates.io-index)" = "8f1aa96c45e7f5a91cb7fabe7b279f02fea7126239fc40b732316e8b6a2d0fcb"
++"checksum scroll 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "abb2332cb595d33f7edd5700f4cbf94892e680c7f0ae56adab58a35190b66cb1"
++"checksum scroll_derive 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f8584eea9b9ff42825b46faf46a8c24d2cff13ec152fa2a50df788b87c07ee28"
 +"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
 +"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
 +"checksum serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)" = "9796c9b7ba2ffe7a9ce53c2287dfc48080f4b2b362fcc245a259b3a7201119dd"
@@ -2136,28 +2230,29 @@ index 00000000..9cff614a
 +"checksum serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)" = "2f72eb2a68a7dc3f9a691bfda9305a1c017a6215e5a4545c258500d2099a37c2"
 +"checksum sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b4d8bfd0e469f417657573d8451fb33d16cfe0989359b93baf3a1ffc639543d"
 +"checksum shlex 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2"
-+"checksum smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ab606a9c5e214920bb66c458cd7be8ef094f813f20fe77a54cc7dbfff220d4b7"
++"checksum smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecf3b85f68e8abaa7555aa5abdb1153079387e60b718283d732f03897fcfc86"
 +"checksum spin 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
 +"checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8"
 +"checksum string-interner 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fd710eadff449a1531351b0e43eb81ea404336fa2f56c777427ab0e32a4cf183"
 +"checksum strsim 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
 +"checksum strsim 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "032c03039aae92b350aad2e3779c352e104d919cb192ba2fabbd7b831ce4f0f6"
-+"checksum syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)" = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5"
 +"checksum syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "66850e97125af79138385e9b88339cbcd037e3f28ceab8c5ad98e64f0f1f80bf"
 +"checksum synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3f085a5855930c0441ca1288cf044ea4aecf4f43a91668abdb870b4ba546a203"
-+"checksum target-lexicon 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7975cb2c6f37d77b190bc5004a2bb015971464756fde9514651a525ada2a741a"
++"checksum target-lexicon 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6f4c118a7a38378f305a9e111fcb2f7f838c0be324bfb31a77ea04f7f6e684b4"
 +"checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
 +"checksum termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "96d6098003bde162e4277c70665bd87c326f5a0c3f3fbfb285787fa482d54e6e"
 +"checksum textwrap 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
++"checksum thiserror 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f9fb62ff737e573b1e677459bea6fd023cd5d6e868c3242d3cdf3ef2f0554824"
++"checksum thiserror-impl 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "24069c0ba08aab54289d6a25f5036d94afc61e1538bbc42ae5501df141c9027d"
 +"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
 +"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
-+"checksum toml 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c7aabe75941d914b72bf3e5d3932ed92ce0664d49d8432305a8b547c37227724"
++"checksum toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "01d1404644c8b12b16bfcffa4322403a91a451584daaaa7c28d3152e6cbc98cf"
 +"checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079"
++"checksum trybuild 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)" = "e6851bf8351876984fbab8a2391de6378947b898410d8714edd12164d2137127"
 +"checksum typemap 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "653be63c80a3296da5551e1bfd2cca35227e13cdd08c6668903ae2f4f77aa1f6"
 +"checksum typenum 1.11.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6d2783fe2d6b8c1101136184eb41be8b1ad379e4657050b8aaff0c79ee7575f9"
 +"checksum unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1967f4cdfc355b37fd76d2a954fb2ed3871034eb4f26d60537d88795cfc332a9"
 +"checksum unicode-width 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7007dbd421b92cc6e28410fe7362e2e0a2503394908f417b68ec8d1c364c4e20"
-+"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 +"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
 +"checksum unindent 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "63f18aa3b0e35fed5a0048f029558b1518095ffe2a0a31fb87c93dece93a4993"
 +"checksum unsafe-any 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f30360d7979f5e9c6e6cea48af192ea8fab4afb3cf72597154b8f08935bc9c7f"
@@ -2165,23 +2260,19 @@ index 00000000..9cff614a
 +"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
 +"checksum version_check 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "078775d0255232fb988e6fccf26ddc9d1ac274299aaedcedce21c6f72cc533ce"
 +"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
-+"checksum wabt 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3c5c5c1286c6e578416982609f47594265f9d489f9b836157d403ad605a46693"
-+"checksum wabt-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "af5d153dc96aad7dc13ab90835b892c69867948112d95299e522d370c4e13a08"
-+"checksum walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e6f3bd9559eb5b59d55cc60986e26dc9b3f64377d0b9495e41abd9ede9a6443f"
-+"checksum walrus-macro 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0464a6e0d86be4c95c8c838bcb1910df831e1216a9586feeb02478cd52c4e554"
++"checksum walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "85ce93ab0c27412ba41d509f2410fa575ecbfdb4a6aba0e02e79e12c09745485"
++"checksum walrus-macro 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8757b0da38353d55a9687f4dee68a8f441f980dd36e16ab07d6e6c673f505f76"
 +"checksum wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d"
-+"checksum wasi-common 0.1.0 (git+https://github.com/CraneStation/wasi-common?rev=c3bf040)" = "<none>"
-+"checksum wasi-common-cbindgen 0.1.0 (git+https://github.com/CraneStation/wasi-common?rev=c3bf040)" = "<none>"
-+"checksum wasm-webidl-bindings 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e407ee3155cb0742acacd0b21060daafe2ad78ea718f2d6b10e7d9d1032aa961"
-+"checksum wasmparser 0.37.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f7387ba67c13dd9cd01d7d961e733375aee889f828564e190da85b5602eb5eeb"
++"checksum wasm-webidl-bindings 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b5cae185868c6038a48f487b9af3766ee0c68d4a85fa3610c3a0522092b3cec1"
 +"checksum wasmparser 0.39.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e5083b449454f7de0b15f131eee17de54b5a71dcb9adcf11df2b2f78fad0cd82"
++"checksum wast 3.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "86b52202bd73a756b216bbfea019991ff317b1e5f22677da5cef2964696a3245"
++"checksum wat 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "80db13d155bab63db0f19c24a0e12bf60c3fe346edba8da508ba6962e08c137b"
 +"checksum which 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "240a31163872f7e8e49f35b42b58485e35355b07eb009d9f3686733541339a69"
 +"checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
 +"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 +"checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9"
 +"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
 +"checksum wincolor 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "96f5016b18804d24db43cebf3c77269e7569b8954a8464501c216cc5e070eaa9"
-+"checksum winx 0.1.0 (git+https://github.com/CraneStation/wasi-common?rev=c3bf040)" = "<none>"
-+"checksum zstd 0.4.28+zstd.1.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f4e716acaad66f2daf2526f37a1321674a8814c0b37a366ebe6c97a699f85ddc"
-+"checksum zstd-safe 1.4.13+zstd.1.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bfe4d3b26a0790201848865663e8ffabf091e126e548bc9710ccfa95621ece48"
-+"checksum zstd-sys 1.4.13+zstd.1.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fadc8ebe858f056ab82dffb9d93850b841603bdf663db7cf5e3dbd7f34cc55b2"
++"checksum zstd 0.5.1+zstd.1.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5c5d978b793ae64375b80baf652919b148f6a496ac8802922d9999f5a553194f"
++"checksum zstd-safe 2.0.3+zstd.1.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bee25eac9753cfedd48133fa1736cbd23b774e253d89badbeac7d12b23848d3f"
++"checksum zstd-sys 1.4.15+zstd.1.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "89719b034dc22d240d5b407fb0a3fe6d29952c181cff9a9f95c0bd40b4f8f7d8"
diff --git a/pkgs/development/interpreters/wasmtime/default.nix b/pkgs/development/interpreters/wasmtime/default.nix
index 954b7e73b949..0cdf1aae3f7c 100644
--- a/pkgs/development/interpreters/wasmtime/default.nix
+++ b/pkgs/development/interpreters/wasmtime/default.nix
@@ -2,17 +2,17 @@
 
 rustPlatform.buildRustPackage {
   pname = "wasmtime";
-  version = "20191018";
+  version = "20191111";
 
   src = fetchFromGitHub {
-    owner = "CraneStation";
+    owner = "bytecodealliance";
     repo = "wasmtime";
-    rev = "ebef2c6b5720fce164af9ded8b7ff3dd5d7e041c";
-    sha256 = "15wa0by7lb90qd6fg8i2v1hw7hgbkrh1rqhrf7z850c9ydah6n13";
+    rev = "0006a2af954eba74c79885cb1fe8cdeb68f531c1";
+    sha256 = "0lf3pdkjxcrjmjic7xxyjl5dka3arxi809sp9hm4hih5p2fhf2gw";
     fetchSubmodules = true;
   };
 
-  cargoSha256 = "07qz6wl32j6gzc9nxv0dr7y6ixmzbzv5j1flkrysdrfidxlldn9k";
+  cargoSha256 = "0mnwaipa2az3vpgbz4m9siz6bfyhmzwz174k678cv158m7mxx12f";
 
   cargoPatches = [ ./cargo-lock.patch ];
 
diff --git a/pkgs/development/libraries/AntTweakBar/default.nix b/pkgs/development/libraries/AntTweakBar/default.nix
index 94b36b855f25..1ae6346cbe58 100644
--- a/pkgs/development/libraries/AntTweakBar/default.nix
+++ b/pkgs/development/libraries/AntTweakBar/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl, unzip, xorg, libGLU_combined }:
+{ stdenv, fetchurl, unzip, xorg, libGLU, libGL }:
 
 stdenv.mkDerivation {
   name = "AntTweakBar-1.16";
 
-  buildInputs = [ unzip xorg.libX11 libGLU_combined ];
+  buildInputs = [ unzip xorg.libX11 libGLU libGL ];
 
   src = fetchurl {
     url = "mirror://sourceforge/project/anttweakbar/AntTweakBar_116.zip";
diff --git a/pkgs/development/libraries/SDL/setup-hook.sh b/pkgs/development/libraries/SDL/setup-hook.sh
index f3176f3a3045..553e8553a77f 100644
--- a/pkgs/development/libraries/SDL/setup-hook.sh
+++ b/pkgs/development/libraries/SDL/setup-hook.sh
@@ -3,7 +3,7 @@ addSDLPath () {
     export SDL_PATH="${SDL_PATH-}${SDL_PATH:+ }$1/include/SDL"
   fi
   if [ -e "$1/lib" ]; then
-    export SDL_LIB_PATH="${SDL_LIB_PATH-}${SDL_LIB_PATH:+ }$1/lib"
+    export SDL_LIB_PATH="${SDL_LIB_PATH-}${SDL_LIB_PATH:+ }-L$1/lib"
   fi
 }
 
diff --git a/pkgs/development/libraries/ace/default.nix b/pkgs/development/libraries/ace/default.nix
index 04ab13314755..ea352772b33a 100644
--- a/pkgs/development/libraries/ace/default.nix
+++ b/pkgs/development/libraries/ace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ace";
-  version = "6.5.6";
+  version = "6.5.7";
 
   src = fetchurl {
     url = "http://download.dre.vanderbilt.edu/previous_versions/ACE-${version}.tar.bz2";
-    sha256 = "15lfjc8r854hvjfvimhnqc3987b3cdngilhkii9rwpzginbyipi4";
+    sha256 = "0hvd7y3hs8r3r7qbllfaqrva3jrx5razcnwlws822k66v4r10cbx";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/allegro/5.nix b/pkgs/development/libraries/allegro/5.nix
index b267c62d6c70..5f5368f2866d 100644
--- a/pkgs/development/libraries/allegro/5.nix
+++ b/pkgs/development/libraries/allegro/5.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, fetchpatch, texinfo, libXext, xorgproto, libX11
 , libXpm, libXt, libXcursor, alsaLib, cmake, zlib, libpng, libvorbis
 , libXxf86dga, libXxf86misc
-, libXxf86vm, openal, libGLU_combined, libjpeg, flac
+, libXxf86vm, openal, libGLU, libGL, libjpeg, flac
 , libXi, libXfixes, freetype, libopus, libtheora
 , physfs, enet, pkgconfig, gtk2, pcre, libpulseaudio, libpthreadstubs
 , libXdmcp
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     texinfo libXext xorgproto libX11 libXpm libXt libXcursor
     alsaLib cmake zlib libpng libvorbis libXxf86dga libXxf86misc
-    libXxf86vm openal libGLU_combined
+    libXxf86vm openal libGLU libGL
     libjpeg flac
     libXi libXfixes
     enet libtheora freetype physfs libopus pkgconfig gtk2 pcre libXdmcp
diff --git a/pkgs/development/libraries/allegro/default.nix b/pkgs/development/libraries/allegro/default.nix
index 6b44ec1b598a..64488b25b094 100644
--- a/pkgs/development/libraries/allegro/default.nix
+++ b/pkgs/development/libraries/allegro/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, texinfo, libXext, xorgproto, libX11
 , libXpm, libXt, libXcursor, alsaLib, cmake, zlib, libpng, libvorbis
 , libXxf86dga, libXxf86misc
-, libXxf86vm, openal, libGLU_combined }:
+, libXxf86vm, openal, libGLU, libGL }:
 
 stdenv.mkDerivation rec {
   pname = "allegro";
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     texinfo libXext xorgproto libX11 libXpm libXt libXcursor
     alsaLib cmake zlib libpng libvorbis libXxf86dga libXxf86misc
-    libXxf86vm openal libGLU_combined
+    libXxf86vm openal libGLU libGL
   ];
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/development/libraries/armadillo/default.nix b/pkgs/development/libraries/armadillo/default.nix
index a74e883dca52..a9fc7d569efd 100644
--- a/pkgs/development/libraries/armadillo/default.nix
+++ b/pkgs/development/libraries/armadillo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "armadillo";
-  version = "9.800.1";
+  version = "9.800.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
-    sha256 = "1vnshgkz4d992kk2fwqigqfx7gx3145ryb8d2794hn2667h5gkzb";
+    sha256 = "0mslyfzwb8zdhchhj7szj25qi2ain7cnlsrzccrfm2mr4a6jv5h9";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/arrayfire/default.nix b/pkgs/development/libraries/arrayfire/default.nix
index 6e2db870068e..21e93a8cd492 100644
--- a/pkgs/development/libraries/arrayfire/default.nix
+++ b/pkgs/development/libraries/arrayfire/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig
 , cudatoolkit, opencl-clhpp, ocl-icd, fftw, fftwFloat, mkl
-, blas, openblas, boost, mesa, libGLU_combined
+, blas, openblas, boost, mesa, libGLU, libGL
 , freeimage, python, clfft, clblas
 , doxygen, buildDocs ? false
 }:
@@ -51,7 +51,7 @@ in stdenv.mkDerivation rec {
     opencl-clhpp fftw fftwFloat
     mkl
     openblas
-    libGLU_combined
+    libGLU libGL
     mesa freeimage
     boost.out boost.dev
   ] ++ (stdenv.lib.optional stdenv.isLinux [ cudatoolkit ocl-icd ])
diff --git a/pkgs/development/libraries/aspell/default.nix b/pkgs/development/libraries/aspell/default.nix
index 5c3c6272f83d..ad0f910dcbf6 100644
--- a/pkgs/development/libraries/aspell/default.nix
+++ b/pkgs/development/libraries/aspell/default.nix
@@ -15,26 +15,20 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "aspell-0.60.6.1";
+  name = "aspell-0.60.8";
 
   src = fetchurl {
     url = "mirror://gnu/aspell/${name}.tar.gz";
-    sha256 = "1qgn5psfyhbrnap275xjfrzppf5a83fb67gpql0kfqv37al869gm";
+    sha256 = "1wi60ankalmh8ds7nplz434jd7j94gdvbahdwsr539rlad8pxdzr";
   };
 
-  patches = [
-    (fetchpatch { # remove in >= 0.60.7
-      name = "gcc-7.patch";
-      url = "https://github.com/GNUAspell/aspell/commit/8089fa02122fed0a.diff";
-      sha256 = "1b3p1zy2lqr2fknddckm58hyk95hw4scf6hzjny1v9iaic2p37ix";
-    })
-  ] ++ stdenv.lib.optional searchNixProfiles ./data-dirs-from-nix-profiles.patch;
+  patches = stdenv.lib.optional searchNixProfiles ./data-dirs-from-nix-profiles.patch;
 
   postPatch = ''
     patch interfaces/cc/aspell.h < ${./clang.patch}
   '';
 
-  nativeBuildInputs = [ perl ];
+  buildInputs = [ perl ];
 
   doCheck = true;
 
diff --git a/pkgs/development/libraries/at-spi2-core/default.nix b/pkgs/development/libraries/at-spi2-core/default.nix
index bda809b1a5a9..84a8a6b90265 100644
--- a/pkgs/development/libraries/at-spi2-core/default.nix
+++ b/pkgs/development/libraries/at-spi2-core/default.nix
@@ -10,6 +10,7 @@
 
 , dbus
 , glib
+, dconf
 , libX11
 , libXtst # at-spi2-core can be build without X support, but due it is a client-side library, GUI-less usage is a very rare case
 , libXi
@@ -48,7 +49,7 @@ stdenv.mkDerivation rec {
   postFixup = ''
     # Cannot use wrapGAppsHook'due to a dependency cycle
     wrapProgram $out/libexec/at-spi-bus-launcher \
-      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib gnome3.dconf}/lib/gio/modules" \
+      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules" \
       --prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}
   '';
 
diff --git a/pkgs/development/libraries/bcg729/default.nix b/pkgs/development/libraries/bcg729/default.nix
new file mode 100644
index 000000000000..4363948e830d
--- /dev/null
+++ b/pkgs/development/libraries/bcg729/default.nix
@@ -0,0 +1,43 @@
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, cmake
+}:
+
+stdenv.mkDerivation rec {
+  pname = "bcg729";
+  version = "1.0.4";
+
+  src = fetchFromGitHub {
+    owner = "BelledonneCommunications";
+    repo = pname;
+    rev = version;
+    sha256 = "05s0c5ps3a763y0v34wg5zghj0cdjnq4ch7g81848xxry7q90fwa";
+  };
+
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/BelledonneCommunications/bcg729/commit/a5907daf1b111e4ad7aab4f558f57e2af1e37e55.patch";
+      sha256 = "0445syfwj4w4chh8ak80rq77iqcr27924n1ld5snshk3d21nxd64";
+    })
+    (fetchpatch {
+      url = "https://github.com/BelledonneCommunications/bcg729/commit/697bf6653a8c7421f0e821ee8d42471246e6850f.patch";
+      sha256 = "1h3gf5sj2sg5cs5iv1lcav3lkqmd5jf4agvjzz83l89wd5f5hp5l";
+    })
+    (fetchpatch {
+      url = "https://github.com/BelledonneCommunications/bcg729/commit/d63ce04a93711820d9a6985b1d11d8d91ed8e6b6.patch";
+      sha256 = "1piwf63ci2gma6jd6b4adkvxirysvazf0vklb5pc6vx1g93nkgxs";
+    })
+  ];
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with stdenv.lib; {
+    description = "Opensource implementation of both encoder and decoder of the ITU G729 Annex A/B speech codec";
+    homepage = "https://linphone.org/technical-corner/bcg729";
+    changelog = "https://gitlab.linphone.org/BC/public/bcg729/raw/${version}/NEWS";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ c0bw3b ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/bctoolbox/default.nix b/pkgs/development/libraries/bctoolbox/default.nix
index 2730696344e0..a9d21a1f5a96 100644
--- a/pkgs/development/libraries/bctoolbox/default.nix
+++ b/pkgs/development/libraries/bctoolbox/default.nix
@@ -1,19 +1,23 @@
-{stdenv, fetchFromGitHub, cmake, mbedtls, bcunit, srtp}:
+{ stdenv, fetchFromGitHub, cmake, bcunit, mbedtls }:
+
 stdenv.mkDerivation rec {
-  name = "${baseName}-${version}";
-  baseName = "bctoolbox";
+  pname = "bctoolbox";
   version = "0.6.0";
-  buildInputs = [cmake mbedtls bcunit srtp];
+
+  nativeBuildInputs = [ cmake bcunit ];
+  buildInputs = [ mbedtls ];
+
   src = fetchFromGitHub {
     owner = "BelledonneCommunications";
-    repo = baseName;
+    repo = pname;
     rev = version;
     sha256 = "1cxx243wyzkd4xnvpyqf97n0rjhfckpvw1vhwnbwshq3q6fra909";
   };
 
   meta = {
     inherit version;
-    description = ''Utilities library for Linphone'';
+    description = "Utilities library for Linphone";
+    homepage = "https://github.com/BelledonneCommunications/bctoolbox";
     license = stdenv.lib.licenses.gpl2Plus ;
     maintainers = [stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/libraries/belle-sip/default.nix b/pkgs/development/libraries/belle-sip/default.nix
index d4420e40ab69..1745614f741c 100644
--- a/pkgs/development/libraries/belle-sip/default.nix
+++ b/pkgs/development/libraries/belle-sip/default.nix
@@ -1,15 +1,14 @@
-{ stdenv, antlr3_4, libantlr3c, jre, polarssl, fetchFromGitHub
+{ stdenv, antlr3_4, libantlr3c, jre, mbedtls, fetchFromGitHub
   , cmake, zlib, bctoolbox
 }:
 
 stdenv.mkDerivation rec {
-  baseName = "belle-sip";
+  pname = "belle-sip";
   version = "1.6.3";
-  name = "${baseName}-${version}";
 
   src = fetchFromGitHub {
     owner = "BelledonneCommunications";
-    repo = baseName;
+    repo = pname;
     rev = version;
     sha256 = "0q70db1klvhca1af29bm9paka3gyii5hfbzrj4178gclsg7cj8fk";
   };
@@ -24,18 +23,14 @@ stdenv.mkDerivation rec {
     "-Wno-error=cast-function-type"
   ];
 
-  propagatedBuildInputs = [ antlr3_4 libantlr3c polarssl bctoolbox ];
-
-  configureFlags = [
-    "--with-polarssl=${polarssl}"
-  ];
+  propagatedBuildInputs = [ antlr3_4 libantlr3c mbedtls bctoolbox ];
 
   # Fails to build with lots of parallel jobs
   enableParallelBuilding = false;
 
   meta = with stdenv.lib; {
-    homepage = http://www.linphone.org/index.php/eng;
-    description = "A Voice-over-IP phone";
+    homepage = https://linphone.org/technical-corner/belle-sip;
+    description = "Modern library implementing SIP (RFC 3261) transport, transaction and dialog layers";
     license = licenses.gpl2;
     platforms = platforms.all;
   };
diff --git a/pkgs/development/libraries/boehm-gc/7.6.6.nix b/pkgs/development/libraries/boehm-gc/7.6.6.nix
index c2b5c7b60626..1cbbee469e6b 100644
--- a/pkgs/development/libraries/boehm-gc/7.6.6.nix
+++ b/pkgs/development/libraries/boehm-gc/7.6.6.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     urls = [
-      "http://www.hboehm.info/gc/gc_source/gc-${version}.tar.gz"
+      "https://www.hboehm.info/gc/gc_source/gc-${version}.tar.gz"
       "https://github.com/ivmai/bdwgc/releases/download/v${version}/gc-${version}.tar.gz"
     ];
     sha256 = "1p1r015a7jbpvkkbgzv1y8nxrbbp6dg0mq3ksi6ji0qdz3wfss79";
@@ -63,10 +63,10 @@ stdenv.mkDerivation rec {
       C or C++ programs, though that is not its primary goal.
     '';
 
-    homepage = http://hboehm.info/gc/;
+    homepage = https://hboehm.info/gc/;
 
     # non-copyleft, X11-style license
-    license = http://hboehm.info/gc/license.txt;
+    license = https://hboehm.info/gc/license.txt;
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix
index 5ae6200473bd..f061626a897d 100644
--- a/pkgs/development/libraries/boehm-gc/default.nix
+++ b/pkgs/development/libraries/boehm-gc/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   src = fetchurl {
     urls = [
       "https://github.com/ivmai/bdwgc/releases/download/v${version}/gc-${version}.tar.gz"
-      "http://www.hboehm.info/gc/gc_source/gc-${version}.tar.gz"
+      "https://www.hboehm.info/gc/gc_source/gc-${version}.tar.gz"
     ];
     sha256 = "1798rp3mcfkgs38ynkbg2p47bq59pisrc6mn0l20pb5iczf0ssj3";
   };
@@ -58,10 +58,10 @@ stdenv.mkDerivation rec {
       C or C++ programs, though that is not its primary goal.
     '';
 
-    homepage = http://hboehm.info/gc/;
+    homepage = https://hboehm.info/gc/;
 
     # non-copyleft, X11-style license
-    license = http://hboehm.info/gc/license.txt;
+    license = https://hboehm.info/gc/license.txt;
 
     maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/boost/1.71.nix b/pkgs/development/libraries/boost/1.71.nix
new file mode 100644
index 000000000000..f66bd4cd6fb1
--- /dev/null
+++ b/pkgs/development/libraries/boost/1.71.nix
@@ -0,0 +1,15 @@
+{ stdenv, callPackage, fetchurl, fetchpatch, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "1.71.0";
+
+  src = fetchurl {
+    #url = "mirror://sourceforge/boost/boost_1_71_0.tar.bz2";
+    urls = [ 
+      "mirror://sourceforge/boost/boost_1_71_0.tar.bz2"
+      "https://dl.bintray.com/boostorg/release/1.71.0/source/boost_1_71_0.tar.bz2"
+    ];
+    # SHA256 from http://www.boost.org/users/history/version_1_71_0.html
+    sha256 = "d73a8da01e8bf8c7eda40b4c84915071a8c8a0df4a6734537ddde4a8580524ee";
+  };
+})
diff --git a/pkgs/development/libraries/box2d/default.nix b/pkgs/development/libraries/box2d/default.nix
index 328ac434d85a..d4b4c33f35b5 100644
--- a/pkgs/development/libraries/box2d/default.nix
+++ b/pkgs/development/libraries/box2d/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, unzip, cmake, libGLU_combined, freeglut, libX11, xorgproto
+{ stdenv, fetchurl, unzip, cmake, libGLU, libGL, freeglut, libX11, xorgproto
 , libXi, pkgconfig }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    unzip cmake libGLU_combined freeglut libX11 xorgproto libXi
+    unzip cmake libGLU libGL freeglut libX11 xorgproto libXi
   ];
 
   cmakeFlags = [
diff --git a/pkgs/development/libraries/bullet/default.nix b/pkgs/development/libraries/bullet/default.nix
index 1b6c56f13afd..5b4e37eff9f6 100644
--- a/pkgs/development/libraries/bullet/default.nix
+++ b/pkgs/development/libraries/bullet/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, libGLU_combined, freeglut
+{ stdenv, fetchFromGitHub, cmake, libGLU, libGL, freeglut
 , Cocoa,  OpenGL
 }:
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = stdenv.lib.optionals stdenv.isLinux [ libGLU_combined freeglut ]
+  buildInputs = stdenv.lib.optionals stdenv.isLinux [ libGLU libGL freeglut ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa OpenGL ];
 
   patches = [ ./gwen-narrowing.patch ];
diff --git a/pkgs/development/libraries/bullet/roboschool-fork.nix b/pkgs/development/libraries/bullet/roboschool-fork.nix
index 8b0901832d11..34a9ee3b6ee8 100644
--- a/pkgs/development/libraries/bullet/roboschool-fork.nix
+++ b/pkgs/development/libraries/bullet/roboschool-fork.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, libGLU_combined, freeglut
+{ stdenv, fetchFromGitHub, cmake, libGLU, libGL, freeglut
 , Cocoa,  OpenGL
 }:
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = stdenv.lib.optionals stdenv.isLinux [ libGLU_combined freeglut ]
+  buildInputs = stdenv.lib.optionals stdenv.isLinux [ libGLU libGL freeglut ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa OpenGL ];
 
   patches = [ ./gwen-narrowing.patch ];
diff --git a/pkgs/development/libraries/c-blosc/default.nix b/pkgs/development/libraries/c-blosc/default.nix
index 196dd9ca3f9b..4a9e627e5442 100644
--- a/pkgs/development/libraries/c-blosc/default.nix
+++ b/pkgs/development/libraries/c-blosc/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A blocking, shuffling and loss-less compression library";
-    homepage = http://www.blosc.org;
+    homepage = https://www.blosc.org;
     license = licenses.bsd3;
     platforms = platforms.all;
   };
diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix
index 82570fbf7b40..d2e52638d071 100644
--- a/pkgs/development/libraries/cairo/default.nix
+++ b/pkgs/development/libraries/cairo/default.nix
@@ -5,7 +5,7 @@
 , xcbSupport ? x11Support, libxcb, xcbutil # no longer experimental since 1.12
 , libGLSupported ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms
 , glSupport ? config.cairo.gl or (libGLSupported && stdenv.isLinux && !stdenv.isAarch32 && !stdenv.isMips)
-, libGL ? null # libGLU_combined is no longer a big dependency
+, libGL ? null # libGLU libGL is no longer a big dependency
 , pdfSupport ? true
 , darwin
 }:
diff --git a/pkgs/development/libraries/catch2/default.nix b/pkgs/development/libraries/catch2/default.nix
index 19768d77a8dd..86a5e52353ad 100644
--- a/pkgs/development/libraries/catch2/default.nix
+++ b/pkgs/development/libraries/catch2/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "catch2";
-  version = "2.10.2";
+  version = "2.11.0";
 
   src = fetchFromGitHub {
     owner = "catchorg";
     repo = "Catch2";
     rev = "v${version}";
-    sha256="01ldfv4337s3vdhsx415d49jchpvqy61c77dhnri30ip5af0ipjs";
+    sha256="1b07drrclvxj17s67ivypr9vr27rg0m36jqnrbci6f4wsp1b0gbl";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/chipmunk/default.nix b/pkgs/development/libraries/chipmunk/default.nix
index 76f722f31aa7..5dd9917bc52b 100644
--- a/pkgs/development/libraries/chipmunk/default.nix
+++ b/pkgs/development/libraries/chipmunk/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, freeglut, libGLU_combined, glfw2, glew, libX11, xorgproto
+{ stdenv, fetchurl, cmake, freeglut, libGLU, libGL, glfw2, glew, libX11, xorgproto
 , libXi, libXmu
 }:
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
   buildInputs =
-    [ freeglut libGLU_combined glfw2 glew libX11 xorgproto libXi libXmu ];
+    [ freeglut libGLU libGL glfw2 glew libX11 xorgproto libXi libXmu ];
 
   postInstall = ''
     mkdir -p $out/bin
diff --git a/pkgs/development/libraries/clipper/default.nix b/pkgs/development/libraries/clipper/default.nix
index 117524239061..ebb41fde4238 100644
--- a/pkgs/development/libraries/clipper/default.nix
+++ b/pkgs/development/libraries/clipper/default.nix
@@ -15,11 +15,12 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ninja unzip ];
 
   meta = with stdenv.lib; {
+    description = "A polygon and line clipping and offsetting library (C++, C#, Delphi)";
     longDescription = ''
       The Clipper library performs line & polygon clipping - intersection, union, difference & exclusive-or,
       and line & polygon offsetting. The library is based on Vatti's clipping algorithm.
     '';
-    homepage = https://sourceforge.net/projects/polyclipping;
+    homepage = "https://sourceforge.net/projects/polyclipping";
     license = licenses.boost;
     maintainers = with maintainers; [ mpickering ];
     platforms = with platforms; unix;
diff --git a/pkgs/development/libraries/cln/default.nix b/pkgs/development/libraries/cln/default.nix
index 7adc2a365c5b..dc36414fc28d 100644
--- a/pkgs/development/libraries/cln/default.nix
+++ b/pkgs/development/libraries/cln/default.nix
@@ -2,18 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "cln";
-  version = "1.3.4";
+  version = "1.3.5";
 
   src = fetchurl {
     url = "${meta.homepage}${pname}-${version}.tar.bz2";
-    sha256 = "0j5p18hwbbrchsdbnc8d2bf9ncslhflri4i950gdnq7v6g2dg69d";
+    sha256 = "0bc43v4fyxwik9gjkvm8jan74bkx9bjssv61lfh9jhhblmj010bq";
   };
 
   buildInputs = [ gmp ];
 
   meta = with stdenv.lib; {
     description = "C/C++ library for numbers, a part of GiNaC";
-    homepage = http://www.ginac.de/CLN/;
+    homepage = https://www.ginac.de/CLN/;
     license = licenses.gpl2;
     platforms = platforms.unix; # Once had cygwin problems
   };
diff --git a/pkgs/development/libraries/codec2/default.nix b/pkgs/development/libraries/codec2/default.nix
index 7c42a7479b1a..9c31b50c0285 100644
--- a/pkgs/development/libraries/codec2/default.nix
+++ b/pkgs/development/libraries/codec2/default.nix
@@ -1,15 +1,17 @@
-{ stdenv, fetchsvn, cmake } :
+{ stdenv, fetchFromGitHub, cmake } :
 
 let
-  version = "0.8";
+  version = "0.9.2";
 
 in stdenv.mkDerivation {
   pname = "codec2";
   inherit version;
 
-  src = fetchsvn {
-    url = "https://svn.code.sf.net/p/freetel/code/codec2/branches/${version}";
-    sha256 = "0qbyaqdn37253s30n6m2ric8nfdsxhkslb9h572kdx18j2yjccki";
+  src = fetchFromGitHub {
+    owner = "drowe67";
+    repo = "codec2";
+    rev = "v${version}";
+    sha256 = "1jpvr7bra8srz8jvnlbmhf8andbaavq5v01qjnp2f61za93rzwba";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/coredumper/default.nix b/pkgs/development/libraries/coredumper/default.nix
deleted file mode 100644
index ddd0d87a5511..000000000000
--- a/pkgs/development/libraries/coredumper/default.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{stdenv, fetchurl}:
-
-stdenv.mkDerivation {
-  name = "coredumper-1.1";
-  src = fetchurl {
-    url = http://google-coredumper.googlecode.com/files/coredumper-1.1.tar.gz;
-    sha256 = "1phl1zg2n17rp595dyzz9iw01gfdpsdh0l6wy2hfb5shi71h63rx";
-  };
-
-  # Doesn't build:
-  #
-  # src/elfcore.c: In function 'CreatePipeline':
-  # src/elfcore.c:1424:26: error: 'CLONE_VM' undeclared (first use in this function)
-  #                           CLONE_VM|CLONE_UNTRACED|SIGCHLD, &args, 0, 0, 0);
-  #                           ^
-  # src/elfcore.c:1424:26: note: each undeclared identifier is reported only once for each function it appears in
-  meta.broken = true;
-}
diff --git a/pkgs/desktops/gnome-3/core/dconf/default.nix b/pkgs/development/libraries/dconf/default.nix
index 7ce498da9f30..7ce498da9f30 100644
--- a/pkgs/desktops/gnome-3/core/dconf/default.nix
+++ b/pkgs/development/libraries/dconf/default.nix
diff --git a/pkgs/development/libraries/dleyna-core/setup-hook.sh b/pkgs/development/libraries/dleyna-core/setup-hook.sh
index 87b5c67dff58..287ad4dc1897 100644
--- a/pkgs/development/libraries/dleyna-core/setup-hook.sh
+++ b/pkgs/development/libraries/dleyna-core/setup-hook.sh
@@ -1,7 +1,7 @@
 addDleynaConnectorPath () {
     if test -d "$1/lib/dleyna-1.0/connectors"
     then
-        export DLEYNA_CONNECTOR_PATH="${DLEYNA_CONNECTOR_PATH}${DLEYNA_CONNECTOR_PATH:+:}$1/lib/dleyna-1.0/connectors"
+        export DLEYNA_CONNECTOR_PATH="${DLEYNA_CONNECTOR_PATH-}${DLEYNA_CONNECTOR_PATH:+:}$1/lib/dleyna-1.0/connectors"
     fi
 }
 
diff --git a/pkgs/development/libraries/egl-wayland/default.nix b/pkgs/development/libraries/egl-wayland/default.nix
new file mode 100644
index 000000000000..fa2c3687ba77
--- /dev/null
+++ b/pkgs/development/libraries/egl-wayland/default.nix
@@ -0,0 +1,79 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkgconfig
+, meson
+, ninja
+, libX11
+, mesa
+, libGL
+, wayland
+}:
+
+let
+  eglexternalplatform = stdenv.mkDerivation {
+    pname = "eglexternalplatform";
+    version = "1.1";
+
+    src = fetchFromGitHub {
+      owner = "Nvidia";
+      repo = "eglexternalplatform";
+      rev = "7c8f8e2218e46b1a4aa9538520919747f1184d86";
+      sha256 = "0lr5s2xa1zn220ghmbsiwgmx77l156wk54c7hybia0xpr9yr2nhb";
+    };
+
+    installPhase = ''
+      mkdir -p "$out/include/"
+      cp interface/eglexternalplatform.h "$out/include/"
+      cp interface/eglexternalplatformversion.h "$out/include/"
+
+      substituteInPlace eglexternalplatform.pc \
+        --replace "/usr/include/EGL" "$out/include"
+      mkdir -p "$out/share/pkgconfig"
+      cp eglexternalplatform.pc "$out/share/pkgconfig/"
+    '';
+
+    meta = with lib; {
+      license = licenses.mit;
+    };
+  };
+
+in stdenv.mkDerivation rec {
+  pname = "egl-wayland";
+  version = "1.1.4";
+
+  outputs = [ "out" "dev" ];
+
+  src = fetchFromGitHub {
+    owner = "Nvidia";
+    repo = pname;
+    rev = version;
+    sha256 = "0wvamjcfycd7rgk7v14g2rin55xin9rfkxmivyay3cm08vnl7y1d";
+  };
+
+  # Add missing include
+  # https://github.com/NVIDIA/egl-wayland/pull/24
+  patches = [ ./eglmesaext.patch ];
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkgconfig
+  ];
+
+  buildInputs = [
+    eglexternalplatform
+    libX11
+    mesa
+    libGL
+    wayland
+  ];
+
+  meta = with lib; {
+    description = "The EGLStream-based Wayland external platform";
+    homepage = https://github.com/NVIDIA/egl-wayland/;
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ hedning ];
+  };
+}
diff --git a/pkgs/development/libraries/egl-wayland/eglmesaext.patch b/pkgs/development/libraries/egl-wayland/eglmesaext.patch
new file mode 100644
index 000000000000..9384ecff9b0f
--- /dev/null
+++ b/pkgs/development/libraries/egl-wayland/eglmesaext.patch
@@ -0,0 +1,12 @@
+diff --git a/src/wayland-eglsurface.c b/src/wayland-eglsurface.c
+index 01c9cb3..45736b0 100644
+--- a/src/wayland-eglsurface.c
++++ b/src/wayland-eglsurface.c
+@@ -37,6 +37,7 @@
+ #include <sys/types.h>
+ #include <netinet/in.h>
+ #include <fcntl.h>
++#include <EGL/eglmesaext.h>
+ 
+ #define WL_EGL_WINDOW_DESTROY_CALLBACK_SINCE 3
+ 
diff --git a/pkgs/development/libraries/exempi/default.nix b/pkgs/development/libraries/exempi/default.nix
index 22c812ba4c21..5638db712451 100644
--- a/pkgs/development/libraries/exempi/default.nix
+++ b/pkgs/development/libraries/exempi/default.nix
@@ -19,7 +19,8 @@ stdenv.mkDerivation rec {
   doCheck = stdenv.isLinux;
 
   meta = with stdenv.lib; {
-    homepage = https://libopenraw.freedesktop.org/wiki/Exempi/;
+    description = "An implementation of XMP (Adobe's Extensible Metadata Platform)";
+    homepage = "https://libopenraw.freedesktop.org/wiki/Exempi/";
     platforms = platforms.linux ++ platforms.darwin;
     license = licenses.bsd3;
   };
diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix
index 9ab112dac127..0a9fa64afe37 100644
--- a/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -104,7 +104,7 @@
 #, opencl ? null # OpenCL code
 , opencore-amr ? null # AMR-NB de/encoder & AMR-WB decoder
 #, opencv ? null # Video filtering
-, openglExtlib ? false, libGLU_combined ? null # OpenGL rendering
+, openglExtlib ? false, libGL ? null, libGLU ? null # OpenGL rendering
 #, openh264 ? null # H.264/AVC encoder
 , openjpeg ? null # JPEG 2000 de/encoder
 , opensslExtlib ? false, openssl ? null
@@ -234,7 +234,7 @@ assert gnutls != null -> !opensslExtlib;
 assert libxcbshmExtlib -> libxcb != null;
 assert libxcbxfixesExtlib -> libxcb != null;
 assert libxcbshapeExtlib -> libxcb != null;
-assert openglExtlib -> libGLU_combined != null;
+assert openglExtlib -> libGL != null && libGLU != null;
 assert opensslExtlib -> gnutls == null && openssl != null && nonfreeLicensing;
 
 stdenv.mkDerivation rec {
@@ -424,7 +424,7 @@ stdenv.mkDerivation rec {
     libxcb libXv libXext lzma openal openjpeg libpulseaudio rtmpdump opencore-amr
     samba SDL2 soxr speex vid-stab vo-amrwbenc wavpack x264 x265 xavs xvidcore
     zeromq4 zlib
-  ] ++ optional openglExtlib libGLU_combined
+  ] ++ optionals openglExtlib [ libGL libGLU ]
     ++ optionals nonfreeLicensing [ fdk_aac openssl ]
     ++ optional ((isLinux || isFreeBSD) && libva != null) libva
     ++ optional (!isAarch64 && libvmaf != null && version3Licensing) libvmaf
diff --git a/pkgs/development/libraries/ffmpeg/2.8.nix b/pkgs/development/libraries/ffmpeg/2.8.nix
index 5ffbc215d8b3..98ada9a3f09f 100644
--- a/pkgs/development/libraries/ffmpeg/2.8.nix
+++ b/pkgs/development/libraries/ffmpeg/2.8.nix
@@ -1,7 +1,7 @@
 { callPackage, ... } @ args:
 
-callPackage ./generic.nix (args // rec {
+callPackage ./generic.nix (rec {
   version = "${branch}.14";
   branch = "2.8";
   sha256 = "1g6x3lyjl1zlfksizj1ys61kj97yg0xf4dlr6sr5acpbja3a26yn";
-})
+} // args)
diff --git a/pkgs/development/libraries/ffmpeg/3.4.nix b/pkgs/development/libraries/ffmpeg/3.4.nix
index bea367b2554e..759fba65587f 100644
--- a/pkgs/development/libraries/ffmpeg/3.4.nix
+++ b/pkgs/development/libraries/ffmpeg/3.4.nix
@@ -4,9 +4,9 @@
 , ...
 }@args:
 
-callPackage ./generic.nix (args // rec {
+callPackage ./generic.nix (rec {
   version = branch;
   branch = "3.4.6";
   sha256 = "1s20wzgxxrm56gckyb8cf1lh36hdnkdxvmmnnvdxvia4zb3grf1b";
   darwinFrameworks = [ Cocoa CoreMedia ];
-})
+} // args)
diff --git a/pkgs/development/libraries/ffmpeg/4.nix b/pkgs/development/libraries/ffmpeg/4.nix
index a0b95cecaaba..387069d16189 100644
--- a/pkgs/development/libraries/ffmpeg/4.nix
+++ b/pkgs/development/libraries/ffmpeg/4.nix
@@ -4,9 +4,9 @@
 , ...
 }@args:
 
-callPackage ./generic.nix (args // rec {
+callPackage ./generic.nix (rec {
   version = "4.2.1";
   branch = "4.2";
   sha256 = "090naa6rj46pzkgh03bf51hbqdz356qqckr2pw6pykc6ysiryak8";
   darwinFrameworks = [ Cocoa CoreMedia VideoToolbox ];
-})
+} // args)
diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix
index ccdf4662719a..ba59b0c16e6f 100644
--- a/pkgs/development/libraries/ffmpeg/generic.nix
+++ b/pkgs/development/libraries/ffmpeg/generic.nix
@@ -2,7 +2,7 @@
 , alsaLib, bzip2, fontconfig, freetype, gnutls, libiconv, lame, libass, libogg
 , libssh, libtheora, libva, libdrm, libvorbis, libvpx, lzma, libpulseaudio, soxr
 , x264, x265, xvidcore, zlib, libopus, speex, nv-codec-headers, dav1d
-, openglSupport ? false, libGLU_combined ? null
+, openglSupport ? false, libGLU ? null, libGL ? null
 , libmfxSupport ? false, intel-media-sdk ? null
 , libaomSupport ? false, libaom ? null
 # Build options
@@ -63,7 +63,7 @@ let
   vpxSupport = reqMin "0.6" && !isAarch32;
 in
 
-assert openglSupport -> libGLU_combined != null;
+assert openglSupport -> libGL != null && libGLU != null;
 assert libmfxSupport -> intel-media-sdk != null;
 assert libaomSupport -> libaom != null;
 
@@ -168,7 +168,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     bzip2 fontconfig freetype gnutls libiconv lame libass libogg libssh libtheora
     libvdpau libvorbis lzma soxr x264 x265 xvidcore zlib libopus speex nv-codec-headers
-  ] ++ optional openglSupport libGLU_combined
+  ] ++ optionals openglSupport [ libGL libGLU ]
     ++ optional libmfxSupport intel-media-sdk
     ++ optional vpxSupport libaom
     ++ optional vpxSupport libvpx
diff --git a/pkgs/development/libraries/flatpak/default.nix b/pkgs/development/libraries/flatpak/default.nix
index c0cbb763d36f..945f1d4931fb 100644
--- a/pkgs/development/libraries/flatpak/default.nix
+++ b/pkgs/development/libraries/flatpak/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, autoreconfHook, docbook_xml_dtd_412, docbook_xml_dtd_42, docbook_xml_dtd_43, docbook_xsl, which, libxml2
 , gobject-introspection, gtk-doc, intltool, libxslt, pkgconfig, xmlto, appstream-glib, substituteAll, glibcLocales, yacc, xdg-dbus-proxy, p11-kit
 , bubblewrap, bzip2, dbus, glib, gpgme, json-glib, libarchive, libcap, libseccomp, coreutils, gettext, hicolor-icon-theme, fuse, nixosTests
-, libsoup, lzma, ostree, polkit, python3, systemd, xorg, valgrind, glib-networking, wrapGAppsHook, gnome3, gsettings-desktop-schemas, librsvg }:
+, libsoup, lzma, ostree, polkit, python3, systemd, xorg, valgrind, glib-networking, wrapGAppsHook, dconf, gsettings-desktop-schemas, librsvg }:
 
 stdenv.mkDerivation rec {
   pname = "flatpak";
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    bubblewrap bzip2 dbus gnome3.dconf glib gpgme json-glib libarchive libcap libseccomp
+    bubblewrap bzip2 dbus dconf glib gpgme json-glib libarchive libcap libseccomp
     libsoup lzma ostree polkit python3 systemd xorg.libXau fuse
     gsettings-desktop-schemas glib-networking
     librsvg # for flatpak-validate-icon
diff --git a/pkgs/development/libraries/fltk/1.4.nix b/pkgs/development/libraries/fltk/1.4.nix
index eebe119d142f..1fe50b402cb6 100644
--- a/pkgs/development/libraries/fltk/1.4.nix
+++ b/pkgs/development/libraries/fltk/1.4.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, xlibsWrapper, xorgproto, libXi
-, freeglut, libGLU_combined, libjpeg, zlib, libXft, libpng
+, freeglut, libGLU, libGL, libjpeg, zlib, libXft, libpng
 , libtiff, freetype, Cocoa, AGL, GLUT
 }:
 
@@ -12,14 +12,14 @@ stdenv.mkDerivation {
   inherit version;
 
   src = fetchurl {
-    url = "http://fltk.org/pub/fltk/snapshots/fltk-${version}.tar.gz";
+    url = "https://www.fltk.org/pub/fltk/snapshots/fltk-${version}.tar.gz";
     sha256 = "1v8wxvxcbk99i82x2v5fpqg5vj8n7g8a38g30ry7nzcjn5sf3r63";
   };
 
   patches = stdenv.lib.optionals stdenv.isDarwin [ ./nsosv.patch ];
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libGLU_combined libjpeg zlib libpng libXft ]
+  buildInputs = [ libGLU libGL libjpeg zlib libpng libXft ]
     ++ stdenv.lib.optional stdenv.isDarwin [ AGL Cocoa GLUT ];
 
   propagatedBuildInputs = [ xorgproto ]
@@ -41,7 +41,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "A C++ cross-platform lightweight GUI library";
-    homepage = http://www.fltk.org;
+    homepage = https://www.fltk.org;
     platforms = platforms.linux ++ platforms.darwin;
     license = licenses.gpl2;
   };
diff --git a/pkgs/development/libraries/fltk/default.nix b/pkgs/development/libraries/fltk/default.nix
index 6f185e38d839..fe7de504b4f3 100644
--- a/pkgs/development/libraries/fltk/default.nix
+++ b/pkgs/development/libraries/fltk/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
   inherit version;
 
   src = fetchurl {
-    url = "http://fltk.org/pub/fltk/${version}/fltk-${version}-source.tar.gz";
+    url = "https://www.fltk.org/pub/fltk/${version}/fltk-${version}-source.tar.gz";
     sha256 = "00jp24z1818k9n6nn6lx7qflqf2k13g4kxr0p8v1d37kanhb4ac7";
   };
 
@@ -39,7 +39,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "A C++ cross-platform lightweight GUI library";
-    homepage = http://www.fltk.org;
+    homepage = https://www.fltk.org;
     platforms = platforms.linux ++ platforms.darwin;
     license = licenses.gpl2;
   };
diff --git a/pkgs/development/libraries/forge/default.nix b/pkgs/development/libraries/forge/default.nix
index e6e002f16c5a..83630aef9aa8 100644
--- a/pkgs/development/libraries/forge/default.nix
+++ b/pkgs/development/libraries/forge/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig
 , arrayfire, expat, fontconfig, freeimage, freetype, boost
-, mesa, libGLU_combined, glfw3, SDL2, cudatoolkit
+, mesa, libGLU, libGL, glfw3, SDL2, cudatoolkit
 }:
 
 stdenv.mkDerivation rec {
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     boost.dev
     freeimage
     mesa
-    libGLU_combined
+    libGLU libGL
     glfw3
     SDL2
     cudatoolkit
diff --git a/pkgs/development/libraries/fox/fox-1.6.nix b/pkgs/development/libraries/fox/fox-1.6.nix
index af387b7232f4..bb59a34b1cc7 100644
--- a/pkgs/development/libraries/fox/fox-1.6.nix
+++ b/pkgs/development/libraries/fox/fox-1.6.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, xlibsWrapper, libpng, libjpeg, libtiff, zlib, bzip2, libXcursor
-, libXrandr, libGLU_combined, libXft, libXfixes, xinput
+, libXrandr, libGLU, libGL, libXft, libXfixes, xinput
 , CoreServices }:
 
 let
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     xlibsWrapper libpng libjpeg libtiff zlib bzip2 libXcursor libXrandr
-    libXft libGLU_combined libXfixes xinput
+    libXft libGLU libGL libXfixes xinput
   ] ++ stdenv.lib.optional stdenv.isDarwin CoreServices;
 
   doCheck = true;
diff --git a/pkgs/development/libraries/freenect/default.nix b/pkgs/development/libraries/freenect/default.nix
index 41480789a08a..9520542481c8 100644
--- a/pkgs/development/libraries/freenect/default.nix
+++ b/pkgs/development/libraries/freenect/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, cmake, libusb, pkgconfig, freeglut, libGLU_combined, libXi, libXmu
+{ stdenv, lib, fetchFromGitHub, cmake, libusb, pkgconfig, freeglut, libGLU, libGL, libXi, libXmu
 , GLUT, Cocoa
  }:
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "0vnc7z2avckh4mccqq6alsd2z7xvsh3kaslc5b0gnfxw0j269gl6";
   };
 
-  buildInputs = [ libusb freeglut libGLU_combined libXi libXmu ]
+  buildInputs = [ libusb freeglut libGLU libGL libXi libXmu ]
     ++ lib.optionals stdenv.isDarwin [ GLUT Cocoa ];
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/development/libraries/freetds/default.nix b/pkgs/development/libraries/freetds/default.nix
index 0ff9cea3d27c..855ca0385dfd 100644
--- a/pkgs/development/libraries/freetds/default.nix
+++ b/pkgs/development/libraries/freetds/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Libraries to natively talk to Microsoft SQL Server and Sybase databases";
-    homepage    = http://www.freetds.org;
+    homepage    = https://www.freetds.org;
     license     = licenses.lgpl2;
     maintainers = with maintainers; [ peterhoeg ];
     platforms   = platforms.all;
diff --git a/pkgs/development/libraries/gaia/default.nix b/pkgs/development/libraries/gaia/default.nix
index 9411f76908eb..b154f80c1dd2 100644
--- a/pkgs/development/libraries/gaia/default.nix
+++ b/pkgs/development/libraries/gaia/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , libyaml
 , swig
+, eigen
 , pkgconfig
 , wafHook
 , makeWrapper
@@ -19,13 +20,13 @@ assert pythonSupport -> pythonPackages != null;
 
 stdenv.mkDerivation rec {
   pname = "gaia";
-  version = "2.4.5";
+  version = "2.4.6";
 
   src = fetchFromGitHub {
     owner = "MTG";
     repo = "gaia";
     rev = "v${version}";
-    sha256 = "12jxb354s2dblr2ghnl3w05m23jgzvrrgywfj8jaa32j3gw48fv2";
+    sha256 = "03vmdq7ca4f7zp2f4sxyqa8sdpdma3mn9fz4z7d93qryl0bhi7z3";
   };
 
   # Fix installation error when waf tries to put files in /etc/
@@ -50,6 +51,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     libyaml
+    eigen
     qt4
   ];
 
@@ -79,7 +81,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/MTG/gaia";
     description = "General library to work with points in a semimetric space";
     maintainers = with maintainers; [ doronbehar ];
-    platforms = platforms.all;
+    platforms = platforms.x86; # upstream assume SSE2 / fails on ARM
     license = licenses.agpl3;
   };
 }
diff --git a/pkgs/development/libraries/garmintools/default.nix b/pkgs/development/libraries/garmintools/default.nix
index c1f9c6ad0137..a086648c9124 100644
--- a/pkgs/development/libraries/garmintools/default.nix
+++ b/pkgs/development/libraries/garmintools/default.nix
@@ -7,7 +7,8 @@ stdenv.mkDerivation {
   };
   buildInputs = [ libusb ];
   meta = {
-    homepage = https://code.google.com/archive/p/garmintools/; # community clone at https://github.com/ianmartin/garmintools
+    description = "Provides the ability to communicate with the Garmin Forerunner 305 via the USB interface";
+    homepage = "https://code.google.com/archive/p/garmintools/"; # community clone at https://github.com/ianmartin/garmintools
     license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.ocharles ];
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix
index f4c554395d45..9c2da3c5b695 100644
--- a/pkgs/development/libraries/gdk-pixbuf/default.nix
+++ b/pkgs/development/libraries/gdk-pixbuf/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, nixosTests, fixDarwinDylibNames, meson, ninja, pkgconfig, gettext, python3, libxml2, libxslt, docbook_xsl
 , docbook_xml_dtd_43, gtk-doc, glib, libtiff, libjpeg, libpng, libX11, gnome3
-, jasper, gobject-introspection, doCheck ? false, makeWrapper }:
+, gobject-introspection, doCheck ? false, makeWrapper }:
 
 let
   pname = "gdk-pixbuf";
@@ -31,11 +31,10 @@ in stdenv.mkDerivation rec {
   ]
     ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
-  propagatedBuildInputs = [ glib libtiff libjpeg libpng jasper ];
+  propagatedBuildInputs = [ glib libtiff libjpeg libpng ];
 
   mesonFlags = [
     "-Ddocs=true"
-    "-Djasper=true"
     "-Dx11=true"
     "-Dgir=${if gobject-introspection != null then "true" else "false"}"
     "-Dgio_sniffing=false"
diff --git a/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh b/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh
index 8b6c80867a03..06958be32131 100644
--- a/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh
+++ b/pkgs/development/libraries/gdk-pixbuf/setup-hook.sh
@@ -4,7 +4,7 @@ findGdkPixbufLoaders() {
 	local loadersCache="$1/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"
 	if [[ -f "$loadersCache" ]]; then
 		if [[ -f "${GDK_PIXBUF_MODULE_FILE-}" ]]; then
-			if [[ "$(cat "$loadersCache" | wc -l)" > "$(cat "$GDK_PIXBUF_MODULE_FILE" | wc -l)" ]]; then
+			if (( "$(cat "$loadersCache" | wc -l)" > "$(cat "$GDK_PIXBUF_MODULE_FILE" | wc -l)" )); then
 				export GDK_PIXBUF_MODULE_FILE="$loadersCache"
 			fi
 		else
diff --git a/pkgs/development/libraries/geoip/default.nix b/pkgs/development/libraries/geoip/default.nix
index 4525f9232862..d55983952b8c 100644
--- a/pkgs/development/libraries/geoip/default.nix
+++ b/pkgs/development/libraries/geoip/default.nix
@@ -40,6 +40,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ thoughtpolice raskin ];
     license     = licenses.lgpl21;
     platforms   = platforms.unix;
-    homepage    = "http://maxmind.com";
+    homepage    = "https://www.maxmind.com";
   };
 }
diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix
index 3c1e98730fa1..157f801d2f2f 100644
--- a/pkgs/development/libraries/gettext/default.nix
+++ b/pkgs/development/libraries/gettext/default.nix
@@ -21,10 +21,6 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
      "--disable-csharp" "--with-xz"
-     # avoid retaining reference to CF during stdenv bootstrap
-  ] ++ lib.optionals stdenv.isDarwin [
-    "gt_cv_func_CFPreferencesCopyAppValue=no"
-    "gt_cv_func_CFLocaleCopyCurrent=no"
   ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
     # On cross building, gettext supposes that the wchar.h from libc
     # does not fulfill gettext needs, so it tries to work with its
diff --git a/pkgs/development/libraries/gjs/default.nix b/pkgs/development/libraries/gjs/default.nix
index 6430be0b57fc..7facdc1426fe 100644
--- a/pkgs/development/libraries/gjs/default.nix
+++ b/pkgs/development/libraries/gjs/default.nix
@@ -7,41 +7,43 @@
 , gobject-introspection
 , spidermonkey_60
 , pango
+, cairo
 , readline
 , glib
 , libxml2
 , dbus
 , gdk-pixbuf
 , makeWrapper
+, nixosTests
 }:
 
 stdenv.mkDerivation rec {
   pname = "gjs";
-  version = "1.58.1";
+  version = "1.58.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gjs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1xf68rbagkflb9yi3visfw8cbxqlzd717y8jakgw0y6whzm1dpxl";
+    sha256 = "1bkksx362007zs8c31ydygb29spwa5g5kch1ad2grc2sp53wv7ya";
   };
 
-  outputs = [ "out" "installedTests" ];
+  outputs = [ "out" "dev" "installedTests" ];
 
   nativeBuildInputs = [
     pkgconfig
     makeWrapper
+    libxml2 # for xml-stripblanks
   ];
 
   buildInputs = [
-    libxml2
     gobject-introspection
-    glib
-    pango
+    cairo
     readline
-    dbus
+    spidermonkey_60
+    dbus # for dbus-run-session
   ];
 
   propagatedBuildInputs = [
-    spidermonkey_60
+    glib
   ];
 
   configureFlags = [
@@ -55,8 +57,6 @@ stdenv.mkDerivation rec {
   '';
 
   postInstall = ''
-    sed 's|-lreadline|-L${readline.out}/lib -lreadline|g' -i $out/lib/libgjs.la
-
     moveToOutput "share/installed-tests" "$installedTests"
     moveToOutput "libexec/gjs/installed-tests" "$installedTests"
 
@@ -67,6 +67,10 @@ stdenv.mkDerivation rec {
   separateDebugInfo = stdenv.isLinux;
 
   passthru = {
+    tests = {
+      installed-tests = nixosTests.installed-tests.gjs;
+    };
+
     updateScript = gnome3.updateScript {
       packageName = "gjs";
     };
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index 494d0a61f062..706e99179f5d 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -48,11 +48,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "glib";
-  version = "2.62.2";
+  version = "2.62.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1wdkvqq6fkk99smmnjg7d999v4qhbgs7halwfcwz0vgp2fj29239";
+    sha256 = "1i2mlrd351dnmpfi465qmx9rhgyff01j29a2x3lczzyky34ss024";
   };
 
   patches = optionals stdenv.isDarwin [
diff --git a/pkgs/development/libraries/glib/setup-hook.sh b/pkgs/development/libraries/glib/setup-hook.sh
index 20714ea7ab87..37c750b8db66 100644
--- a/pkgs/development/libraries/glib/setup-hook.sh
+++ b/pkgs/development/libraries/glib/setup-hook.sh
@@ -1,8 +1,8 @@
 
 make_glib_find_gsettings_schemas() {
     # For packages that need gschemas of other packages (e.g. empathy)
-    for maybe_dir in "$1"/share/gsettings-schemas/*/glib-2.0; do
-        if [[ -d "$maybe_dir/schemas" ]]; then
+    for maybe_dir in "$1"/share/gsettings-schemas/*; do
+        if [[ -d "$maybe_dir/glib-2.0/schemas" ]]; then
             addToSearchPath GSETTINGS_SCHEMAS_PATH "$maybe_dir"
         fi
     done
diff --git a/pkgs/development/libraries/glui/default.nix b/pkgs/development/libraries/glui/default.nix
index 59357bf6fb1b..8ac42375bf92 100644
--- a/pkgs/development/libraries/glui/default.nix
+++ b/pkgs/development/libraries/glui/default.nix
@@ -1,8 +1,27 @@
-{stdenv, fetchurl, freeglut, libGLU_combined, libXmu, libXext, libX11, libXi}:
-stdenv.mkDerivation {
-  name = "glui-2.35";
-  buildInputs = [freeglut libGLU_combined libXmu libXext libX11 libXi];
+{ stdenv
+, fetchurl
+, freeglut
+, libGL
+, libGLU
+, libX11
+, libXext
+, libXi
+, libXmu
+}:
+
+stdenv.mkDerivation rec {
+  pname = "glui";
+  version = "2.36";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/glui/Source/${version}/glui-${version}.tgz";
+    sha256 = "11r7f0k5jlbl825ibhm5c6bck0fn1hbliya9x1f253ikry1mxvy1";
+  };
+
+  buildInputs = [ freeglut libGLU libGL libXmu libXext libX11 libXi ];
+
   preConfigure = ''cd src'';
+
   installPhase = ''
     mkdir -p "$out"/{bin,lib,share/glui/doc,include}
     cp -rT bin "$out/bin"
@@ -11,14 +30,11 @@ stdenv.mkDerivation {
     cp -rT doc "$out/share/glui/doc"
     cp LICENSE.txt "$out/share/glui/doc"
   '';
-  src = fetchurl {
-    url = "mirror://sourceforge/project/glui/Source/2.36/glui-2.36.tgz";
-    sha256 = "11r7f0k5jlbl825ibhm5c6bck0fn1hbliya9x1f253ikry1mxvy1";
-  };
-  meta = {
+
+  meta = with stdenv.lib; {
     description = ''A user interface library using OpenGL'';
-    license = stdenv.lib.licenses.zlib ;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.zlib ;
+    maintainers = [ maintainers.raskin ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/gmime/3.nix b/pkgs/development/libraries/gmime/3.nix
index 81546e5c1272..754d5aa74114 100644
--- a/pkgs/development/libraries/gmime/3.nix
+++ b/pkgs/development/libraries/gmime/3.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, glib, zlib, gnupg, gpgme, libidn2, libunistring, gobject-introspection }:
 
 stdenv.mkDerivation rec {
-  version = "3.2.3";
+  version = "3.2.5";
   pname = "gmime";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gmime/3.2/${pname}-${version}.tar.xz";
-    sha256 = "04bk7rqs5slpvlvqf11i6s37s8b2xn6acls8smyl9asjnpp7a23a";
+    sha256 = "0ndsg1z1kq4w4caascydvialpyn4rfbjdn7xclzbzhw53x85cxgv";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/goffice/default.nix b/pkgs/development/libraries/goffice/default.nix
index a18bdb177449..f41fa73a6ef4 100644
--- a/pkgs/development/libraries/goffice/default.nix
+++ b/pkgs/development/libraries/goffice/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "goffice";
-  version = "0.10.45";
+  version = "0.10.46";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "702ba567e9ec0bbdd9b1a8161cd24648b4868d57a6cb89128f13c125f6f31947";
+    sha256 = "058d6d3a40e1f60525682ec6b857c441d5deb50d0d30a76804f9f36f865a13a9";
   };
 
   nativeBuildInputs = [ pkgconfig intltool ];
diff --git a/pkgs/development/libraries/grib-api/default.nix b/pkgs/development/libraries/grib-api/default.nix
index 38243ce5a6d8..0c9e4bf31563 100644
--- a/pkgs/development/libraries/grib-api/default.nix
+++ b/pkgs/development/libraries/grib-api/default.nix
@@ -1,5 +1,5 @@
-{ fetchurl, stdenv,
-  cmake, netcdf, gfortran, jasper, libpng,
+{ fetchurl, fetchpatch, stdenv,
+  cmake, netcdf, gfortran, libpng, openjpeg,
   enablePython ? false, pythonPackages }:
 
 stdenv.mkDerivation rec{
@@ -11,6 +11,13 @@ stdenv.mkDerivation rec{
     sha256 = "0qbj12ap7yy2rl1pq629chnss2jl73wxdj1lwzv0xp87r6z5qdfl";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://salsa.debian.org/science-team/grib-api/raw/debian/1.28.0-2/debian/patches/openjpeg2.patch";
+      sha256 = "05faxh51vlidiazxq1ssd3k4cjivk1adyn30k94mxqa1xnb2r2pc";
+    })
+  ];
+
   preConfigure = ''
     # Fix "no member named 'inmem_' in 'jas_image_t'"
     substituteInPlace "src/grib_jasper_encoding.c" --replace "image.inmem_    = 1;" ""
@@ -19,8 +26,8 @@ stdenv.mkDerivation rec{
   buildInputs = [ cmake
                   netcdf
                   gfortran
-                  jasper
                   libpng
+                  openjpeg
                 ] ++ stdenv.lib.optionals enablePython [
                   pythonPackages.python
                 ];
@@ -32,6 +39,7 @@ stdenv.mkDerivation rec{
   cmakeFlags = [ "-DENABLE_PYTHON=${if enablePython then "ON" else "OFF"}"
                  "-DENABLE_PNG=ON"
                  "-DENABLE_FORTRAN=ON"
+                 "-DOPENJPEG_INCLUDE_DIR=${openjpeg.dev}/include/${openjpeg.incDir}"
                ];
 
   enableParallelBuilding = true;
@@ -52,13 +60,15 @@ stdenv.mkDerivation rec{
     homepage = https://software.ecmwf.int/wiki/display/GRIB/Home;
     license = licenses.asl20;
     platforms = with platforms; linux ++ darwin;
-    description = "ECMWF Library for the GRIB file format";
+    description = "ECMWF Library for the GRIB file format -- DEPRECATED";
     longDescription = ''
       The ECMWF GRIB API is an application program interface accessible from C,
       FORTRAN and Python programs developed for encoding and decoding WMO FM-92
       GRIB edition 1 and edition 2 messages.
+
+      Please note: GRIB-API support is being discontinued at the end of 2018.
+      After which there will be no further releases. Please upgrade to ecCodes
     '';
     maintainers = with maintainers; [ knedlsepp ];
   };
 }
-
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index de8556ccc96a..22815c956472 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -70,7 +70,8 @@
 , xvidcore
 , gnutls
 , mjpegtools
-, libGLU_combined
+, libGLU
+, libGL
 , libintl
 , libgme
 , openssl
@@ -148,7 +149,8 @@ in stdenv.mkDerivation rec {
     libwebp
     xvidcore
     gnutls
-    libGLU_combined
+    libGL
+    libGLU
     libgme
     openssl
     x265
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
index 1c7107e50fa0..9fa94a02f88a 100644
--- a/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -44,7 +44,7 @@
 assert gtkSupport -> gtk3 != null;
 
 let
-  inherit (stdenv.lib) optional optionals;
+  inherit (stdenv.lib) optionals;
 in
 stdenv.mkDerivation rec {
   pname = "gst-plugins-good";
@@ -93,7 +93,7 @@ stdenv.mkDerivation rec {
     xorg.libXfixes
     xorg.libXdamage
     wavpack
-  ] ++ optional gtkSupport [
+  ] ++ optionals gtkSupport [
     # for gtksink
     gtk3
   ] ++ optionals stdenv.isDarwin [
diff --git a/pkgs/development/libraries/gstreamer/vaapi/default.nix b/pkgs/development/libraries/gstreamer/vaapi/default.nix
index bfa5abc7b531..0b47ef2244c6 100644
--- a/pkgs/development/libraries/gstreamer/vaapi/default.nix
+++ b/pkgs/development/libraries/gstreamer/vaapi/default.nix
@@ -10,7 +10,8 @@
 , libdrm
 , udev
 , xorg
-, libGLU_combined
+, libGLU
+, libGL
 , gstreamer
 , gst-plugins-bad
 , nasm
@@ -50,7 +51,8 @@ stdenv.mkDerivation rec {
     xorg.libXrandr
     xorg.libSM
     xorg.libICE
-    libGLU_combined
+    libGL
+    libGLU
     nasm
     libvpx
     python
diff --git a/pkgs/misc/themes/gtk2/gtk-engine-bluecurve/default.nix b/pkgs/development/libraries/gtk-engine-bluecurve/default.nix
index 99ca221f5ba2..99ca221f5ba2 100644
--- a/pkgs/misc/themes/gtk2/gtk-engine-bluecurve/default.nix
+++ b/pkgs/development/libraries/gtk-engine-bluecurve/default.nix
diff --git a/pkgs/misc/themes/gtk2/gtk-engine-murrine/default.nix b/pkgs/development/libraries/gtk-engine-murrine/default.nix
index 9acb7b25a0dd..9acb7b25a0dd 100644
--- a/pkgs/misc/themes/gtk2/gtk-engine-murrine/default.nix
+++ b/pkgs/development/libraries/gtk-engine-murrine/default.nix
diff --git a/pkgs/misc/themes/gtk2/gtk-engines/default.nix b/pkgs/development/libraries/gtk-engines/default.nix
index 2f56f6eb4c5c..2f56f6eb4c5c 100644
--- a/pkgs/misc/themes/gtk2/gtk-engines/default.nix
+++ b/pkgs/development/libraries/gtk-engines/default.nix
diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix
index 181d5e4c1969..f8db6f573d93 100644
--- a/pkgs/development/libraries/gvfs/default.nix
+++ b/pkgs/development/libraries/gvfs/default.nix
@@ -41,11 +41,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gvfs";
-  version = "1.42.1";
+  version = "1.42.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0c3pqc8qc2pn08by43rkkmk725k3cqmw7qyhfqgng0qx98dhf1lx";
+    sha256 = "0jgrbid8a61hgh05wl8c4f4638x7dffd5vip02jmladxfdszjymm";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/hyphen/default.nix b/pkgs/development/libraries/hyphen/default.nix
new file mode 100644
index 000000000000..9f30ff54823f
--- /dev/null
+++ b/pkgs/development/libraries/hyphen/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, perl, ... }:
+
+let
+  version = "2.8.8";
+  folder = with builtins;
+    let parts = splitVersion version;
+    in concatStringsSep "." [ (elemAt parts 0) (elemAt parts 1) ];
+in stdenv.mkDerivation rec {
+  pname = "hyphen";
+  inherit version;
+
+  nativeBuildInputs = [ perl ];
+
+  src = fetchurl {
+    url =
+      "https://sourceforge.net/projects/hunspell/files/Hyphen/${folder}/${pname}-${version}.tar.gz";
+    sha256 = "01ap9pr6zzzbp4ky0vy7i1983fwyqy27pl0ld55s30fdxka3ciih";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A text hyphenation library";
+    homepage = "https://sourceforge.net/projects/hunspell/files/Hyphen/";
+    platforms = platforms.all;
+    license = with licenses; [ gpl2 lgpl21 mpl11 ];
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/pkgs/development/libraries/ilmbase/default.nix b/pkgs/development/libraries/ilmbase/default.nix
index 82d5583c55fc..a25a590b3705 100644
--- a/pkgs/development/libraries/ilmbase/default.nix
+++ b/pkgs/development/libraries/ilmbase/default.nix
@@ -40,6 +40,7 @@ stdenv.mkDerivation rec {
   doCheck = stdenv.isx86_64;
 
   meta = with stdenv.lib; {
+    description = " A library for 2D/3D vectors and matrices and other mathematical objects, functions and data types for computer graphics";
     homepage = https://www.openexr.com/;
     license = licenses.bsd3;
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/intel-gmmlib/default.nix b/pkgs/development/libraries/intel-gmmlib/default.nix
index 6657409a7089..6c872272e379 100644
--- a/pkgs/development/libraries/intel-gmmlib/default.nix
+++ b/pkgs/development/libraries/intel-gmmlib/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-gmmlib";
-  version = "19.3.2";
+  version = "19.3.4";
 
   src = fetchFromGitHub {
     owner  = "intel";
     repo   = "gmmlib";
     rev    = "${pname}-${version}";
-    sha256 = "04jmzyciswvfb31h9shkja9183bmm1clw0l0sn1flq76888nngma";
+    sha256 = "1vgh14vdmwr34l6rfzmbpsdwp4xi7qp8lg527p16pm7nv0bwx2zk";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/irrlicht/default.nix b/pkgs/development/libraries/irrlicht/default.nix
index 35ef14cbc135..788772888c6d 100644
--- a/pkgs/development/libraries/irrlicht/default.nix
+++ b/pkgs/development/libraries/irrlicht/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchzip, libGLU_combined, unzip, libXrandr, libX11, libXxf86vm }:
+{ stdenv, fetchzip, libGLU, libGL, unzip, libXrandr, libX11, libXxf86vm }:
 
 
 stdenv.mkDerivation rec {
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     mkdir -p $out/lib
   '';
 
-  buildInputs = [ unzip libGLU_combined libXrandr libX11 libXxf86vm ];
+  buildInputs = [ unzip libGLU libGL libXrandr libX11 libXxf86vm ];
 
   meta = {
     homepage = http://irrlicht.sourceforge.net/;
diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix
index 1bad3394b6ac..093fd0c5f28a 100644
--- a/pkgs/development/libraries/jasper/default.nix
+++ b/pkgs/development/libraries/jasper/default.nix
@@ -42,5 +42,10 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     license = licenses.jasper;
     maintainers = with maintainers; [ pSub ];
+    knownVulnerabilities = [
+      "Numerous CVE unsolved upstream"
+      "See: https://github.com/NixOS/nixpkgs/pull/57681#issuecomment-475857499"
+      "See: https://github.com/mdadams/jasper/issues/208"
+    ];
   };
 }
diff --git a/pkgs/development/libraries/java/smack/default.nix b/pkgs/development/libraries/java/smack/default.nix
index e28925c65bb2..d5f8ac217f3d 100644
--- a/pkgs/development/libraries/java/smack/default.nix
+++ b/pkgs/development/libraries/java/smack/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation {
   };
 
   meta = {
+    description = "A XMPP (Jabber) client library for instant messaging and presence";
+    homepage = "http://www.igniterealtime.org/projects/smack/";
     platforms = stdenv.lib.platforms.unix;
     license = stdenv.lib.licenses.asl20;
   };
diff --git a/pkgs/development/libraries/java/swt/default.nix b/pkgs/development/libraries/java/swt/default.nix
index a93d77742915..6eb5a1f53553 100644
--- a/pkgs/development/libraries/java/swt/default.nix
+++ b/pkgs/development/libraries/java/swt/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, unzip, jdk, pkgconfig, gtk2
-, libXt, libXtst, libXi, libGLU_combined, webkitgtk, libsoup, xorg
+, libXt, libXtst, libXi, libGLU, libGL, webkitgtk, libsoup, xorg
 , pango, gdk-pixbuf, glib
 }:
 
@@ -36,7 +36,7 @@ in stdenv.mkDerivation rec {
   sourceRoot = ".";
 
   nativeBuildInputs = [ unzip pkgconfig ];
-  buildInputs = [ jdk gtk2 libXt libXtst libXi libGLU_combined webkitgtk libsoup ];
+  buildInputs = [ jdk gtk2 libXt libXtst libXi libGLU libGL webkitgtk libsoup ];
 
   NIX_LFLAGS = (map (x: "-L${lib.getLib x}/lib") [ xorg.libX11 pango gdk-pixbuf glib ]) ++
     [ "-lX11" "-lpango-1.0" "-lgdk_pixbuf-2.0" "-lglib-2.0" ];
diff --git a/pkgs/development/libraries/jitterentropy/default.nix b/pkgs/development/libraries/jitterentropy/default.nix
index f6a70deb8c2d..ddf4ba621697 100644
--- a/pkgs/development/libraries/jitterentropy/default.nix
+++ b/pkgs/development/libraries/jitterentropy/default.nix
@@ -14,6 +14,9 @@ stdenv.mkDerivation rec {
 
   preInstall = ''
     mkdir -p $out/include
+    substituteInPlace Makefile \
+      --replace "install -m 0755 -s" \
+                'install -m 0755 -s --strip-program $(STRIP)'
   '';
 
   installFlags = [
diff --git a/pkgs/development/libraries/jsoncpp/default.nix b/pkgs/development/libraries/jsoncpp/default.nix
index c62f1e2de3f3..a6eae7a79fa7 100644
--- a/pkgs/development/libraries/jsoncpp/default.nix
+++ b/pkgs/development/libraries/jsoncpp/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "jsoncpp";
-  version = "1.9.1";
+  version = "1.9.2";
 
   src = fetchFromGitHub {
     owner = "open-source-parsers";
     repo = "jsoncpp";
     rev = version;
-    sha256 = "00g356iv3kcp0gadj7gbyzf9jn9avvx9vxbxc7c2i5nnry8z72wj";
+    sha256 = "037d1b1qdmn3rksmn1j71j26bv4hkjv7sn7da261k853xb5899sg";
   };
 
   /* During darwin bootstrap, we have a cp that doesn't understand the
diff --git a/pkgs/development/libraries/kde-frameworks/default.nix b/pkgs/development/libraries/kde-frameworks/default.nix
index ef1171b17601..9e03965441ef 100644
--- a/pkgs/development/libraries/kde-frameworks/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/default.nix
@@ -42,13 +42,13 @@ let
       propagate = out:
         let setupHook = { writeScript }:
               writeScript "setup-hook" ''
-                if [ "$hookName" != postHook ]; then
+                if [ "''${hookName:-}" != postHook ]; then
                     postHooks+=("source @dev@/nix-support/setup-hook")
                 else
                     # Propagate $dev so that this setup hook is propagated
                     # But only if there is a separate $dev output
                     if [ "''${outputDev:?}" != out ]; then
-                        propagatedBuildInputs="$propagatedBuildInputs @dev@"
+                        propagatedBuildInputs="''${propagatedBuildInputs-} @dev@"
                     fi
                 fi
               '';
diff --git a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh
index 35982e866284..4135f6bfd7aa 100644
--- a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh
+++ b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh
@@ -42,12 +42,12 @@ ecmPostHook() {
     cmakeFlags+=" -DKDE_INSTALL_CONFDIR=${!outputBin}/etc/xdg"
     cmakeFlags+=" -DKDE_INSTALL_AUTOSTARTDIR=${!outputBin}/etc/xdg/autostart"
 
-    if [ -n "$qtPluginPrefix" ]; then
+    if [ -n "${qtPluginPrefix-}" ]; then
         cmakeFlags+=" -DKDE_INSTALL_QTPLUGINDIR=${!outputBin}/$qtPluginPrefix"
         cmakeFlags+=" -DKDE_INSTALL_PLUGINDIR=${!outputBin}/$qtPluginPrefix"
     fi
 
-    if [ -n "$qtQmlPrefix" ]; then
+    if [ -n "${qtQmlPrefix-}" ]; then
         cmakeFlags+=" -DKDE_INSTALL_QMLDIR=${!outputBin}/$qtQmlPrefix"
     fi
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kio/default.nix b/pkgs/development/libraries/kde-frameworks/kio/default.nix
index 6cf89669df01..fee21a6a9235 100644
--- a/pkgs/development/libraries/kde-frameworks/kio/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kio/default.nix
@@ -20,5 +20,6 @@ mkDerivation {
     kbookmarks kcompletion kconfig kcoreaddons kitemviews kjobwidgets kservice
     kxmlgui qtbase qttools solid
   ];
+  outputs = [ "out" "dev" ];
   patches = (copyPathsToStore (lib.readPathsFromFile ./. ./series));
 }
diff --git a/pkgs/development/libraries/ldns/default.nix b/pkgs/development/libraries/ldns/default.nix
index 1aa208c2044f..74ac59fef283 100644
--- a/pkgs/development/libraries/ldns/default.nix
+++ b/pkgs/development/libraries/ldns/default.nix
@@ -1,29 +1,14 @@
-{ stdenv, fetchurl, fetchpatch, openssl, perl, which, dns-root-data }:
+{ stdenv, fetchurl, openssl, perl, which, dns-root-data }:
 
 stdenv.mkDerivation rec {
   pname = "ldns";
-  version = "1.7.0";
+  version = "1.7.1";
 
   src = fetchurl {
     url = "https://www.nlnetlabs.nl/downloads/ldns/${pname}-${version}.tar.gz";
-    sha256 = "1k56jw4hz8njspfxcfw0czf1smg0n48ylia89ziwyx5k9wdmp7y1";
+    sha256 = "0ac242n7996fswq1a3nlh1bbbhrsdwsq4mx7xq8ffq6aplb4rj4a";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "CVE-2017-1000231.patch";
-      url = "https://git.nlnetlabs.nl/ldns/patch/?id=c8391790";
-      sha256 = "1rprfh0y1c28dqiy3vgwvwdhn7b5rsylfzzblx5xdhwfqgdw8vn0";
-      excludes = [ "Changelog" ];
-    })
-    (fetchpatch {
-      name = "CVE-2017-1000232.patch";
-      url = "https://git.nlnetlabs.nl/ldns/patch/?id=3bdeed02";
-      sha256 = "0bv0s5jjp0sswfg8da47d346iwp9yjhj9w7fa3bxh174br0zj07r";
-      excludes = [ "Changelog" ];
-    })
-  ];
-
   postPatch = ''
     patchShebangs doc/doxyparse.pl
   '';
@@ -38,6 +23,7 @@ stdenv.mkDerivation rec {
     "--with-trust-anchor=${dns-root-data}/root.key"
     "--with-drill"
     "--disable-gost"
+    "--with-examples"
   ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
     "ac_cv_func_malloc_0_nonnull=yes"
     "ac_cv_func_realloc_0_nonnull=yes"
@@ -47,16 +33,11 @@ stdenv.mkDerivation rec {
   doCheck = false; # fails. missing some files
 
   postInstall = ''
+    # Only 'drill' stays in $out
+    # the rest are examples:
+    moveToOutput "bin/ldns*" "$examples"
+    # with exception of ldns-config, which goes to $dev:
     moveToOutput "bin/ldns-config" "$dev"
-
-    pushd examples
-    configureFlagsArray+=( "--bindir=$examples/bin" )
-    configurePhase
-    make
-    make install
-    popd
-
-    sed -i "$out/lib/libldns.la" -e "s,-L${openssl.dev},-L${openssl.out},g"
   '';
 
   meta = with stdenv.lib; {
@@ -64,6 +45,6 @@ stdenv.mkDerivation rec {
     license = licenses.bsd3;
     homepage = http://www.nlnetlabs.nl/projects/ldns/;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ dtzWill ];
   };
 }
diff --git a/pkgs/development/libraries/libagar/default.nix b/pkgs/development/libraries/libagar/default.nix
index 630b17121587..c0a43efc27ea 100644
--- a/pkgs/development/libraries/libagar/default.nix
+++ b/pkgs/development/libraries/libagar/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, libtool, perl, bsdbuild, gettext, mandoc
-, libpng, libjpeg, xlibsWrapper, libXinerama, freetype, SDL, libGLU_combined
+, libpng, libjpeg, xlibsWrapper, libXinerama, freetype, SDL, libGLU, libGL
 , libsndfile, portaudio, libmysqlclient, fontconfig
 }:
 
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
     "--enable-nls=yes"
     "--with-gettext=${gettext}"
     "--with-jpeg=${libjpeg.dev}"
-    "--with-gl=${libGLU_combined}"
+    "--with-gl=${libGL}"
     "--with-mysql=${libmysqlclient}"
     "--with-manpages=yes"
   ];
@@ -29,7 +29,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ pkgconfig libtool gettext ];
 
   buildInputs = [
-    bsdbuild perl xlibsWrapper libXinerama SDL libGLU_combined libmysqlclient mandoc
+    bsdbuild perl xlibsWrapper libXinerama SDL libGL libmysqlclient mandoc
     freetype.dev libpng libjpeg.dev fontconfig portaudio libsndfile
   ];
 
diff --git a/pkgs/development/libraries/libappindicator/default.nix b/pkgs/development/libraries/libappindicator/default.nix
index 46cc30a8944f..e9fccaf28abf 100644
--- a/pkgs/development/libraries/libappindicator/default.nix
+++ b/pkgs/development/libraries/libappindicator/default.nix
@@ -1,19 +1,18 @@
 # TODO: Resolve the issues with the Mono bindings.
 
-{ stdenv, fetchurl, lib, file
-, pkgconfig, autoconf
+{ stdenv, fetchurl, fetchpatch, lib
+, pkgconfig, autoreconfHook
 , glib, dbus-glib, gtkVersion ? "3"
 , gtk2 ? null, libindicator-gtk2 ? null, libdbusmenu-gtk2 ? null
 , gtk3 ? null, libindicator-gtk3 ? null, libdbusmenu-gtk3 ? null
-, python2Packages, gobject-introspection, vala
+, vala, gobject-introspection
 , monoSupport ? false, mono ? null, gtk-sharp-2_0 ? null
  }:
 
 with lib;
 
-let
-  inherit (python2Packages) python pygobject2 pygtk;
-in stdenv.mkDerivation rec {
+
+stdenv.mkDerivation rec {
   name = let postfix = if gtkVersion == "2" && monoSupport then "sharp" else "gtk${gtkVersion}";
           in "libappindicator-${postfix}-${version}";
   version = "${versionMajor}.${versionMinor}";
@@ -25,7 +24,7 @@ in stdenv.mkDerivation rec {
     sha256 = "17xlqd60v0zllrxp8bgq3k5a1jkj0svkqn8rzllcyjh8k0gpr46m";
   };
 
-  nativeBuildInputs = [ pkgconfig autoconf ];
+  nativeBuildInputs = [ pkgconfig autoreconfHook vala gobject-introspection ];
 
   propagatedBuildInputs =
     if gtkVersion == "2"
@@ -34,20 +33,18 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [
     glib dbus-glib
-    python pygobject2 pygtk gobject-introspection vala
   ] ++ (if gtkVersion == "2"
     then [ libindicator-gtk2 ] ++ optionals monoSupport [ mono gtk-sharp-2_0 ]
     else [ libindicator-gtk3 ]);
 
-  postPatch = ''
-    substituteInPlace configure.ac \
-      --replace '=codegendir pygtk-2.0' '=codegendir pygobject-2.0'
-    autoconf
-    for f in {configure,ltmain.sh,m4/libtool.m4}; do
-      substituteInPlace $f \
-        --replace /usr/bin/file ${file}/bin/file
-    done
-  '';
+  patches = [
+    # Remove python2 from libappindicator.
+    (fetchpatch {
+      name = "no-python.patch";
+      url = "https://src.fedoraproject.org/rpms/libappindicator/raw/8508f7a52437679fd95a79b4630373f08315f189/f/nopython.patch";
+      sha256 = "18b1xzvwsbhhfpbzf5zragij4g79pa04y1dk6v5ci1wsjvii725s";
+    })
+  ];
 
   configureFlags = [
     "CFLAGS=-Wno-error"
@@ -56,15 +53,10 @@ in stdenv.mkDerivation rec {
     "--with-gtk=${gtkVersion}"
   ];
 
-  postConfigure = ''
-    substituteInPlace configure \
-      --replace /usr/bin/file ${file}/bin/file
-  '';
-
   doCheck = false; # generates shebangs in check phase, too lazy to fix
 
   installFlags = [
-    "sysconfdir=\${out}/etc"
+    "sysconfdir=${placeholder "out"}/etc"
     "localstatedir=\${TMPDIR}"
   ];
 
diff --git a/pkgs/development/libraries/libcdaudio/default.nix b/pkgs/development/libraries/libcdaudio/default.nix
index c48818972b58..df7e93de063c 100644
--- a/pkgs/development/libraries/libcdaudio/default.nix
+++ b/pkgs/development/libraries/libcdaudio/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation {
   };
 
   meta = {
+    description = "A portable library for controlling audio CDs";
+    homepage = "http://libcdaudio.sourceforge.net";
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.lgpl2;
   };
diff --git a/pkgs/development/libraries/libcerf/default.nix b/pkgs/development/libraries/libcerf/default.nix
index fd5ee8dcaaf9..0ffb20859677 100644
--- a/pkgs/development/libraries/libcerf/default.nix
+++ b/pkgs/development/libraries/libcerf/default.nix
@@ -1,16 +1,19 @@
-{ stdenv, lib, fetchurl }:
+{ stdenv, lib, fetchurl, cmake, perl }:
 
-stdenv.mkDerivation {
-  name = "libcerf-1.5";
+stdenv.mkDerivation rec {
+  pname = "libcerf";
+  version = "1.13";
 
   src = fetchurl {
-    url = "http://apps.jcns.fz-juelich.de/src/libcerf/libcerf-1.5.tgz";
-    sha256 = "11jwr8ql4a9kmv04ycgwk4dsqnlv4l65a8aa0x1i3y7zwx3w2vg3";
+    url = "https://jugit.fz-juelich.de/mlz/libcerf/-/archive/v${version}/libcerf-v${version}.tar.gz";
+    sha256 = "01d3fr4qa0080xdgp66mjbsa884qivn9y83p7rdyz2l3my0rysg4";
   };
 
+  nativeBuildInputs = [ cmake perl ];
+
   meta = with lib; {
     description = "Complex error (erf), Dawson, Faddeeva, and Voigt function library";
-    homepage = http://apps.jcns.fz-juelich.de/doku/sc/libcerf;
+    homepage = https://jugit.fz-juelich.de/mlz/libcerf;
     license = licenses.mit;
     maintainers = with maintainers; [ orivej ];
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/libdigidocpp/default.nix b/pkgs/development/libraries/libdigidocpp/default.nix
index fc12096ef5be..c4a351739b61 100644
--- a/pkgs/development/libraries/libdigidocpp/default.nix
+++ b/pkgs/development/libraries/libdigidocpp/default.nix
@@ -2,12 +2,12 @@
 , xercesc, xml-security-c, pkgconfig, xsd, zlib, xalanc, xxd }:
 
 stdenv.mkDerivation rec {
-  version = "3.14.0";
+  version = "3.14.1";
   pname = "libdigidocpp";
 
   src = fetchurl {
      url = "https://github.com/open-eid/libdigidocpp/releases/download/v${version}/libdigidocpp-${version}.tar.gz";
-     sha256 = "0klbr881d56661d1lqlv4ivxhxcv2q16ivlz7r0rb901wilq5jyl";
+     sha256 = "0yrcfw5i1jddz7x3j9zzlcwjlzdbi10wns7kbblbp03nx7vk2vqy";
   };
 
   nativeBuildInputs = [ cmake pkgconfig xxd ];
diff --git a/pkgs/development/libraries/libexif/default.nix b/pkgs/development/libraries/libexif/default.nix
index 5a8f5126680e..833ccf5dca5d 100644
--- a/pkgs/development/libraries/libexif/default.nix
+++ b/pkgs/development/libraries/libexif/default.nix
@@ -9,21 +9,32 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
-   (fetchpatch {
-     name = "CVE-2017-7544.patch";
-     url = https://sourceforge.net/p/libexif/bugs/_discuss/thread/fc394c4b/489a/attachment/xx.pat;
-     sha256 = "1qgk8hgnxr8d63jsc4vljxz9yg33mbml280dq4a6050rmk9wq4la";
-   })
+    (fetchpatch {
+      name = "CVE-2017-7544.patch";
+      url = "https://github.com/libexif/libexif/commit/c39acd1692023b26290778a02a9232c873f9d71a.patch";
+      sha256 = "0xgx6ly2i4q05shb61mfx6njwf1yp347jkznm0ka4m85i41xm6sd";
+    })
+    (fetchpatch {
+      name = "CVE-2018-20030-1.patch";
+      url = "https://github.com/libexif/libexif/commit/5d28011c40ec86cf52cffad541093d37c263898a.patch";
+      sha256 = "1wv8s962wmbn2m2xypgirf12g6msrbplpsmd5bh86irfwhkcppj3";
+    })
+    (fetchpatch {
+      name = "CVE-2018-20030-2.patch";
+      url = "https://github.com/libexif/libexif/commit/6aa11df549114ebda520dde4cdaea2f9357b2c89.patch";
+      sha256 = "01aqvz63glwq6wg0wr7ykqqghb4abgq77ghvhizbzadg1k4h7drx";
+      excludes = [ "NEWS" ];
+    })
   ];
-  patchFlags = "-p0";
 
   buildInputs = [ gettext ];
 
   meta = {
-    homepage = http://libexif.sourceforge.net/;
+    homepage = https://libexif.github.io/;
     description = "A library to read and manipulate EXIF data in digital photographs";
     license = stdenv.lib.licenses.lgpl21;
     platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.erictapen ];
   };
 
 }
diff --git a/pkgs/development/libraries/libextractor/default.nix b/pkgs/development/libraries/libextractor/default.nix
index 8fd01dbd506a..ea155440c8d1 100644
--- a/pkgs/development/libraries/libextractor/default.nix
+++ b/pkgs/development/libraries/libextractor/default.nix
@@ -22,6 +22,12 @@ stdenv.mkDerivation rec {
       url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/libextractor-exiv2-0.27.patch?h=packages/libextractor&id=4dc53f7fc69210ae571285dface108ed65d8ee53";
       sha256 = "0w4gc1q1m1yxsd4hv105nblmif465nw3g5nxzldy0x2rl9mdncg6";
     })
+    (fetchpatch {
+      name = "CVE-2019-15531.patch";
+      url = "https://git.gnunet.org/libextractor.git/patch/?id=d2b032452241708bee68d02aa02092cfbfba951a";
+      sha256 = "01xhcjbzv6p53wz7y2ii76kb8m9iwvnm4ip9w4a0bpgaxqz4b9fw";
+      excludes = [ "ChangeLog" ];
+    })
   ];
 
   preConfigure =
diff --git a/pkgs/development/libraries/libfilezilla/default.nix b/pkgs/development/libraries/libfilezilla/default.nix
index 95954a120c8b..fd17267b615e 100644
--- a/pkgs/development/libraries/libfilezilla/default.nix
+++ b/pkgs/development/libraries/libfilezilla/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libfilezilla";
-  version = "0.18.2";
+  version = "0.19.1";
 
   src = fetchurl {
     url = "https://download.filezilla-project.org/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "1j9da9xi2k4nw97m14mpp7h39rh03br0gmjj9ff819l6nhlnkn20";
+    sha256 = "0cjscv68nnqivzba94xapx1c970j1jbdbm0h3g2ym9i0hgnyyhha";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libfprint/default.nix b/pkgs/development/libraries/libfprint/default.nix
index 9a6db72ae058..6819ffba21c3 100644
--- a/pkgs/development/libraries/libfprint/default.nix
+++ b/pkgs/development/libraries/libfprint/default.nix
@@ -1,41 +1,27 @@
-{ thinkpad ? false
-, stdenv
-, fetchFromGitHub
+{ stdenv
 , fetchurl
 , pkgconfig
 , meson
 , ninja
-, libusb
+, gusb
 , pixman
 , glib
 , nss
-, gtk3
+, gobject-introspection
 , coreutils
 , gtk-doc
 , docbook_xsl
 , docbook_xml_dtd_43
-, openssl ? null
 }:
 
-assert thinkpad -> openssl != null;
-
 stdenv.mkDerivation rec {
-  pname = "libfprint" + stdenv.lib.optionalString thinkpad "-thinkpad";
-  version = "1.0";
+  pname = "libfprint";
+  version = "1.90";
 
-  src = {
-    libfprint-thinkpad =
-      fetchFromGitHub {
-        owner = "3v1n0";
-        repo = "libfprint";
-        rev = "2e2e3821717e9042e93a995bdbd3d00f2df0be9c";
-        sha256 = "1vps1wrp7hskf13f7jrv0dwry2fcid76x2w463wplngp63cj7b3b";
-      };
-    libfprint = fetchurl {
-      url = "https://gitlab.freedesktop.org/libfprint/libfprint/uploads/aff93e9921d1cff53d7c070944952ff9/libfprint-${version}.tar.xz";
-      sha256 = "0v84pd12v016m8iimhq39fgzamlarqccsr7d98cvrrwrzrgcixrd";
-    };
-  }.${pname};
+  src = fetchurl {
+    url = "https://gitlab.freedesktop.org/libfprint/libfprint/uploads/1bba17b5daa130aa548bc7ea96dc58c4/libfprint-1.90.0.tar.xz";
+    sha256 = "930f530df369ff874d7971f0b7c7bdb7c81597e91af4668694b98fe30b4b3371";
+  };
 
   nativeBuildInputs = [
     pkgconfig
@@ -44,17 +30,15 @@ stdenv.mkDerivation rec {
     gtk-doc
     docbook_xsl
     docbook_xml_dtd_43
+    gobject-introspection
   ];
 
   buildInputs = [
-    libusb
+    gusb
     pixman
     glib
     nss
-    gtk3
-  ]
-  ++ stdenv.lib.optional thinkpad openssl
-  ;
+  ];
 
   mesonFlags = [
     "-Dudev_rules_dir=${placeholder "out"}/lib/udev/rules.d"
diff --git a/pkgs/development/libraries/libftdi/1.x.nix b/pkgs/development/libraries/libftdi/1.x.nix
index 1b00ff4c0fbb..26002725d91b 100644
--- a/pkgs/development/libraries/libftdi/1.x.nix
+++ b/pkgs/development/libraries/libftdi/1.x.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cmake, pkgconfig, libusb1, libconfuse
 , cppSupport ? true, boost ? null
-, pythonSupport ? true, python ? null, swig ? null
+, pythonSupport ? true, python3 ? null, swig ? null
 , docSupport ? true, doxygen ? null
 }:
 
 assert cppSupport -> boost != null;
-assert pythonSupport -> python != null && swig != null;
+assert pythonSupport -> python3 != null && swig != null;
 assert docSupport -> doxygen != null;
 
 stdenv.mkDerivation rec {
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = with stdenv.lib; [ libconfuse ]
     ++ optionals cppSupport [ boost ]
-    ++ optionals pythonSupport [ python swig ]
+    ++ optionals pythonSupport [ python3 swig ]
     ++ optionals docSupport [ doxygen ];
 
   preBuild = stdenv.lib.optionalString docSupport ''
diff --git a/pkgs/development/libraries/libgnurl/default.nix b/pkgs/development/libraries/libgnurl/default.nix
index 1736e97f4662..dd7b91ffb9ae 100644
--- a/pkgs/development/libraries/libgnurl/default.nix
+++ b/pkgs/development/libraries/libgnurl/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libgnurl";
-  version = "7.66.0";
+  version = "7.67.0";
 
   src = fetchurl {
     url = "mirror://gnu/gnunet/gnurl-${version}.tar.gz";
-    sha256 = "03bkzcld384z7i3zh3k9k3pr0xpyqbcr8cxjqya1zqs5lk7i55x5";
+    sha256 = "0ima9hz5d54iyvvih51s8xn6dsfxd3qyzgnj9l7w9f1smia295rb";
   };
 
   nativeBuildInputs = [ libtool groff perl pkgconfig python2 ];
diff --git a/pkgs/development/libraries/libgudev/default.nix b/pkgs/development/libraries/libgudev/default.nix
index b52a2b1e0fa9..8023acb75d28 100644
--- a/pkgs/development/libraries/libgudev/default.nix
+++ b/pkgs/development/libraries/libgudev/default.nix
@@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
+    description = "A library that provides GObject bindings for libudev";
     homepage = https://wiki.gnome.org/Projects/libgudev;
     maintainers = [ maintainers.eelco ] ++ gnome3.maintainers;
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/libheif/default.nix b/pkgs/development/libraries/libheif/default.nix
index f69241ad552e..85174e9c3e69 100644
--- a/pkgs/development/libraries/libheif/default.nix
+++ b/pkgs/development/libraries/libheif/default.nix
@@ -2,13 +2,15 @@
 
 stdenv.mkDerivation rec {
   pname = "libheif";
-  version = "1.5.1";
+  version = "1.6.0";
+
+  outputs = [ "bin" "out" "dev" "man" ];
 
   src = fetchFromGitHub {
     owner = "strukturag";
     repo = "libheif";
     rev = "v${version}";
-    sha256 = "0x6207hiy15k2696476qx9jcbzs90fq8cfv4jw6hi14w4wzq89kr";
+    sha256 = "0im9k2pqghlsppj165kh3nc26c4wx1brckmncdmpy0mcj56jjmba";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/development/libraries/libicns/default.nix b/pkgs/development/libraries/libicns/default.nix
index 298d6124505c..27ec8b17c0d2 100644
--- a/pkgs/development/libraries/libicns/default.nix
+++ b/pkgs/development/libraries/libicns/default.nix
@@ -1,14 +1,24 @@
-{ stdenv, fetchurl, libpng, jasper }:
+{ stdenv, fetchurl, fetchpatch, autoreconfHook, libpng, openjpeg }:
 
 stdenv.mkDerivation rec {
-  name = "libicns-0.8.1";
+  pname = "libicns";
+  version = "0.8.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/icns/${name}.tar.gz";
+    url = "mirror://sourceforge/icns/${pname}-${version}.tar.gz";
     sha256 = "1hjm8lwap7bjyyxsyi94fh5817xzqhk4kb5y0b7mb6675xw10prk";
   };
 
-  buildInputs = [ libpng jasper ];
+  patches = [
+    (fetchpatch {
+      url = "https://sources.debian.org/data/main/libi/libicns/0.8.1-3.1/debian/patches/support-libopenjp2.patch";
+      sha256 = "0ss298lyzvydxvaxsadi6kbbjpwykd86jw3za76brcsg2dpssgas";
+    })
+  ];
+
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ libpng openjpeg ];
+  NIX_CFLAGS_COMPILE = [ "-I${openjpeg.dev}/include/${openjpeg.incDir}" ];
 
   meta = with stdenv.lib; {
     description = "Library for manipulation of the Mac OS icns resource format";
diff --git a/pkgs/development/libraries/libidn2/default.nix b/pkgs/development/libraries/libidn2/default.nix
index 7e7b691e3c19..c1363d7a9284 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 {
   pname = "libidn2";
-  version = "2.2.0";
+  version = "2.3.0";
 
   src = fetchurl {
     url = "mirror://gnu/gnu/libidn/${pname}-${version}.tar.gz";
-    sha256 = "1zl1cc2xgxw31pdhvhr5ij36x4vvpy16jq667rspin06nlr4fwzw";
+    sha256 = "1ddqr80kmz4l8g3r3gf7bmf2v29fgivlc2bgxfiscjg2sarivjz1";
   };
 
   outputs = [ "bin" "dev" "out" "info" "devdoc" ];
diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix
index 2085d27a1ee1..8d48082e1d9c 100644
--- a/pkgs/development/libraries/libinput/default.nix
+++ b/pkgs/development/libraries/libinput/default.nix
@@ -40,6 +40,7 @@ stdenv.mkDerivation rec {
     (mkFlag documentationSupport "documentation")
     (mkFlag eventGUISupport "debug-gui")
     (mkFlag testsSupport "tests")
+    "--sysconfdir=/etc"
     "--libexecdir=${placeholder "bin"}/libexec"
   ];
 
diff --git a/pkgs/development/libraries/libisoburn/default.nix b/pkgs/development/libraries/libisoburn/default.nix
index cefce19d4659..633f19cef798 100644
--- a/pkgs/development/libraries/libisoburn/default.nix
+++ b/pkgs/development/libraries/libisoburn/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libisoburn";
-  version = "1.5.0";
+  version = "1.5.2";
 
   src = fetchurl {
     url = "http://files.libburnia-project.org/releases/${pname}-${version}.tar.gz";
-    sha256 = "1r8xbhw21bmcp3jhfmvadivh0fa7f4k6larv8lvg4ka0kiigbhfs";
+    sha256 = "1v4hanapr02wf2i6rncc62z8cyc18078nb2y6q4hp3hxa74hnwnc";
   };
 
   buildInputs = [ attr zlib libburn libisofs ];
diff --git a/pkgs/development/libraries/libmbim/default.nix b/pkgs/development/libraries/libmbim/default.nix
index 2d026452e6f1..46255e276f5b 100644
--- a/pkgs/development/libraries/libmbim/default.nix
+++ b/pkgs/development/libraries/libmbim/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmbim";
-  version = "1.20.0";
+  version = "1.20.2";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libmbim/${pname}-${version}.tar.xz";
-    sha256 = "0rm8j4zh9gnb3yi324cnxy91gdimc1vg5gv1kxc2m5lymb3wdxrc";
+    sha256 = "16q550sy84izi5ic3sbbhjnnka2fwhj8vvdrirpn9xspbsgbc3sm";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/development/libraries/libmodule/default.nix b/pkgs/development/libraries/libmodule/default.nix
index bcd20c3b4076..26b81d4d4129 100644
--- a/pkgs/development/libraries/libmodule/default.nix
+++ b/pkgs/development/libraries/libmodule/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libmodule";
-  version = "4.2.0";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
     owner = "FedeDP";
     repo = "libmodule";
     rev = version;
-    sha256 = "1qn54pysdm0q7v1gnisd43i5i4ylf8s8an77jk6jd8qimysv08mx";
+    sha256 = "1cf81sl33xmfn5g150iqcdrjn0lpjlgp53mganwi6x7jda2qk7r6";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libmypaint/default.nix b/pkgs/development/libraries/libmypaint/default.nix
index 91e0b5ef0722..c36633edfff3 100644
--- a/pkgs/development/libraries/libmypaint/default.nix
+++ b/pkgs/development/libraries/libmypaint/default.nix
@@ -7,7 +7,7 @@
 , json_c
 , libtool
 , pkgconfig
-, python2
+, python3
 }:
 
 stdenv.mkDerivation rec {
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     intltool
     libtool
     pkgconfig
-    python2
+    python3
   ];
 
   buildInputs = [
@@ -43,6 +43,10 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  postPatch = ''
+    sed 's|python2|python|' -i autogen.sh
+  '';
+
   preConfigure = "./autogen.sh";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libowfat/default.nix b/pkgs/development/libraries/libowfat/default.nix
index 8c0094a3152b..4f1a5f8a1798 100644
--- a/pkgs/development/libraries/libowfat/default.nix
+++ b/pkgs/development/libraries/libowfat/default.nix
@@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
+    description = "A GPL reimplementation of libdjb";
     homepage = https://www.fefe.de/libowfat/;
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/libraw/default.nix b/pkgs/development/libraries/libraw/default.nix
index 62fa8c1a675b..00288e359dfb 100644
--- a/pkgs/development/libraries/libraw/default.nix
+++ b/pkgs/development/libraries/libraw/default.nix
@@ -1,4 +1,7 @@
-{ stdenv, fetchurl, lcms2, jasper, pkgconfig }:
+{ stdenv, fetchurl, lcms2, pkgconfig
+, jasper ? null, withJpeg2k ? false
+# disable JPEG2000 support by default as jasper has many CVE
+}:
 
 stdenv.mkDerivation rec {
   pname = "libraw";
@@ -11,7 +14,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "lib" "dev" "doc" ];
 
-  buildInputs = [ jasper ];
+  buildInputs = stdenv.lib.optionals withJpeg2k [ jasper ];
 
   propagatedBuildInputs = [ lcms2 ];
 
diff --git a/pkgs/development/libraries/libre/default.nix b/pkgs/development/libraries/libre/default.nix
index e365ec7a01ac..433597cde6f5 100644
--- a/pkgs/development/libraries/libre/default.nix
+++ b/pkgs/development/libraries/libre/default.nix
@@ -12,7 +12,8 @@ stdenv.mkDerivation rec {
   ++ stdenv.lib.optional (stdenv.cc.libc != null) "SYSROOT=${stdenv.lib.getDev stdenv.cc.libc}"
   ;
   meta = {
-    homepage = http://www.creytiv.com/re.html;
+    description = "A library for real-time communications with async IO support and a complete SIP stack";
+    homepage = "http://www.creytiv.com/re.html";
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [raskin];
     license = stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/librealsense/default.nix b/pkgs/development/libraries/librealsense/default.nix
index 468bcfb0a18f..91c093c991ac 100644
--- a/pkgs/development/libraries/librealsense/default.nix
+++ b/pkgs/development/libraries/librealsense/default.nix
@@ -1,18 +1,20 @@
-{ stdenv, fetchFromGitHub, cmake, libusb, ninja, pkgconfig}:
+{ stdenv, fetchFromGitHub, cmake, libusb1, ninja, pkgconfig }:
 
 stdenv.mkDerivation rec {
   pname = "librealsense";
-  version = "2.25.0";
+  version = "2.29.0";
+
+  outputs = [ "out" "dev" ];
 
   src = fetchFromGitHub {
     owner = "IntelRealSense";
-    repo = "librealsense";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "029qps0bbck0m2xj0mb5g3pgkk7a1zq8wcilfkvpx72sn7039xvw";
+    sha256 = "0wrg1c4fcd5ky96hmnczg9izfgd0yxls8ghxxzrdvgdlg269f443";
   };
 
   buildInputs = [
-    libusb
+    libusb1
   ];
 
   nativeBuildInputs = [
@@ -25,9 +27,9 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A cross-platform library for Intel® RealSense™ depth cameras (D400 series and the SR300)";
-    homepage = https://github.com/IntelRealSense/librealsense;
+    homepage = "https://github.com/IntelRealSense/librealsense";
     license = licenses.asl20;
     maintainers = with maintainers; [ brian-dawn ];
-    platforms = ["i686-linux" "x86_64-linux" "x86_64-darwin"];
+    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/development/libraries/librem/default.nix b/pkgs/development/libraries/librem/default.nix
index aeda663342e4..012ac2a46a74 100644
--- a/pkgs/development/libraries/librem/default.nix
+++ b/pkgs/development/libraries/librem/default.nix
@@ -16,7 +16,8 @@ stdenv.mkDerivation rec {
   ++ stdenv.lib.optional (stdenv.cc.libc != null) "SYSROOT=${stdenv.lib.getDev stdenv.cc.libc}"
   ;
   meta = {
-    homepage = http://www.creytiv.com/rem.html;
+    description = " A library for real-time audio and video processing";
+    homepage = "http://www.creytiv.com/rem.html";
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [raskin];
     license = stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/libraries/libsearpc/default.nix b/pkgs/development/libraries/libsearpc/default.nix
index b2a799674771..9bf246f556d3 100644
--- a/pkgs/development/libraries/libsearpc/default.nix
+++ b/pkgs/development/libraries/libsearpc/default.nix
@@ -1,14 +1,14 @@
 {stdenv, fetchFromGitHub, automake, autoconf, pkgconfig, libtool, python2Packages, glib, jansson}:
 
 stdenv.mkDerivation rec {
-  version = "3.1.0";
+  version = "3.2.0";
   pname = "libsearpc";
 
   src = fetchFromGitHub {
     owner = "haiwen";
     repo = "libsearpc";
     rev = "v${version}";
-    sha256 = "1zf8xxsl95wdx0372kl8s153hd8q3lhwwvwr2k96ia8scbn2ylkp";
+    sha256 = "18i5zvrp6dv6vygxx5nc93mai2p2x786n5lnf5avrin6xiz2j6hd";
   };
 
   patches = [ ./libsearpc.pc.patch ];
diff --git a/pkgs/development/libraries/libseccomp/default.nix b/pkgs/development/libraries/libseccomp/default.nix
index 8c9c6ac107ce..08c276c4d558 100644
--- a/pkgs/development/libraries/libseccomp/default.nix
+++ b/pkgs/development/libraries/libseccomp/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libseccomp";
-  version = "2.4.1";
+  version = "2.4.2";
 
   src = fetchurl {
     url = "https://github.com/seccomp/libseccomp/releases/download/v${version}/libseccomp-${version}.tar.gz";
-    sha256 = "1s06h2cgk0xxwmhwj72z33bllafc1xqnxzk2yyra2rmg959778qw";
+    sha256 = "0nsq81acrbkdr8zairxbwa33bj2a6126npp76b4srjl472sjfkxm";
   };
 
   outputs = [ "out" "lib" "dev" "man" ];
diff --git a/pkgs/development/libraries/libsolv/default.nix b/pkgs/development/libraries/libsolv/default.nix
index 84f6656d0b8b..c3fe1ad619af 100644
--- a/pkgs/development/libraries/libsolv/default.nix
+++ b/pkgs/development/libraries/libsolv/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, cmake, ninja, zlib, expat, rpm, db }:
 
 stdenv.mkDerivation rec {
-  version  = "0.7.7";
+  version  = "0.7.9";
   pname = "libsolv";
 
   src = fetchFromGitHub {
     owner  = "openSUSE";
     repo   = "libsolv";
     rev    = version;
-    sha256 = "0f6r5j5d4fbzx9ihbbwrqylayw90qac8kapkhmfcvsh7f8whr623";
+    sha256 = "1ijb4nywc3hx142194d85x7db0j5g2n0i750665fal30qrw2x43y";
   };
 
   cmakeFlags = [
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A free package dependency solver";
+    homepage    = "https://github.com/openSUSE/libsolv";
     license     = licenses.bsd3;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ copumpkin ];
diff --git a/pkgs/development/libraries/libtcod/default.nix b/pkgs/development/libraries/libtcod/default.nix
index 6d95d81e5d9c..5a7fb3395ebe 100644
--- a/pkgs/development/libraries/libtcod/default.nix
+++ b/pkgs/development/libraries/libtcod/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromBitbucket, cmake, SDL, libGLU_combined, upx, zlib }:
+{ stdenv, fetchFromBitbucket, cmake, SDL, libGLU, libGL, upx, zlib }:
 
 stdenv.mkDerivation {
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
 
   cmakeFlags="-DLIBTCOD_SAMPLES=OFF";
 
-  buildInputs = [ cmake SDL libGLU_combined upx zlib ];
+  buildInputs = [ cmake SDL libGLU libGL upx zlib ];
 
   meta = {
     description = "API for roguelike games";
diff --git a/pkgs/development/libraries/liburing/default.nix b/pkgs/development/libraries/liburing/default.nix
index ad8c08b3cce0..386354b48e4d 100644
--- a/pkgs/development/libraries/liburing/default.nix
+++ b/pkgs/development/libraries/liburing/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Userspace library for the Linux io_uring API";
-    homepage    = http://git.kernel.dk/cgit/liburing/;
+    homepage    = https://git.kernel.dk/cgit/liburing/;
     license     = licenses.lgpl21;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ thoughtpolice ];
diff --git a/pkgs/development/libraries/libvncserver/default.nix b/pkgs/development/libraries/libvncserver/default.nix
index 0a7819743e03..c9adad6f6454 100644
--- a/pkgs/development/libraries/libvncserver/default.nix
+++ b/pkgs/development/libraries/libvncserver/default.nix
@@ -1,41 +1,43 @@
-{stdenv, fetchurl, fetchpatch,
- libtool, libjpeg, openssl, zlib, libgcrypt, autoreconfHook, pkgconfig, libpng,
- systemd
+{ stdenv, fetchzip, fetchpatch, cmake
+, libjpeg, openssl, zlib, libgcrypt, libpng
+, systemd
 }:
 
 let
   s = # Generated upstream information
   rec {
-    baseName="libvncserver";
-    version="0.9.11";
-    name="${baseName}-${version}";
-    url="https://github.com/LibVNC/libvncserver/archive/LibVNCServer-${version}.tar.gz";
-    sha256="15189n09r1pg2nqrpgxqrcvad89cdcrca9gx6qhm6akjf81n6g8r";
+    pname = "libvncserver";
+    version = "0.9.12";
+    url = "https://github.com/LibVNC/libvncserver/archive/LibVNCServer-${version}.tar.gz";
+    sha256 = "1226hb179l914919f5nm2mlf8rhaarqbf48aa649p4rwmghyx9vm"; # unpacked archive checksum
   };
 in
 stdenv.mkDerivation {
-  inherit (s) name version;
-  src = fetchurl {
+  inherit (s) pname version;
+  src = fetchzip {
     inherit (s) url sha256;
   };
   patches = [
-    # CVE-2018-7225. Remove with the next release
     (fetchpatch {
-      url = https://salsa.debian.org/debian/libvncserver/raw/master/debian/patches/CVE-2018-7225.patch;
-      sha256 = "1hj1lzxsrdmzzl061vg0ncdpvfmvvkrpk8q12mp70qvszcqa7ja3";
+      name = "CVE-2018-20750.patch";
+      url = "https://github.com/LibVNC/libvncserver/commit/09e8fc02f59f16e2583b34fe1a270c238bd9ffec.patch";
+      sha256 = "004h50786nvjl3y3yazpsi2b767vc9gqrwm1ralj3zgy47kwfhqm";
+    })
+    (fetchpatch {
+      name = "CVE-2019-15681.patch";
+      url = "https://github.com/LibVNC/libvncserver/commit/d01e1bb4246323ba6fcee3b82ef1faa9b1dac82a.patch";
+      sha256 = "0hf0ss7all2m50z2kan4mck51ws44yim4ymn8p0d991y465y6l9s";
     })
   ];
-  preConfigure = ''
-    sed -e 's@/usr/include/linux@${stdenv.cc.libc}/include/linux@g' -i configure
-  '';
-  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  nativeBuildInputs = [ cmake ];
   buildInputs = [
-    libtool libjpeg openssl libgcrypt libpng
+    libjpeg openssl libgcrypt libpng
   ] ++ stdenv.lib.optional stdenv.isLinux systemd;
   propagatedBuildInputs = [ zlib ];
   meta = {
     inherit (s) version;
-    description =  "VNC server library";
+    description = "VNC server library";
+    homepage = "https://libvnc.github.io/";
     license = stdenv.lib.licenses.gpl2Plus ;
     maintainers = [stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/development/libraries/libvorbis/default.nix b/pkgs/development/libraries/libvorbis/default.nix
index 5457b1075a3e..263fa0a5216d 100644
--- a/pkgs/development/libraries/libvorbis/default.nix
+++ b/pkgs/development/libraries/libvorbis/default.nix
@@ -29,6 +29,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = with stdenv.lib; {
+    description = "Vorbis audio compression reference implementation";
     homepage = https://xiph.org/vorbis/;
     license = licenses.bsd3;
     maintainers = [ maintainers.ehmry ];
diff --git a/pkgs/development/libraries/libvterm-neovim/default.nix b/pkgs/development/libraries/libvterm-neovim/default.nix
index 231b426e6a7d..50ee7e4d3873 100644
--- a/pkgs/development/libraries/libvterm-neovim/default.nix
+++ b/pkgs/development/libraries/libvterm-neovim/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation {
   pname = "libvterm-neovim";
-  version = "2019-08-28";
+  version = "2019-10-08";
 
   src = fetchFromGitHub {
     owner = "neovim";
     repo = "libvterm";
-    rev = "1aa95e24d8f07a396aa80b7cd52f93e2b5bcca79";
-    sha256 = "0vjd397lqrfv4kc79i5izva4bynbymx3gllkg281fnk0b15vxfif";
+    rev = "7c72294d84ce20da4c27362dbd7fa4b08cfc91da";
+    sha256 = "111qyxq33x74dwdnqcnzlv9j0n8hxyribd6ppwcsxmyrniyw9qrk";
   };
 
   buildInputs = [ perl ];
diff --git a/pkgs/development/libraries/libwebp/default.nix b/pkgs/development/libraries/libwebp/default.nix
index fc9932567cfa..56c3f638d52d 100644
--- a/pkgs/development/libraries/libwebp/default.nix
+++ b/pkgs/development/libraries/libwebp/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl
 , threadingSupport ? true # multi-threading
-, openglSupport ? false, freeglut ? null, libGLU_combined ? null # OpenGL (required for vwebp)
+, openglSupport ? false, freeglut ? null, libGL ? null, libGLU ? null # OpenGL (required for vwebp)
 , pngSupport ? true, libpng ? null # PNG image format
 , jpegSupport ? true, libjpeg ? null # JPEG image format
 , tiffSupport ? true, libtiff ? null # TIFF image format
@@ -14,7 +14,7 @@
 , libwebpdecoderSupport ? true # Build libwebpdecoder
 }:
 
-assert openglSupport -> ((freeglut != null) && (libGLU_combined != null));
+assert openglSupport -> freeglut != null && libGL != null && libGLU != null;
 assert pngSupport -> (libpng != null);
 assert jpegSupport -> (libjpeg != null);
 assert tiffSupport -> (libtiff != null);
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [ ]
-    ++ optionals openglSupport [ freeglut libGLU_combined ]
+    ++ optionals openglSupport [ freeglut libGL libGLU ]
     ++ optional pngSupport libpng
     ++ optional jpegSupport libjpeg
     ++ optional tiffSupport libtiff
diff --git a/pkgs/development/libraries/libwmf/default.nix b/pkgs/development/libraries/libwmf/default.nix
index e7aa5f7ecc9f..5c684c7fd778 100644
--- a/pkgs/development/libraries/libwmf/default.nix
+++ b/pkgs/development/libraries/libwmf/default.nix
@@ -6,6 +6,8 @@ stdenv.mkDerivation rec {
   pname = "libwmf";
   version = "0.2.12";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchFromGitHub {
     owner = "caolanm";
     repo = pname;
diff --git a/pkgs/development/libraries/libxl/default.nix b/pkgs/development/libraries/libxl/default.nix
index 8153fb883cac..8618fc80a525 100644
--- a/pkgs/development/libraries/libxl/default.nix
+++ b/pkgs/development/libraries/libxl/default.nix
@@ -2,14 +2,15 @@
 
 stdenv.mkDerivation rec {
   pname = "libxl";
-  version = "3.8.5";
+  version = "3.8.7";
 
   src = fetchurl {
     url = "http://www.libxl.com/download/${pname}-lin-${version}.tar.gz";
-    sha256 = "15n8gxyznk1nm2kgp86hd36rnivjsby9ccl12lyabv6q3fab6fsx";
+    sha256 = "0mfi2mlsgqjw9ki3c5bsb6nr2aqym7s1priw70f69r12azzxfqw3";
   };
 
-  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
+  dontConfigure = true;
+  dontBuild = true;
 
   installPhase = ''
     mkdir $out
@@ -18,7 +19,8 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "A lbrary for parsing excel files";
+    description = "A library for parsing Excel files";
+    homepage    = "http://www.libxl.com/";
     license     = licenses.unfree;
     platforms   = platforms.linux;
     maintainers = with maintainers; [  ];
diff --git a/pkgs/development/libraries/linbox/default.nix b/pkgs/development/libraries/linbox/default.nix
index 70320ead5d11..709a237aed9b 100644
--- a/pkgs/development/libraries/linbox/default.nix
+++ b/pkgs/development/libraries/linbox/default.nix
@@ -60,6 +60,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.lgpl21Plus;
     maintainers = [stdenv.lib.maintainers.timokau];
     platforms = stdenv.lib.platforms.unix;
-    homepage = http://linalg.org/;
+    homepage = https://linalg.org/;
   };
 }
diff --git a/pkgs/development/libraries/liquidfun/default.nix b/pkgs/development/libraries/liquidfun/default.nix
index 2df7ef94cf36..74952456e642 100644
--- a/pkgs/development/libraries/liquidfun/default.nix
+++ b/pkgs/development/libraries/liquidfun/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, requireFile, cmake, libGLU_combined, libX11, libXi }:
+{ stdenv, requireFile, cmake, libGLU, libGL, libX11, libXi }:
 
 let 
   sourceInfo = rec {
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   };
 
   inherit (sourceInfo) name version;
-  buildInputs = [ cmake libGLU_combined libX11 libXi ];
+  buildInputs = [ cmake libGLU libGL libX11 libXi ];
 
   sourceRoot = "liquidfun/Box2D/";
 
diff --git a/pkgs/development/libraries/mapnik/default.nix b/pkgs/development/libraries/mapnik/default.nix
index 1feea915c025..53c4594f535b 100644
--- a/pkgs/development/libraries/mapnik/default.nix
+++ b/pkgs/development/libraries/mapnik/default.nix
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "An open source toolkit for developing mapping applications";
-    homepage = http://mapnik.org;
+    homepage = https://mapnik.org;
     maintainers = with maintainers; [ hrdinka ];
     license = licenses.lgpl21;
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/mediastreamer/default.nix b/pkgs/development/libraries/mediastreamer/default.nix
index 93e73a44bc9c..1605ec355cc0 100644
--- a/pkgs/development/libraries/mediastreamer/default.nix
+++ b/pkgs/development/libraries/mediastreamer/default.nix
@@ -1,17 +1,16 @@
 { stdenv, pkgconfig, intltool, alsaLib, libpulseaudio, speex, gsm
-, libopus, ffmpeg, libX11, libXv, libGLU_combined, glew, libtheora, libvpx, SDL, libupnp
+, libopus, ffmpeg, libX11, libXv, libGLU, libGL, glew, libtheora, libvpx, SDL, libupnp
 , ortp, libv4l, libpcap, srtp, fetchFromGitHub, cmake, bctoolbox, doxygen
-, python, libXext, libmatroska, openssl, fetchpatch
+, python, libXext, libmatroska, fetchpatch
 }:
 
 stdenv.mkDerivation rec {
-  baseName = "mediastreamer2";
+  pname = "mediastreamer2";
   version = "2.16.1";
-  name = "${baseName}-${version}";
 
   src = fetchFromGitHub {
     owner = "BelledonneCommunications";
-    repo = baseName;
+    repo = pname;
     rev = version;
     sha256 = "02745bzl2r1jqvdqzyv94fjd4w92zr976la4c4nfvsy52waqah7j";
   };
@@ -29,21 +28,20 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [
     alsaLib libpulseaudio speex gsm libopus
-    ffmpeg libX11 libXv libGLU_combined glew libtheora libvpx SDL libupnp
+    ffmpeg libX11 libXv libGLU libGL glew libtheora libvpx SDL libupnp
     ortp libv4l libpcap srtp bctoolbox libXext libmatroska
-    openssl
   ];
 
   NIX_CFLAGS_COMPILE = [
-    "-DGIT_VERSION=\"v2.14.0\""
+    "-DGIT_VERSION=\"v${version}\""
     "-Wno-error=deprecated-declarations"
     "-Wno-error=cast-function-type"
   ];
-  NIX_LDFLAGS = "-lXext -lssl";
+  NIX_LDFLAGS = "-lXext";
 
   meta = with stdenv.lib; {
     description = "A powerful and lightweight streaming engine specialized for voice/video telephony applications";
-    homepage = http://www.linphone.org/technical-corner/mediastreamer2/overview;
+    homepage = http://www.linphone.org/technical-corner/mediastreamer2;
     license = licenses.gpl2;
     platforms = platforms.linux;
   };
diff --git a/pkgs/development/libraries/mediastreamer/msopenh264.nix b/pkgs/development/libraries/mediastreamer/msopenh264.nix
index 38261bd1e53a..f1e9fc301510 100644
--- a/pkgs/development/libraries/mediastreamer/msopenh264.nix
+++ b/pkgs/development/libraries/mediastreamer/msopenh264.nix
@@ -1,23 +1,30 @@
 { stdenv, autoreconfHook, pkgconfig, mediastreamer, openh264
-, fetchgit, cmake
+, fetchurl, fetchpatch, cmake
 }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "mediastreamer-openh264";
-  version = "0.0pre20160801";
+  version = "1.2.1";
 
-  src = fetchgit {
-    url = "git://git.linphone.org/msopenh264.git";
-    rev = "4cb4b134bf0f1538fd0c2c928eee2d5388115abc";
-    sha256 = "001km4xy1ifwbg1c19ncc75h867fzfcxy9pxvl4pxqb64169xc1k";
+  src = fetchurl {
+    url = "https://www.linphone.org/releases/sources/plugins/msopenh264/msopenh264-${version}.tar.gz";
+    sha256 = "0rdxgazm52560g52pp6mp3mwx6j1z3h2zyizzfycp8y8zi92fqm8";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "msopenh264-build-with-openh264-v2.patch";
+      url = "https://git.pld-linux.org/?p=packages/mediastreamer-plugin-msopenh264.git;a=blob_plain;f=mediastreamer-plugin-msopenh264-openh264.patch;hb=344b8af379701a7e58b4ffb3cbac1517eff079fd";
+      sha256 = "10c24b0afchx78q28176pd8iz7i1nlf57f6v6lyqxpz60fm5nrcc";
+    })
+  ];
+
   nativeBuildInputs = [ autoreconfHook cmake pkgconfig ];
   buildInputs = [ mediastreamer openh264 ];
 
   meta = with stdenv.lib; {
     description = "H.264 encoder/decoder plugin for mediastreamer2";
-    homepage = http://www.linphone.org/technical-corner/mediastreamer2/overview;
+    homepage = "https://www.linphone.org/technical-corner/mediastreamer2";
     license = licenses.gpl2;
     platforms = platforms.linux;
   };
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index ca73f3bdeb6f..2ebd5893e628 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -27,7 +27,7 @@
 with stdenv.lib;
 
 let
-  version = "19.2.4";
+  version = "19.2.6";
   branch  = versions.major version;
 in
 
@@ -42,7 +42,7 @@ stdenv.mkDerivation {
       "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
       "https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz"
     ];
-    sha256 = "03z393jrd1cnh68k5h3mm5yap3hi1jzz3a417ccjxn5vgl7hl009";
+    sha256 = "15vpj2v1j5j065f8syhcsyr6rkjm58250r0ri13v6bf8c3x28ywx";
   };
 
   prePatch = "patchShebangs .";
diff --git a/pkgs/development/libraries/minizip/default.nix b/pkgs/development/libraries/minizip/default.nix
index c88a978574a7..5ee1f38ca8b5 100644
--- a/pkgs/development/libraries/minizip/default.nix
+++ b/pkgs/development/libraries/minizip/default.nix
@@ -10,6 +10,7 @@ stdenv.mkDerivation {
   sourceRoot = "zlib-${zlib.version}/contrib/minizip";
 
   meta = {
+    description = "Compression library implementing the deflate compression method found in gzip and PKZIP";
     inherit (zlib.meta) license homepage;
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/development/libraries/mpich/default.nix b/pkgs/development/libraries/mpich/default.nix
index 2232bfb9a38b..21803de5e062 100644
--- a/pkgs/development/libraries/mpich/default.nix
+++ b/pkgs/development/libraries/mpich/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation  rec {
   pname = "mpich";
-  version = "3.3.1";
+  version = "3.3.2";
 
   src = fetchurl {
     url = "https://www.mpich.org/static/downloads/${version}/mpich-${version}.tar.gz";
-    sha256 = "1raism1r4jsx4cybc9ddyr1xkccbxm0l8j3ryrw8kslfkkr1wmgy";
+    sha256 = "1farz5zfx4cd0c3a0wb9pgfypzw0xxql1j1294z1sxslga1ziyjb";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/mygui/default.nix b/pkgs/development/libraries/mygui/default.nix
index 0907f0174c99..c277b7934b9b 100644
--- a/pkgs/development/libraries/mygui/default.nix
+++ b/pkgs/development/libraries/mygui/default.nix
@@ -1,5 +1,5 @@
 {  stdenv, fetchFromGitHub, libX11, unzip, cmake, ois, freetype, libuuid,
-   boost, pkgconfig, withOgre ? false, ogre ? null, libGLU_combined ? null } :
+   boost, pkgconfig, withOgre ? false, ogre ? null, libGL, libGLU ? null } :
 
 let
   renderSystem = if withOgre then "3" else "4";
@@ -17,7 +17,8 @@ in stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libX11 unzip cmake ois freetype libuuid boost (if withOgre then ogre else libGLU_combined) ];
+  buildInputs = [ libX11 unzip cmake ois freetype libuuid boost ]
+    ++ (if withOgre then [ ogre ] else [libGL libGLU]);
 
   # Tools are disabled due to compilation failures.
   cmakeFlags = [ "-DMYGUI_BUILD_TOOLS=OFF" "-DMYGUI_BUILD_DEMOS=OFF" "-DMYGUI_RENDERSYSTEM=${renderSystem}" ];
diff --git a/pkgs/development/libraries/nanoflann/default.nix b/pkgs/development/libraries/nanoflann/default.nix
index 5c0238fe41ea..8480cc868c1f 100644
--- a/pkgs/development/libraries/nanoflann/default.nix
+++ b/pkgs/development/libraries/nanoflann/default.nix
@@ -1,24 +1,28 @@
 {stdenv, fetchFromGitHub, cmake}:
 
 stdenv.mkDerivation rec {
-  version = "1.3.0";
+  version = "1.3.1";
   pname = "nanoflann";
   
   src = fetchFromGitHub {
     owner = "jlblancoc";
     repo = "nanoflann";
     rev = "v${version}";
-    sha256 = "1bwdmrz1qygp9qy2nzrp1axa1i4nvm0ljkn6mnhlcvbfsyvhzigv";
+    sha256 = "07vi3yn5y9zk9acdbxy954ghdml15wnyqfizzqwsw8zmc9bf30ih";
   };
 
   buildInputs = [ cmake ];
 
+  cmakeFlags = [
+    "-DBUILD_EXAMPLES=OFF"
+  ];
+
   doCheck = true;
   checkTarget = "test";
 
   meta = {
-    homepage = https://github.com/jlblancoc/nanoflann;
-    license = stdenv.lib.licenses.bsd3;
+    homepage = "https://github.com/jlblancoc/nanoflann";
+    license = stdenv.lib.licenses.bsd2;
     description = "Header only C++ library for approximate nearest neighbor search";
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/development/libraries/ndi/default.nix b/pkgs/development/libraries/ndi/default.nix
new file mode 100644
index 000000000000..fcf9457c691c
--- /dev/null
+++ b/pkgs/development/libraries/ndi/default.nix
@@ -0,0 +1,60 @@
+{ stdenv, requireFile, avahi }:
+
+stdenv.mkDerivation rec {
+  pname = "ndi";
+  version = "4";
+
+  src = requireFile rec {
+    name    = "InstallNDISDK_v${version}_Linux.tar.gz";
+    sha256  = "1hac5npyg8nifs9ipj34pkn0zjyx8774x3i3h8znhmijx2j2982p";
+    message = ''
+      In order to use the NDI SDK, you need to comply with NewTek's license and
+      download the Linux version ${version} tarball from:
+
+      ${meta.homepage}
+
+      Once you have downloaded the file, please use the following command and
+      re-run the installation:
+
+      nix-prefetch-url file://\$PWD/${name}
+    '';
+  };
+
+  buildInputs = [ avahi ];
+
+  unpackPhase = ''
+    unpackFile ${src}
+    echo y | ./InstallNDISDK_v4_Linux.sh
+    sourceRoot="NDI SDK for Linux";
+  '';
+
+  installPhase = ''
+    mkdir $out
+    mv bin/x86_64-linux-gnu $out/bin
+    for i in $out/bin/*; do
+      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$i"
+    done
+    patchelf --set-rpath "${avahi}/lib:${stdenv.cc.libc}/lib" $out/bin/ndi-record
+    mv lib/x86_64-linux-gnu $out/lib
+    for i in $out/lib/*; do
+      if [ -L "$i" ]; then continue; fi
+      patchelf --set-rpath "${avahi}/lib:${stdenv.cc.libc}/lib" "$i"
+    done
+    mv include examples $out/
+    mkdir -p $out/share/doc/${pname}-${version}
+    mv licenses $out/share/doc/${pname}-${version}/licenses
+    mv logos $out/share/doc/${pname}-${version}/logos
+    mv documentation/* $out/share/doc/${pname}-${version}/
+  '';
+
+  # Stripping breaks ndi-record.
+  dontStrip = true;
+
+  meta = with stdenv.lib; {
+    homepage = "https://ndi.tv/sdk/";
+    description = "NDI Software Developer Kit";
+    platforms = ["x86_64-linux"];
+    hydraPlatforms = [];
+    license = licenses.unfree;
+  };
+}
diff --git a/pkgs/development/libraries/netcdf/default.nix b/pkgs/development/libraries/netcdf/default.nix
index 0c597fc4b335..af4f8a5d1299 100644
--- a/pkgs/development/libraries/netcdf/default.nix
+++ b/pkgs/development/libraries/netcdf/default.nix
@@ -41,6 +41,7 @@ in stdenv.mkDerivation rec {
   ++ (stdenv.lib.optionals mpiSupport [ "--enable-parallel-tests" "CC=${mpi}/bin/mpicc" ]);
 
   meta = {
+      description = "Libraries for the Unidata network Common Data Format";
       platforms = stdenv.lib.platforms.unix;
       homepage = https://www.unidata.ucar.edu/software/netcdf/;
       license = {
diff --git a/pkgs/development/libraries/nlohmann_json/default.nix b/pkgs/development/libraries/nlohmann_json/default.nix
index 72d425e8918f..43a7cf15c15b 100644
--- a/pkgs/development/libraries/nlohmann_json/default.nix
+++ b/pkgs/development/libraries/nlohmann_json/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nlohmann_json";
-  version = "3.7.0";
+  version = "3.7.3";
 
   src = fetchFromGitHub {
     owner = "nlohmann";
     repo = "json";
     rev = "v${version}";
-    sha256 = "0v7xih4zjixxxfvkfbs7a8j9qcvpwlsv4vrkbyns3hc7b44nb8ap";
+    sha256 = "04rry1xzis71z5gj1ylcj8b4li5q18zxhcwaviwvi3hx0frzxl9w";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index ff72d87f3c39..7499750c1f0c 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -5,7 +5,7 @@ let
     url = http://dev.gentoo.org/~polynomial-c/mozilla/nss-3.15.4-pem-support-20140109.patch.xz;
     sha256 = "10ibz6y0hknac15zr6dw4gv9nb5r5z9ym6gq18j3xqx7v7n3vpdw";
   };
-  version = "3.46.1";
+  version = "3.47.1";
   underscoreVersion = builtins.replaceStrings ["."] ["_"] version;
 
 in stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://mozilla/security/nss/releases/NSS_${underscoreVersion}_RTM/src/${pname}-${version}.tar.gz";
-    sha256 = "0l9ns44rlkp1bpblplspfbqmyhb8rhvc89y56kqh725rgpny1xrv";
+    sha256 = "1yx68a1ks63s8914zmiz9h1nh0261aqzcblgg1cb4ig33p5x3qqs";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -27,7 +27,8 @@ in stdenv.mkDerivation rec {
   propagatedBuildInputs = [ nspr ];
 
   prePatch = ''
-    xz -d < ${nssPEM} | patch -p1
+    # strip the trailing whitespace from the patch line…
+    xz -d < ${nssPEM} | sed -e '/^-DIRS = builtins $/ s/ $//' | patch -p1
   '';
 
   patches =
diff --git a/pkgs/development/libraries/nss_wrapper/default.nix b/pkgs/development/libraries/nss_wrapper/default.nix
index 79eb4d1e10e4..40ee4f890d49 100644
--- a/pkgs/development/libraries/nss_wrapper/default.nix
+++ b/pkgs/development/libraries/nss_wrapper/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cmake, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "nss_wrapper-1.1.6";
+  name = "nss_wrapper-1.1.7";
 
   src = fetchurl {
     url = "mirror://samba/cwrap/${name}.tar.gz";
-    sha256 = "1hijnwabj4nh0m0a913pq07iqq0bw8qb2zxcv73zbnsaay7pa55h";
+    sha256 = "1pa7gakprkxblxdqbcy2242lk924gvzdgfr5648wb7cslksm7hbq";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/ntl/default.nix b/pkgs/development/libraries/ntl/default.nix
index efb307507a38..10e59c5117c0 100644
--- a/pkgs/development/libraries/ntl/default.nix
+++ b/pkgs/development/libraries/ntl/default.nix
@@ -14,11 +14,11 @@ assert withGf2x -> gf2x != null;
 
 stdenv.mkDerivation rec {
   pname = "ntl";
-  version = "11.3.4";
+  version = "11.4.1";
 
   src = fetchurl {
     url = "http://www.shoup.net/ntl/ntl-${version}.tar.gz";
-    sha256 = "0fdy63x6iglp20ypqhkpjj6wqjzpxlyl2wfw2dqlgiy6l6ibm4rd";
+    sha256 = "03k2hb6yn49d1f9cdig2ci7h5ga0x3nb3li60hh19wdqzg28f1m3";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/nuspell/default.nix b/pkgs/development/libraries/nuspell/default.nix
index db542ec93a92..c1f354a1ac98 100644
--- a/pkgs/development/libraries/nuspell/default.nix
+++ b/pkgs/development/libraries/nuspell/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nuspell";
-  version = "2.3.0";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "nuspell";
     repo = "nuspell";
     rev = "v${version}";
-    sha256 = "0n5cajrp1fhk8p54ch3akkd9nl8b9c6wwf25980dhagcdys3vab3";
+    sha256 = "1cyvvf5f92a777qgh00ja43z43j5nhc9dw5l3wvw9j6j9bqc4i8p";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ronn ];
diff --git a/pkgs/development/libraries/ogre/1.10.x.nix b/pkgs/development/libraries/ogre/1.10.x.nix
index d847f447048d..b66759524faf 100644
--- a/pkgs/development/libraries/ogre/1.10.x.nix
+++ b/pkgs/development/libraries/ogre/1.10.x.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, lib
-, cmake, libGLU_combined
+, cmake, libGLU, libGL
 , freetype, freeimage, zziplib, xorgproto, libXrandr
 , libXaw, freeglut, libXt, libpng, boost, ois
 , libX11, libXmu, libSM, pkgconfig
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   buildInputs =
-   [ cmake libGLU_combined
+   [ cmake libGLU libGL
      freetype freeimage zziplib xorgproto libXrandr
      libXaw freeglut libXt libpng boost ois
      libX11 libXmu libSM pkgconfig
diff --git a/pkgs/development/libraries/ogre/1.9.x.nix b/pkgs/development/libraries/ogre/1.9.x.nix
index 2855d1139c3d..ced015801859 100644
--- a/pkgs/development/libraries/ogre/1.9.x.nix
+++ b/pkgs/development/libraries/ogre/1.9.x.nix
@@ -1,5 +1,5 @@
 { fetchFromGitHub, stdenv, lib
-, cmake, libGLU_combined
+, cmake, libGLU, libGL
 , freetype, freeimage, zziplib, xorgproto, libXrandr
 , libXaw, freeglut, libXt, libpng, boost, ois
 , libX11, libXmu, libSM, pkgconfig
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   buildInputs =
-   [ cmake libGLU_combined
+   [ cmake libGLU libGL
      freetype freeimage zziplib xorgproto libXrandr
      libXaw freeglut libXt libpng boost ois
      libX11 libXmu libSM pkgconfig
diff --git a/pkgs/development/libraries/ogre/default.nix b/pkgs/development/libraries/ogre/default.nix
index dc3bf8cf0097..235da872392d 100644
--- a/pkgs/development/libraries/ogre/default.nix
+++ b/pkgs/development/libraries/ogre/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, lib
-, cmake, libGLU_combined
+, cmake, libGLU, libGL
 , freetype, freeimage, zziplib, xorgproto, libXrandr
 , libXaw, freeglut, libXt, libpng, boost, ois
 , libX11, libXmu, libSM, pkgconfig
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   buildInputs =
-   [ cmake libGLU_combined
+   [ cmake libGLU libGL
      freetype freeimage zziplib xorgproto libXrandr
      libXaw freeglut libXt libpng boost ois
      libX11 libXmu libSM pkgconfig
diff --git a/pkgs/development/libraries/olm/default.nix b/pkgs/development/libraries/olm/default.nix
index dd3f83a0130d..224c01e2c50a 100644
--- a/pkgs/development/libraries/olm/default.nix
+++ b/pkgs/development/libraries/olm/default.nix
@@ -2,18 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "olm";
-  version = "3.0.0";
-
-  meta = {
-    description = "Implements double cryptographic ratchet and Megolm ratchet";
-    license = stdenv.lib.licenses.asl20;
-    homepage = https://matrix.org/git/olm/about;
-    platforms = with stdenv.lib.platforms; darwin ++ linux;
-  };
+  version = "3.1.4";
 
   src = fetchurl {
-    url = "https://matrix.org/git/olm/snapshot/${pname}-${version}.tar.gz";
-    sha256 = "1iivxjk458v9lhqgzp0c4k5azligsh9k3rk6irf9ssj29wzgjm2c";
+    url = "https://matrix.org/git/olm/-/archive/${version}/${pname}-${version}.tar.gz";
+    sha256 = "0f7azjxc77n4ib9nj3cwyk3vhk8r2dsyf7id6nvqyxqxwxn95a8w";
   };
 
   doCheck = true;
@@ -25,4 +18,11 @@ stdenv.mkDerivation rec {
   makeFlags = if stdenv.cc.isClang then [ "CC=cc" ] else null;
 
   installFlags = "PREFIX=$(out)";
+
+  meta = {
+    description = "Implements double cryptographic ratchet and Megolm ratchet";
+    license = stdenv.lib.licenses.asl20;
+    homepage = https://matrix.org/git/olm/about;
+    platforms = with stdenv.lib.platforms; darwin ++ linux;
+  };
 }
diff --git a/pkgs/development/libraries/openbabel/default.nix b/pkgs/development/libraries/openbabel/default.nix
index 26bcf3d20ff6..3838e1103ba3 100644
--- a/pkgs/development/libraries/openbabel/default.nix
+++ b/pkgs/development/libraries/openbabel/default.nix
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkgconfig ];
 
   meta = {
+    description = "A toolbox designed to speak the many languages of chemical data";
+    homepage = "http://openbabel.org";
     platforms = stdenv.lib.platforms.all;
     maintainers = [ ];
     license = stdenv.lib.licenses.gpl2Plus;
diff --git a/pkgs/development/libraries/openbsm/default.nix b/pkgs/development/libraries/openbsm/default.nix
index 25e7267b3c9f..269b0138091b 100644
--- a/pkgs/development/libraries/openbsm/default.nix
+++ b/pkgs/development/libraries/openbsm/default.nix
@@ -16,7 +16,8 @@ stdenv.mkDerivation rec {
   configureFlags = [ "ac_cv_file__usr_include_mach_audit_triggers_defs=no" ];
 
   meta = {
-    homepage = http://www.openbsm.org/;
+    description = "An implementation of Sun's Basic Security Module (BSM) security audit API and file format";
+    homepage = "http://www.openbsm.org/";
     platforms = lib.platforms.unix;
     maintainers = with lib.maintainers; [ matthewbauer ];
     license = lib.licenses.bsd2;
diff --git a/pkgs/development/libraries/opencolorio/default.nix b/pkgs/development/libraries/opencolorio/default.nix
index cbd05848173a..06eff9d17f36 100644
--- a/pkgs/development/libraries/opencolorio/default.nix
+++ b/pkgs/development/libraries/opencolorio/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://opencolorio.org;
+    homepage = https://opencolorio.org;
     description = "A color management framework for visual effects and animation";
     license = licenses.bsd3;
     maintainers = [ maintainers.goibhniu ];
diff --git a/pkgs/development/libraries/opencsg/default.nix b/pkgs/development/libraries/opencsg/default.nix
index 724c0d7c7641..cf46077a56cd 100644
--- a/pkgs/development/libraries/opencsg/default.nix
+++ b/pkgs/development/libraries/opencsg/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, libGLU_combined, freeglut, glew, libXmu, libXext, libX11
+{stdenv, fetchurl, libGLU, libGL, freeglut, glew, libXmu, libXext, libX11
 , qmake, GLUT, fixDarwinDylibNames }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
   buildInputs = [ glew ]
-    ++ stdenv.lib.optionals stdenv.isLinux [ libGLU_combined freeglut libXmu libXext libX11 ]
+    ++ stdenv.lib.optionals stdenv.isLinux [ libGLU libGL freeglut libXmu libXext libX11 ]
     ++ stdenv.lib.optional stdenv.isDarwin GLUT;
 
   doCheck = false;
diff --git a/pkgs/development/libraries/opencv/3.x.nix b/pkgs/development/libraries/opencv/3.x.nix
index 874f95357596..97df84637ef7 100644
--- a/pkgs/development/libraries/opencv/3.x.nix
+++ b/pkgs/development/libraries/opencv/3.x.nix
@@ -9,7 +9,7 @@
 , enableTIFF      ? true, libtiff
 , enableWebP      ? true, libwebp
 , enableEXR ?     !stdenv.isDarwin, openexr, ilmbase
-, enableJPEG2K    ? true, jasper
+, enableJPEG2K    ? false, jasper  # disable jasper by default (many CVE)
 , enableEigen     ? true, eigen
 , enableOpenblas  ? true, openblas
 , enableContrib   ? true
diff --git a/pkgs/development/libraries/opencv/4.x.nix b/pkgs/development/libraries/opencv/4.x.nix
index a5eb1029ad91..408368b89c40 100644
--- a/pkgs/development/libraries/opencv/4.x.nix
+++ b/pkgs/development/libraries/opencv/4.x.nix
@@ -9,7 +9,7 @@
 , enableTIFF      ? true, libtiff
 , enableWebP      ? true, libwebp
 , enableEXR ?     !stdenv.isDarwin, openexr, ilmbase
-, enableJPEG2K    ? true, jasper
+, enableJPEG2K    ? false, jasper  # disable jasper by default (many CVE)
 , enableEigen     ? true, eigen
 , enableOpenblas  ? true, openblas
 , enableContrib   ? true
diff --git a/pkgs/development/libraries/opencv/default.nix b/pkgs/development/libraries/opencv/default.nix
index b91a1489eb69..db8a5e5a41bb 100644
--- a/pkgs/development/libraries/opencv/default.nix
+++ b/pkgs/development/libraries/opencv/default.nix
@@ -6,7 +6,7 @@
 , enablePNG ? true, libpng
 , enableTIFF ? true, libtiff
 , enableEXR ? (!stdenv.isDarwin), openexr, ilmbase
-, enableJPEG2K ? true, jasper
+, enableJPEG2K ? false, jasper  # disable jasper by default (many CVE)
 , enableFfmpeg ? false, ffmpeg
 , enableGStreamer ? false, gst_all_1
 , enableEigen ? true, eigen
diff --git a/pkgs/development/libraries/openexr/default.nix b/pkgs/development/libraries/openexr/default.nix
index 7bd3985c12b2..328bce35357f 100644
--- a/pkgs/development/libraries/openexr/default.nix
+++ b/pkgs/development/libraries/openexr/default.nix
@@ -55,7 +55,8 @@ stdenv.mkDerivation rec {
   doCheck = false; # fails 1 of 1 tests
 
   meta = with stdenv.lib; {
-    homepage = https://www.openexr.com/;
+    description = "A high dynamic-range (HDR) image file format";
+    homepage = "https://www.openexr.com/";
     license = licenses.bsd3;
     platforms = platforms.all;
   };
diff --git a/pkgs/development/libraries/openexrid-unstable/default.nix b/pkgs/development/libraries/openexrid-unstable/default.nix
index b8a3c4a81e00..92cd343cf6a1 100644
--- a/pkgs/development/libraries/openexrid-unstable/default.nix
+++ b/pkgs/development/libraries/openexrid-unstable/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, unzip, re2, openfx, zlib, ilmbase, libGLU_combined, openexr }:
+{ stdenv, fetchFromGitHub, unzip, re2, openfx, zlib, ilmbase, libGLU, libGL, openexr }:
 
 stdenv.mkDerivation {
   pname = "openexrid-unstable";
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
                        -I${openfx.dev}/include/OpenFX
                       '';
 
-  buildInputs = [ unzip re2 openfx zlib ilmbase libGLU_combined openexr ];
+  buildInputs = [ unzip re2 openfx zlib ilmbase libGLU libGL openexr ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/openscenegraph/default.nix b/pkgs/development/libraries/openscenegraph/default.nix
index 9be5018dc29b..b12ca67655b9 100644
--- a/pkgs/development/libraries/openscenegraph/default.nix
+++ b/pkgs/development/libraries/openscenegraph/default.nix
@@ -2,7 +2,7 @@
   libX11, libXinerama, libXrandr, libGLU, libGL,
   glib, ilmbase, libxml2, pcre, zlib,
   jpegSupport ? true, libjpeg,
-  jasperSupport ? true, jasper,
+  jasperSupport ? false, jasper,  # disable jasper by default (many CVE)
   exrSupport ? false, openexr,
   gifSupport ? true, giflib,
   pngSupport ? true, libpng,
diff --git a/pkgs/development/libraries/ortp/default.nix b/pkgs/development/libraries/ortp/default.nix
index 58f355b27fe1..7be0e4bb06ab 100644
--- a/pkgs/development/libraries/ortp/default.nix
+++ b/pkgs/development/libraries/ortp/default.nix
@@ -1,13 +1,12 @@
 { stdenv, cmake, fetchFromGitHub, bctoolbox }:
 
 stdenv.mkDerivation rec {
-  baseName = "ortp";
+  pname = "ortp";
   version = "1.0.2";
-  name = "${baseName}-${version}";
 
   src = fetchFromGitHub {
     owner = "BelledonneCommunications";
-    repo = baseName;
+    repo = pname;
     rev = version;
     sha256 = "12cwv593bsdnxs0zfcp07vwyk7ghlz2wv7vdbs1ksv293w3vj2rv";
   };
@@ -17,8 +16,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A Real-Time Transport Protocol (RFC3550) stack";
-    homepage = http://www.linphone.org/index.php/eng/code_review/ortp;
-    license = licenses.lgpl21;
+    homepage = https://linphone.org/technical-corner/ortp;
+    license = licenses.gpl2Plus;
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/partio/default.nix b/pkgs/development/libraries/partio/default.nix
index b08936dd34de..ba042562320b 100644
--- a/pkgs/development/libraries/partio/default.nix
+++ b/pkgs/development/libraries/partio/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, unzip, cmake, freeglut, libGLU_combined, zlib, swig, python, doxygen, xorg }:
+{ stdenv, fetchFromGitHub, unzip, cmake, freeglut, libGLU, libGL, zlib, swig, python, doxygen, xorg }:
 
 stdenv.mkDerivation {
   pname = "partio";
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   outputs = [ "dev" "out" "lib" ];
 
   nativeBuildInputs = [ unzip cmake doxygen ];
-  buildInputs = [ freeglut libGLU_combined zlib swig python xorg.libXi xorg.libXmu ];
+  buildInputs = [ freeglut libGLU libGL zlib swig python xorg.libXi xorg.libXmu ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/pcre2/default.nix b/pkgs/development/libraries/pcre2/default.nix
index e27c71314d97..b988c4ea02cc 100644
--- a/pkgs/development/libraries/pcre2/default.nix
+++ b/pkgs/development/libraries/pcre2/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "pcre2";
-  version = "10.33";
+  version = "10.34";
   src = fetchurl {
     url = "https://ftp.pcre.org/pub/pcre/${pname}-${version}.tar.bz2";
-    sha256 = "1anqi7vpbfzag7imccrc6di1zl5rl63ab7rfpmajpw6d1kzlsl9m";
+    sha256 = "1jlqnzcz2yi70dm40wyfa9w8is9z2kh4dl8zjnv3vqd9mgzp7i3l";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/phonon/backends/gstreamer.nix b/pkgs/development/libraries/phonon/backends/gstreamer.nix
index ef7633dadaf3..d9267827e779 100644
--- a/pkgs/development/libraries/phonon/backends/gstreamer.nix
+++ b/pkgs/development/libraries/phonon/backends/gstreamer.nix
@@ -1,21 +1,13 @@
 { stdenv, lib, fetchurl, cmake, gst_all_1, phonon, pkgconfig
-, extra-cmake-modules, qtbase ? null, qtx11extras ? null, qt4 ? null
-, withQt5 ? false
+, extra-cmake-modules, qttools, qtbase, qtx11extras
 , debug ? false
 }:
 
 with lib;
 
-let
-  v = "4.9.0";
+stdenv.mkDerivation rec {
   pname = "phonon-backend-gstreamer";
-in
-
-assert withQt5 -> qtbase != null;
-assert withQt5 -> qtx11extras != null;
-
-stdenv.mkDerivation {
-  name = "${pname}-${if withQt5 then "qt5" else "qt4"}-${v}";
+  version = "4.10.0";
 
   meta = with stdenv.lib; {
     homepage = https://phonon.kde.org/;
@@ -26,8 +18,8 @@ stdenv.mkDerivation {
   };
 
   src = fetchurl {
-    url = "mirror://kde/stable/phonon/${pname}/${v}/${pname}-${v}.tar.xz";
-    sha256 = "1wc5p1rqglf0n1avp55s50k7fjdzdrhg0gind15k8796w7nfbhyf";
+    url = "mirror://kde/stable/phonon/${pname}/${version}/${pname}-${version}.tar.xz";
+    sha256 = "1wk1ip2w7fkh65zk6rilj314dna0hgsv2xhjmpr5w08xa8sii1y5";
   };
 
   # Hardcode paths to useful plugins so the backend doesn't depend
@@ -52,17 +44,26 @@ stdenv.mkDerivation {
       ''-DGST_PLUGIN_PATH_1_0="${gstPluginPaths}"''
     ];
 
-  buildInputs = with gst_all_1;
-    [ gstreamer gst-plugins-base phonon ]
-    ++ (if withQt5 then [ qtbase qtx11extras ] else [ qt4 ]);
+  buildInputs = with gst_all_1; [
+    gstreamer
+    gst-plugins-base
+    phonon
+    qtbase
+    qtx11extras
+  ];
 
   # cleanup: the build system creates (empty) $out/$out/share/icons (double prefix)
   # if DESTDIR is unset
   DESTDIR="/";
 
-  nativeBuildInputs = [ cmake pkgconfig ] ++ optional withQt5 extra-cmake-modules;
+  nativeBuildInputs = [
+    cmake
+    pkgconfig
+    extra-cmake-modules
+    qttools
+  ];
 
-  cmakeFlags =
-    [ "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}" ]
-    ++ optional withQt5 "-DPHONON_BUILD_PHONON4QT5=ON";
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}"
+  ];
 }
diff --git a/pkgs/development/libraries/phonon/backends/vlc.nix b/pkgs/development/libraries/phonon/backends/vlc.nix
index 98c6be85672c..9ed137e4f450 100644
--- a/pkgs/development/libraries/phonon/backends/vlc.nix
+++ b/pkgs/development/libraries/phonon/backends/vlc.nix
@@ -1,22 +1,13 @@
 { stdenv, lib, fetchurl, cmake, phonon, pkgconfig, vlc
-, extra-cmake-modules, qtbase ? null, qtx11extras ? null, qt4 ? null
-, withQt4 ? false
+, extra-cmake-modules, qttools, qtbase, qtx11extras
 , debug ? false
 }:
 
 with lib;
 
-let
-  v = "0.10.2";
+stdenv.mkDerivation rec {
   pname = "phonon-backend-vlc";
-in
-
-assert withQt4 -> qt4 != null;
-assert !withQt4 -> qtbase != null;
-assert !withQt4 -> qtx11extras != null;
-
-stdenv.mkDerivation {
-  name = "${pname}-${if withQt4 then "qt4" else "qt5"}-${v}";
+  version = "0.11.1";
 
   meta = with stdenv.lib; {
     homepage = https://phonon.kde.org/;
@@ -26,17 +17,25 @@ stdenv.mkDerivation {
   };
 
   src = fetchurl {
-    url = "mirror://kde/stable/phonon/${pname}/${v}/${pname}-${v}.tar.xz";
-    sha256 = "163jqq5p9n0yfw2fqk0cqn3c6mqycxsvc4956zhkw5345g81a2a9";
+    url = "mirror://kde/stable/phonon/${pname}/${version}/${pname}-${version}.tar.xz";
+    sha256 = "1vp52i5996khpxs233an7mlrzdji50gcs58ig8nrwfwlgyb1xnfc";
   };
 
-  buildInputs =
-    [ phonon vlc ]
-    ++ (if withQt4 then [ qt4 ] else [ qtbase qtx11extras ]);
-
-  nativeBuildInputs = [ cmake pkgconfig ] ++ optional (!withQt4) extra-cmake-modules;
-
-  cmakeFlags =
-    [ "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}" ]
-    ++ optional (!withQt4) "-DPHONON_BUILD_PHONON4QT5=ON";
+  buildInputs = [
+    phonon
+    vlc
+    qtbase
+    qtx11extras
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    pkgconfig
+    qttools
+    extra-cmake-modules
+  ];
+
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}"
+  ];
 }
diff --git a/pkgs/development/libraries/phonon/default.nix b/pkgs/development/libraries/phonon/default.nix
index dd163571a1bd..86e3caaa1486 100644
--- a/pkgs/development/libraries/phonon/default.nix
+++ b/pkgs/development/libraries/phonon/default.nix
@@ -1,22 +1,27 @@
-{ stdenv, lib, fetchurl, cmake, libGLU_combined, pkgconfig, libpulseaudio
-, qt4 ? null, extra-cmake-modules ? null, qtbase ? null, qttools ? null
-, withQt5 ? false
-, debug ? false }:
+{ stdenv
+, lib
+, fetchurl
+, cmake
+, libGLU
+, libGL
+, pkgconfig
+, libpulseaudio
+, extra-cmake-modules
+, qtbase
+, qttools
+, debug ? false
+}:
 
 with lib;
 
 let
-  v = "4.11.1";
-
-  soname = if withQt5 then "phonon4qt5" else "phonon";
+  soname = "phonon4qt5";
   buildsystemdir = "share/cmake/${soname}";
 in
 
-assert withQt5 -> qtbase != null;
-assert withQt5 -> qttools != null;
-
-stdenv.mkDerivation {
-  name = "phonon-${if withQt5 then "qt5" else "qt4"}-${v}";
+stdenv.mkDerivation rec {
+  pname = "phonon";
+  version = "4.11.1";
 
   meta = {
     homepage = https://phonon.kde.org/;
@@ -27,25 +32,31 @@ stdenv.mkDerivation {
   };
 
   src = fetchurl {
-    url = "mirror://kde/stable/phonon/${v}/phonon-${v}.tar.xz";
+    url = "mirror://kde/stable/phonon/${version}/phonon-${version}.tar.xz";
     sha256 = "0bfy8iqmjhlg3ma3iqd3kxjc2zkzpjgashbpf5x17y0dc2i1whxl";
   };
 
-  buildInputs =
-    [ libGLU_combined libpulseaudio ]
-    ++ (if withQt5 then [ qtbase qttools ] else [ qt4 ]);
+  buildInputs = [
+    libGLU
+    libGL
+    libpulseaudio
+    qtbase
+    qttools
+  ];
 
-  nativeBuildInputs =
-    [ cmake pkgconfig ]
-    ++ optional withQt5 extra-cmake-modules;
+  nativeBuildInputs = [
+    cmake
+    pkgconfig
+    extra-cmake-modules
+  ];
 
   outputs = [ "out" "dev" ];
 
   NIX_CFLAGS_COMPILE = "-fPIC";
 
-  cmakeFlags =
-    [ "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}" ]
-    ++ optional withQt5 "-DPHONON_BUILD_PHONON4QT5=ON";
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}"
+  ];
 
   preConfigure = ''
     cmakeFlags+=" -DPHONON_QT_MKSPECS_INSTALL_DIR=''${!outputDev}/mkspecs"
@@ -63,10 +74,8 @@ stdenv.mkDerivation {
     sed -i cmake/FindPhononInternal.cmake \
         -e "/set(INCLUDE_INSTALL_DIR/ c set(INCLUDE_INSTALL_DIR \"''${!outputDev}/include\")"
 
-    ${optionalString withQt5 ''
     sed -i cmake/FindPhononInternal.cmake \
         -e "/set(PLUGIN_INSTALL_DIR/ c set(PLUGIN_INSTALL_DIR \"$qtPluginPrefix/..\")"
-    ''}
 
     sed -i CMakeLists.txt \
         -e "/set(BUILDSYSTEM_INSTALL_DIR/ c set(BUILDSYSTEM_INSTALL_DIR \"''${!outputDev}/${buildsystemdir}\")"
diff --git a/pkgs/development/libraries/physics/apfel/default.nix b/pkgs/development/libraries/physics/apfel/default.nix
index 5302ad21258a..4ebfd6fbfa37 100644
--- a/pkgs/development/libraries/physics/apfel/default.nix
+++ b/pkgs/development/libraries/physics/apfel/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, gfortran, lhapdf, python2 }:
+{ stdenv, fetchFromGitHub, gfortran, lhapdf, python2, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "apfel";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "13n5ygbqvskg3qq5n4sff1nbii0li0zf1vqissai7x0hynxgy7p6";
   };
 
-  buildInputs = [ gfortran lhapdf python2 ];
+  buildInputs = [ gfortran lhapdf python2 zlib ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/physics/applgrid/default.nix b/pkgs/development/libraries/physics/applgrid/default.nix
index edda5148068a..3e2a53d81dd8 100644
--- a/pkgs/development/libraries/physics/applgrid/default.nix
+++ b/pkgs/development/libraries/physics/applgrid/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gfortran, hoppet, lhapdf, root5 }:
+{ stdenv, fetchurl, gfortran, hoppet, lhapdf, root5, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "applgrid";
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "1yw9wrk3vjv84kd3j4s1scfhinirknwk6xq0hvj7x2srx3h93q9p";
   };
 
-  buildInputs = [ gfortran hoppet lhapdf root5 ];
+  # For some reason zlib was only needed after bump to gfortran8
+  buildInputs = [ gfortran hoppet lhapdf root5 zlib ];
 
   patches = [
     ./bad_code.patch
diff --git a/pkgs/development/libraries/physics/fastjet-contrib/default.nix b/pkgs/development/libraries/physics/fastjet-contrib/default.nix
new file mode 100644
index 000000000000..2bc5b12dfb77
--- /dev/null
+++ b/pkgs/development/libraries/physics/fastjet-contrib/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, fastjet }:
+
+stdenv.mkDerivation rec {
+  pname = "fastjet-contrib";
+  version = "1.042";
+
+  src = fetchurl {
+    url = "http://fastjet.hepforge.org/contrib/downloads/fjcontrib-${version}.tar.gz";
+    sha256 = "0cc8dn6g7adj2pgs8hvczg68i3xhlk6978m4gxamgibilf9jw1av";
+  };
+
+  buildInputs = [ fastjet ];
+
+  postPatch = ''
+    for f in Makefile.in */Makefile; do
+      substituteInPlace "$f" --replace "CXX=g++" ""
+    done
+    patchShebangs ./configure ./utils/check.sh ./utils/install-sh
+  '';
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+
+  postBuild = ''
+    make fragile-shared
+  '';
+
+  postInstall = ''
+    make fragile-shared-install
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Third party extensions for FastJet";
+    homepage = "http://fastjet.fr/";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ veprbl ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/physics/geant4/default.nix b/pkgs/development/libraries/physics/geant4/default.nix
index 96715882c231..007e4ad0c32f 100644
--- a/pkgs/development/libraries/physics/geant4/default.nix
+++ b/pkgs/development/libraries/physics/geant4/default.nix
@@ -30,7 +30,7 @@
 , libXpm
 
 # For enableQT, enableXM, enableOpenGLX11, enableRaytracerX11.
-, libGLU_combined
+, libGLU, libGL
 , xlibsWrapper
 , libXmu
 }:
@@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
   nativeBuildInputs =  [ cmake ];
-  buildInputs = [ clhep expat zlib libGLU_combined xlibsWrapper libXmu ]
+  buildInputs = [ clhep expat zlib libGLU libGL xlibsWrapper libXmu ]
     ++ stdenv.lib.optionals enableGDML [ xercesc ]
     ++ stdenv.lib.optionals enableXM [ motif ]
     ++ stdenv.lib.optionals enableQT [ qtbase ]
diff --git a/pkgs/development/libraries/physics/qcdnum/default.nix b/pkgs/development/libraries/physics/qcdnum/default.nix
index ad5f994620ff..8b002ce81957 100644
--- a/pkgs/development/libraries/physics/qcdnum/default.nix
+++ b/pkgs/development/libraries/physics/qcdnum/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gfortran }:
+{ stdenv, fetchurl, gfortran, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "QCDNUM";
@@ -10,6 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ gfortran ];
+  buildInputs = [ zlib ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/plib/default.nix b/pkgs/development/libraries/plib/default.nix
index c9e8c632c7f1..bbc5eb21c276 100644
--- a/pkgs/development/libraries/plib/default.nix
+++ b/pkgs/development/libraries/plib/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, fetchpatch, stdenv, libGLU_combined, freeglut, SDL
+{ fetchurl, fetchpatch, stdenv, libGLU, libGL, freeglut, SDL
 , libXi, libSM, libXmu, libXext, libX11 }:
 
 stdenv.mkDerivation rec {
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   ];
 
   propagatedBuildInputs = [
-    libGLU_combined freeglut SDL
+    libGLU libGL freeglut SDL
 
     # The following libs ought to be propagated build inputs of Mesa.
     libXi libSM libXmu libXext libX11
diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix
index 05813bf29dca..17163c2206cd 100644
--- a/pkgs/development/libraries/polkit/default.nix
+++ b/pkgs/development/libraries/polkit/default.nix
@@ -2,7 +2,7 @@
 , intltool, spidermonkey_60 , gobject-introspection, libxslt, docbook_xsl, dbus
 , docbook_xml_dtd_412, gtk-doc, coreutils
 , useSystemd ? (stdenv.isLinux && !stdenv.hostPlatform.isMusl), systemd, elogind
-, withGnome ? true
+, withIntrospection ? true
 # A few tests currently fail on musl (polkitunixusertest, polkitunixgrouptest, polkitidentitytest segfault).
 # Not yet investigated; it may be due to the "Make netgroup support optional"
 # patch not updating the tests correctly yet, or doing something wrong,
@@ -55,8 +55,9 @@ stdenv.mkDerivation rec {
     ++ [ libxslt docbook_xsl docbook_xml_dtd_412 ]; # man pages
   buildInputs =
     [ expat pam spidermonkey_60 ]
-    ++ (if useSystemd then [systemd] else [elogind])
-    ++ stdenv.lib.optional withGnome gobject-introspection;
+    # On Linux, fall back to elogind when systemd support is off.
+    ++ stdenv.lib.optional stdenv.isLinux (if useSystemd then systemd else elogind)
+    ++ stdenv.lib.optional withIntrospection gobject-introspection;
 
   propagatedBuildInputs = [
     glib # in .pc Requires
@@ -85,7 +86,7 @@ stdenv.mkDerivation rec {
     "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
     "--with-polkitd-user=polkituser" #TODO? <nixos> config.ids.uids.polkituser
     "--with-os-type=NixOS" # not recognized but prevents impurities on non-NixOS
-    (if withGnome then "--enable-introspection" else "--disable-introspection")
+    (if withIntrospection then "--enable-introspection" else "--disable-introspection")
   ] ++ stdenv.lib.optional (!doCheck) "--disable-test";
 
   makeFlags = [
diff --git a/pkgs/development/libraries/prometheus-cpp/default.nix b/pkgs/development/libraries/prometheus-cpp/default.nix
index 6f49db4d206f..b047322c35e6 100644
--- a/pkgs/development/libraries/prometheus-cpp/default.nix
+++ b/pkgs/development/libraries/prometheus-cpp/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "prometheus-cpp";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "jupp0r";
     repo = pname;
     rev = "v${version}";
-    sha256 = "15bda1q1jbvixbx1qf41ykcdmsywhhwmi4xgsha12r5m9fh8jzxj";
+    sha256 = "0j12ir8skw3y2q8n743zql4ddp7v1j4h030pjcsqn0xqrqw7m5hg";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/protobuf/3.11.nix b/pkgs/development/libraries/protobuf/3.11.nix
new file mode 100644
index 000000000000..26f8ca133413
--- /dev/null
+++ b/pkgs/development/libraries/protobuf/3.11.nix
@@ -0,0 +1,6 @@
+{ callPackage, ... }:
+
+callPackage ./generic-v3.nix {
+  version = "3.11.0";
+  sha256 = "1b0kf02aw1yvpwdax3865057dzrlrdc7dgam05znwq8id5q76ckr";
+}
diff --git a/pkgs/development/libraries/pybind11/default.nix b/pkgs/development/libraries/pybind11/default.nix
deleted file mode 100644
index 7dfbdc4d64a0..000000000000
--- a/pkgs/development/libraries/pybind11/default.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ stdenv, fetchurl, fetchFromGitHub, cmake, catch, python, eigen }:
-
-stdenv.mkDerivation rec {
-  pname = "pybind";
-  version = "2.2.4";
-
-  src = fetchFromGitHub {
-    owner = "pybind";
-    repo = "pybind11";
-    rev = "v${version}";
-    sha256 = "0pa79ymcasv8br5ifbx7878id5py2jpjac3i20cqxr6gs9l6ivlv";
-  };
-
-  nativeBuildInputs = [ cmake ];
-  checkInputs = with python.pkgs; [ catch eigen pytest numpy scipy ];
-
-  # Disable test_cmake_build test, as it fails in sandbox
-  # https://github.com/pybind/pybind11/issues/1355
-  patches = [
-    ./no_test_cmake_build.patch
-    (fetchurl { # Remove on bump to v2.2.5
-      name = "pytest_namespace_to_configure.patch";
-      url = "https://github.com/pybind/pybind11/commit/e7ef34f23f194cfa40bdbf967c6d34712261a4ee.patch";
-      sha256 = "1dhv6p0b5fxzxc8j3sfy8kvfmdshczk22xfxh6bk0cfnfdy9iqrq";
-    })
-  ];
-
-  doCheck = true;
-
-  cmakeFlags = [ 
-    "-DPYTHON_EXECUTABLE=${python.interpreter}" 
-    "-DPYBIND11_TEST=${if doCheck then "ON" else "OFF"}"
-  ];
-
-  meta = {
-    homepage = https://github.com/pybind/pybind11;
-    description = "Seamless operability between C++11 and Python";
-    longDescription = ''
-      Pybind11 is a lightweight header-only library that exposes
-      C++ types in Python and vice versa, mainly to create Python
-      bindings of existing C++ code.
-    '';
-    platforms = with stdenv.lib.platforms; unix;
-    license = stdenv.lib.licenses.bsd3;
-    maintainers = with stdenv.lib.maintainers; [ yuriaisaka ];
-  };
-}
diff --git a/pkgs/development/libraries/pybind11/no_test_cmake_build.patch b/pkgs/development/libraries/pybind11/no_test_cmake_build.patch
deleted file mode 100644
index c5d6ecc4481e..000000000000
--- a/pkgs/development/libraries/pybind11/no_test_cmake_build.patch
+++ /dev/null
@@ -1,7 +0,0 @@
---- a/tests/CMakeLists.txt	2019-01-28 14:13:55.822119328 +0100
-+++ b/tests/CMakeLists.txt	2019-01-28 14:14:06.741161928 +0100
-@@ -233,4 +233,3 @@
- add_subdirectory(test_embed)
- 
- # Test CMake build using functions and targets from subdirectory or installed location
--add_subdirectory(test_cmake_build)
diff --git a/pkgs/development/libraries/qgnomeplatform/default.nix b/pkgs/development/libraries/qgnomeplatform/default.nix
index 94c69a4a14b3..564fc70f2b97 100644
--- a/pkgs/development/libraries/qgnomeplatform/default.nix
+++ b/pkgs/development/libraries/qgnomeplatform/default.nix
@@ -1,14 +1,14 @@
-{ mkDerivation, lib, fetchFromGitHub, pkgconfig, gtk3, qtbase, qmake }:
+{ mkDerivation, lib, fetchFromGitHub, pkgconfig, gtk3, qtbase, qmake, qtx11extras }:
 
 mkDerivation rec {
   pname = "qgnomeplatform";
-  version = "0.5";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "FedoraQt";
     repo = "QGnomePlatform";
     rev = version;
-    sha256 = "01ncj21cxd5p7pch6p3zbhv5wp0dgn9vy5hrw54g49fmqnbb1ymz";
+    sha256 = "0fb1mzs6sx76bl7f0z2xhc0jq6y1c55jrw1v3na8577is6g5ji0a";
   };
 
   nativeBuildInputs = [
@@ -19,11 +19,14 @@ mkDerivation rec {
   buildInputs = [
     gtk3
     qtbase
+    qtx11extras
   ];
 
   postPatch = ''
     # Fix plugin dir
-    substituteInPlace qgnomeplatform.pro \
+    substituteInPlace decoration/decoration.pro \
+      --replace "\$\$[QT_INSTALL_PLUGINS]" "$out/$qtPluginPrefix"
+    substituteInPlace theme/theme.pro \
       --replace "\$\$[QT_INSTALL_PLUGINS]" "$out/$qtPluginPrefix"
   '';
 
diff --git a/pkgs/development/libraries/qt-3/default.nix b/pkgs/development/libraries/qt-3/default.nix
index a46dcec03128..98519ae294a4 100644
--- a/pkgs/development/libraries/qt-3/default.nix
+++ b/pkgs/development/libraries/qt-3/default.nix
@@ -8,7 +8,7 @@
 , mysqlSupport ? false, libmysqlclient ? null
 , libGLSupported ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms
 , openglSupport ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms
-, libGLU_combined ? null, libXmu ? null
+, libGL ? null, libGLU ? null, libXmu ? null
 , xlibsWrapper, xorgproto, zlib, libjpeg, libpng, which
 }:
 
@@ -17,7 +17,7 @@ assert xrenderSupport -> xftSupport && libXrender != null;
 assert xrandrSupport -> libXrandr != null;
 assert cursorSupport -> libXcursor != null;
 assert mysqlSupport -> libmysqlclient != null;
-assert openglSupport -> libGLU_combined != null && libXmu != null;
+assert openglSupport -> libGL != null && libGLU != null && libXmu != null;
 
 stdenv.mkDerivation {
   name = "qt-3.3.8";
@@ -51,7 +51,7 @@ stdenv.mkDerivation {
     (mk xftSupport "xft")
   ] ++ stdenv.lib.optionals openglSupport [
     "-dlopen-opengl"
-    "-L${libGLU_combined}/lib" "-I${libGLU_combined}/include"
+    "-L${libGL}/lib" "-I${libGLU}/include"
     "-L${libXmu.out}/lib" "-I${libXmu.dev}/include"
   ] ++ stdenv.lib.optionals xrenderSupport [
     "-L${libXrender.out}/lib" "-I${libXrender.dev}/include"
diff --git a/pkgs/development/libraries/qt-5/5.11/default.nix b/pkgs/development/libraries/qt-5/5.11/default.nix
deleted file mode 100644
index e22dc4dbae30..000000000000
--- a/pkgs/development/libraries/qt-5/5.11/default.nix
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
-
-# Updates
-
-Before a major version update, make a copy of this directory. (We like to
-keep the old version around for a short time after major updates.) Add a
-top-level attribute to `top-level/all-packages.nix`.
-
-1. Update the URL in `pkgs/development/libraries/qt-5/$VERSION/fetch.sh`.
-2. From the top of the Nixpkgs tree, run
-   `./maintainers/scripts/fetch-kde-qt.sh > pkgs/development/libraries/qt-5/$VERSION/srcs.nix`.
-3. Check that the new packages build correctly.
-4. Commit the changes and open a pull request.
-
-*/
-
-{
-  newScope,
-  stdenv, fetchurl, fetchFromGitHub, fetchpatch, makeSetupHook, makeWrapper,
-  bison, cups ? null, harfbuzz, libGL, perl,
-  gstreamer, gst-plugins-base, gtk3, dconf,
-  llvmPackages_5,
-
-  # options
-  developerBuild ? false,
-  decryptSslTraffic ? false,
-  debug ? false,
-}:
-
-with stdenv.lib;
-
-let
-
-  qtCompatVersion = srcs.qtbase.version;
-
-  stdenvActual = if stdenv.cc.isClang then llvmPackages_5.stdenv else stdenv;
-
-  mirror = "https://download.qt.io";
-  srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; } // {
-    # Community port of the now unmaintained upstream qtwebkit.
-    qtwebkit = {
-      src = fetchFromGitHub {
-        owner = "annulen";
-        repo = "webkit";
-        rev = "4ce8ebc4094512b9916bfa5984065e95ac97c9d8";
-        sha256 = "05h1xnxzbf7sp3plw5dndsvpf6iigh0bi4vlj4svx0hkf1giakjf";
-      };
-      version = "5.212-alpha-01-26-2018";
-    };
-  };
-
-  patches = {
-    qtbase = [
-      ./qtbase.patch
-      ./qtbase-fixguicmake.patch
-    ];
-    qtdeclarative = [ ./qtdeclarative.patch ];
-    qtscript = [
-      ./qtscript.patch
-      # needed due to changes in gcc 8.3, see https://bugreports.qt.io/browse/QTBUG-74196
-      # fixed in qtscript 5.12.2
-      (fetchpatch {
-        url = "https://github.com/qt/qtscript/commit/97ec1d1882a83c23c91f0f7daea48e05858d8c32.diff";
-        sha256 = "0khrapq13xzvxckzc9l7gqyjwibyd98vyqy6gmyhvsbm2kq8n6wi";
-      })
-    ];
-    qtserialport = [ ./qtserialport.patch ];
-    qttools = [ ./qttools.patch ];
-    qtwebengine = [
-      ./qtwebengine-no-build-skip.patch
-      ./qtwebengine-darwin-no-platform-check.patch
-      # https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/707
-      # https://bugreports.qt.io/browse/QTBUG-77037
-      (fetchpatch {
-        name = "fix-build-with-pulseaudio-13.0.patch";
-        url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/qtbug-77037-workaround.patch?h=packages/qt5-webengine&id=fc77d6b3d5ec74e421b58f199efceb2593cbf951";
-        sha256 = "1gv733qfdn9746nbqqxzyjx4ijjqkkb7zb71nxax49nna5bri3am";
-      })
-    ];
-    qtwebkit = [ ./qtwebkit.patch ];
-  };
-
-  qtModule =
-    import ../qtModule.nix
-    {
-      inherit perl;
-      inherit (stdenv) lib;
-      # Use a variant of mkDerivation that does not include wrapQtApplications
-      # to avoid cyclic dependencies between Qt modules.
-      mkDerivation =
-        import ../mkDerivation.nix
-        { inherit (stdenv) lib; inherit debug; wrapQtAppsHook = null; }
-        stdenvActual.mkDerivation;
-    }
-    { inherit self srcs patches; };
-
-  addPackages = self: with self;
-    let
-      callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; };
-    in {
-
-      mkDerivationWith =
-        import ../mkDerivation.nix
-        { inherit (stdenv) lib; inherit debug; inherit (self) wrapQtAppsHook; };
-
-      mkDerivation = mkDerivationWith stdenvActual.mkDerivation;
-
-      qtbase = callPackage ../modules/qtbase.nix {
-        inherit (srcs.qtbase) src version;
-        patches = patches.qtbase;
-        inherit bison cups harfbuzz libGL;
-        withGtk3 = true; inherit dconf gtk3;
-        inherit developerBuild decryptSslTraffic;
-      };
-
-      qtcharts = callPackage ../modules/qtcharts.nix {};
-      qtconnectivity = callPackage ../modules/qtconnectivity.nix {};
-      qtdeclarative = callPackage ../modules/qtdeclarative.nix {};
-      qtdoc = callPackage ../modules/qtdoc.nix {};
-      qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {};
-      qtimageformats = callPackage ../modules/qtimageformats.nix {};
-      qtlocation = callPackage ../modules/qtlocation.nix { };
-      qtmacextras = callPackage ../modules/qtmacextras.nix {};
-      qtmultimedia = callPackage ../modules/qtmultimedia.nix {
-        inherit gstreamer gst-plugins-base;
-      };
-      qtnetworkauth = callPackage ../modules/qtnetworkauth.nix {};
-      qtquick1 = null;
-      qtquickcontrols = callPackage ../modules/qtquickcontrols.nix {};
-      qtquickcontrols2 = callPackage ../modules/qtquickcontrols2.nix {};
-      qtscript = callPackage ../modules/qtscript.nix {};
-      qtsensors = callPackage ../modules/qtsensors.nix {};
-      qtserialport = callPackage ../modules/qtserialport.nix {};
-      qtspeech = callPackage ../modules/qtspeech.nix {};
-      qtsvg = callPackage ../modules/qtsvg.nix {};
-      qttools = callPackage ../modules/qttools.nix {};
-      qttranslations = callPackage ../modules/qttranslations.nix {};
-      qtvirtualkeyboard = callPackage ../modules/qtvirtualkeyboard.nix {};
-      qtwayland = callPackage ../modules/qtwayland.nix {};
-      qtwebchannel = callPackage ../modules/qtwebchannel.nix {};
-      qtwebengine = callPackage ../modules/qtwebengine.nix {};
-      qtwebglplugin = callPackage ../modules/qtwebglplugin.nix {};
-      qtwebkit = callPackage ../modules/qtwebkit.nix {};
-      qtwebsockets = callPackage ../modules/qtwebsockets.nix {};
-      qtwebview = callPackage ../modules/qtwebview.nix {};
-      qtx11extras = callPackage ../modules/qtx11extras.nix {};
-      qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {};
-
-      env = callPackage ../qt-env.nix {};
-      full = env "qt-full-${qtbase.version}" ([
-        qtcharts qtconnectivity qtdeclarative qtdoc qtgraphicaleffects
-        qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2
-        qtscript qtsensors qtserialport qtsvg qttools qttranslations
-        qtvirtualkeyboard qtwebchannel qtwebengine qtwebkit qtwebsockets
-        qtwebview qtx11extras qtxmlpatterns
-      ] ++ optional (!stdenv.isDarwin) qtwayland
-        ++ optional (stdenv.isDarwin) qtmacextras);
-
-      qmake = makeSetupHook {
-        deps = [ self.qtbase.dev ];
-        substitutions = {
-          fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh;
-        };
-      } ../hooks/qmake-hook.sh;
-
-      wrapQtAppsHook = makeSetupHook {
-        deps =
-          [ self.qtbase.dev makeWrapper ]
-          ++ optional stdenv.isLinux self.qtwayland.dev;
-      } ../hooks/wrap-qt-apps-hook.sh;
-    };
-
-   self = makeScope newScope addPackages;
-
-in self
diff --git a/pkgs/development/libraries/qt-5/5.11/fetch.sh b/pkgs/development/libraries/qt-5/5.11/fetch.sh
deleted file mode 100644
index 2ab3dd71c24f..000000000000
--- a/pkgs/development/libraries/qt-5/5.11/fetch.sh
+++ /dev/null
@@ -1 +0,0 @@
-WGET_ARGS=( http://download.qt.io/official_releases/qt/5.11/5.11.3/submodules/ )
diff --git a/pkgs/development/libraries/qt-5/5.11/qtbase-fixguicmake.patch b/pkgs/development/libraries/qt-5/5.11/qtbase-fixguicmake.patch
deleted file mode 100644
index 8b46d432812a..000000000000
--- a/pkgs/development/libraries/qt-5/5.11/qtbase-fixguicmake.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-index 0bbc871..3673634 100644
---- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-@@ -286,7 +286,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
-     macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION)
-         set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
--        set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
-+        set(imported_location \"${PLUGIN_LOCATION}\")
-         _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
-         set_target_properties(Qt5::${Plugin} PROPERTIES
-             \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
-diff --git a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-index 5baf0fd..3583745 100644
---- a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-+++ b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-@@ -2,10 +2,10 @@
- add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
- 
- !!IF !isEmpty(CMAKE_RELEASE_TYPE)
--_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
-+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
- !!ENDIF
- !!IF !isEmpty(CMAKE_DEBUG_TYPE)
--_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
-+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
- !!ENDIF
- 
- list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
diff --git a/pkgs/development/libraries/qt-5/5.11/qtbase.patch b/pkgs/development/libraries/qt-5/5.11/qtbase.patch
deleted file mode 100644
index 7d8407f6daf8..000000000000
--- a/pkgs/development/libraries/qt-5/5.11/qtbase.patch
+++ /dev/null
@@ -1,1106 +0,0 @@
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/common/mac.conf qtbase-everywhere-src-5.11.3/mkspecs/common/mac.conf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/common/mac.conf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/common/mac.conf	2019-01-31 00:42:55.843577249 +0100
-@@ -23,7 +23,7 @@
- 
- QMAKE_FIX_RPATH         = install_name_tool -id
- 
--QMAKE_LFLAGS_RPATH      = -Wl,-rpath,
-+QMAKE_LFLAGS_RPATH      =
- QMAKE_LFLAGS_GCSECTIONS = -Wl,-dead_strip
- 
- QMAKE_LFLAGS_REL_RPATH  =
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/create_cmake.prf qtbase-everywhere-src-5.11.3/mkspecs/features/create_cmake.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/create_cmake.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/create_cmake.prf	2019-01-31 00:42:55.843577249 +0100
-@@ -21,7 +21,7 @@
- # at cmake time whether package has been found via a symlink, and correct
- # that to an absolute path. This is only done for installations to
- # the /usr or / prefix.
--CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$[QT_INSTALL_LIBS])
-+CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$NIX_OUTPUT_OUT/lib/)
- contains(CMAKE_INSTALL_LIBS_DIR, ^(/usr)?/lib(64)?.*): CMAKE_USR_MOVE_WORKAROUND = $$CMAKE_INSTALL_LIBS_DIR
- 
- CMAKE_OUT_DIR = $$MODULE_BASE_OUTDIR/lib/cmake
-@@ -51,45 +51,20 @@
-         $$cmake_extra_source_includes.output
- }
- 
--CMAKE_INCLUDE_DIR = $$cmakeRelativePath($$[QT_INSTALL_HEADERS], $$[QT_INSTALL_PREFIX])
--contains(CMAKE_INCLUDE_DIR, "^\\.\\./.*") {
--    CMAKE_INCLUDE_DIR = $$[QT_INSTALL_HEADERS]/
--    CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True
--}
-+CMAKE_INCLUDE_DIR = $$NIX_OUTPUT_DEV/include/
-+CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True
- 
--CMAKE_LIB_DIR = $$cmakeRelativePath($$[QT_INSTALL_LIBS], $$[QT_INSTALL_PREFIX])
--contains(CMAKE_LIB_DIR,"^\\.\\./.*") {
--    CMAKE_LIB_DIR = $$[QT_INSTALL_LIBS]/
--    CMAKE_LIB_DIR_IS_ABSOLUTE = True
--} else {
--    CMAKE_RELATIVE_INSTALL_LIBS_DIR = $$cmakeRelativePath($$[QT_INSTALL_PREFIX], $$[QT_INSTALL_LIBS])
--    # We need to go up another two levels because the CMake files are
--    # installed in $${CMAKE_LIB_DIR}/cmake/Qt5$${CMAKE_MODULE_NAME}
--    CMAKE_RELATIVE_INSTALL_DIR = "$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}../../"
--}
-+CMAKE_BIN_DIR = $$NIX_OUTPUT_BIN/bin/
-+CMAKE_BIN_DIR_IS_ABSOLUTE = True
- 
--CMAKE_BIN_DIR = $$cmakeRelativePath($$[QT_HOST_BINS], $$[QT_INSTALL_PREFIX])
--contains(CMAKE_BIN_DIR, "^\\.\\./.*") {
--    CMAKE_BIN_DIR = $$[QT_HOST_BINS]/
--    CMAKE_BIN_DIR_IS_ABSOLUTE = True
--}
-+CMAKE_LIB_DIR = $$NIX_OUTPUT_OUT/lib/
-+CMAKE_LIB_DIR_IS_ABSOLUTE = True
- 
--CMAKE_PLUGIN_DIR = $$cmakeRelativePath($$[QT_INSTALL_PLUGINS], $$[QT_INSTALL_PREFIX])
--contains(CMAKE_PLUGIN_DIR, "^\\.\\./.*") {
--    CMAKE_PLUGIN_DIR = $$[QT_INSTALL_PLUGINS]/
--    CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True
--}
--
--win32:!static:!staticlib {
--    CMAKE_DLL_DIR = $$cmakeRelativePath($$[QT_INSTALL_BINS], $$[QT_INSTALL_PREFIX])
--    contains(CMAKE_DLL_DIR, "^\\.\\./.*") {
--        CMAKE_DLL_DIR = $$[QT_INSTALL_BINS]/
--        CMAKE_DLL_DIR_IS_ABSOLUTE = True
--    }
--} else {
--    CMAKE_DLL_DIR = $$CMAKE_LIB_DIR
--    CMAKE_DLL_DIR_IS_ABSOLUTE = $$CMAKE_LIB_DIR_IS_ABSOLUTE
--}
-+CMAKE_PLUGIN_DIR = $$NIX_OUTPUT_PLUGIN/
-+CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True
-+ 
-+CMAKE_DLL_DIR = $$NIX_OUTPUT_OUT/lib/
-+CMAKE_DLL_DIR_IS_ABSOLUTE = True
- 
- static|staticlib:CMAKE_STATIC_TYPE = true
- 
-@@ -169,7 +144,7 @@
-       cmake_target_file
- 
-     cmake_qt5_plugin_file.files = $$cmake_target_file.output
--    cmake_qt5_plugin_file.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME}
-+    cmake_qt5_plugin_file.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME}
-     INSTALLS += cmake_qt5_plugin_file
- 
-     return()
-@@ -316,7 +291,7 @@
-     cmake_qt5_module_files.files += $$cmake_macros_file.output
- }
- 
--cmake_qt5_module_files.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME}
-+cmake_qt5_module_files.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME}
- 
- # We are generating cmake files. Most developers of Qt are not aware of cmake,
- # so we require automatic tests to be available. The only module which should
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in qtbase-everywhere-src-5.11.3/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in	2019-01-31 00:42:55.843577249 +0100
-@@ -3,30 +3,6 @@
-     message(FATAL_ERROR \"Qt 5 $${CMAKE_MODULE_NAME} module requires at least CMake version 3.1.0\")
- endif()
- 
--!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND)
--!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
--!!ELSE
--get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH)
--# Use original install prefix when loaded through a
--# cross-prefix symbolic link such as /lib -> /usr/lib.
--get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH)
--get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH)
--if(_realCurr STREQUAL _realOrig)
--    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE)
--else()
--    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
--endif()
--unset(_realOrig)
--unset(_realCurr)
--unset(_IMPORT_PREFIX)
--!!ENDIF
--!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
--!!ELSE
--set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
--!!ENDIF
--
- !!IF !equals(TEMPLATE, aux)
- # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead.
- set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.VERSION)")
-@@ -52,11 +28,7 @@
- macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATION IMPLIB_LOCATION)
-     set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
--!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
--!!ELSE
-     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
--!!ENDIF
-     _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
-     set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
-         \"INTERFACE_LINK_LIBRARIES\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\"
-@@ -69,11 +41,7 @@
-     )
- 
- !!IF !isEmpty(CMAKE_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
--!!ELSE
-     set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
--!!ENDIF
-     _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib})
-     if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\")
-         set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
-@@ -89,24 +57,13 @@
- !!IF !no_module_headers
- !!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
-     set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS
--      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\"
--      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\"
-+      \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\"
-+      \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\"
-     )
- !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
--    )
--!!ELSE
--    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
--!!ENDIF
--!!ELSE
--!!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
--    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\")
--!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
--    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\"
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\"
-+        \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
-+        \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
-     )
- !!ELSE
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
-@@ -122,7 +79,6 @@
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
- !!ENDIF
- !!ENDIF
--!!ENDIF
- !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS)
-     include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL)
- !!ENDIF
-@@ -269,25 +225,13 @@
- !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
- !!IF isEmpty(CMAKE_DEBUG_TYPE)
- !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
-     if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" )
- !!ELSE // CMAKE_STATIC_WINDOWS_BUILD
-     if (EXISTS
--!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
--!!ELSE
-         \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
--!!ENDIF
-       AND EXISTS
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ELSE
-         \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ENDIF
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
- !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
-     endif()
-@@ -306,25 +250,13 @@
- !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
- !!IF isEmpty(CMAKE_RELEASE_TYPE)
- !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
-     if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" )
- !!ELSE // CMAKE_STATIC_WINDOWS_BUILD
-     if (EXISTS
--!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
--!!ELSE
-         \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
--!!ENDIF
-       AND EXISTS
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ELSE
-         \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ENDIF
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
- !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
-     endif()
-@@ -343,11 +275,7 @@
-     macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION)
-         set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
--!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
--        set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
--!!ELSE
-         set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
--!!ENDIF
-         _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
-         set_target_properties(Qt5::${Plugin} PROPERTIES
-             \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/mac/default_post.prf qtbase-everywhere-src-5.11.3/mkspecs/features/mac/default_post.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/mac/default_post.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/mac/default_post.prf	2019-01-31 00:45:14.585621324 +0100
-@@ -62,199 +62,3 @@
-         }
-     }
- }
--
--# Add the same default rpaths as Xcode does for new projects.
--# This is especially important for iOS/tvOS/watchOS where no other option is possible.
--!no_default_rpath {
--    QMAKE_RPATHDIR += @executable_path/Frameworks
--    equals(TEMPLATE, lib):!plugin:lib_bundle: QMAKE_RPATHDIR += @loader_path/Frameworks
--}
--
--# Don't pass -headerpad_max_install_names when using Bitcode.
--# In that case the linker emits a warning stating that the flag is ignored when
--# used with bitcode, for reasons that cannot be determined (rdar://problem/20748962).
--# Using this flag is also unnecessary in practice on UIKit platforms since they
--# are sandboxed, and only UIKit platforms support bitcode to begin with.
--!bitcode: QMAKE_LFLAGS += $$QMAKE_LFLAGS_HEADERPAD
--
--app_extension_api_only {
--    QMAKE_CFLAGS              += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--    QMAKE_CXXFLAGS            += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--    QMAKE_CXXFLAGS_PRECOMPILE += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--    QMAKE_LFLAGS              += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--}
--
--macx-xcode {
--    qmake_pkginfo_typeinfo.name = QMAKE_PKGINFO_TYPEINFO
--    !isEmpty(QMAKE_PKGINFO_TYPEINFO): \
--        qmake_pkginfo_typeinfo.value = $$QMAKE_PKGINFO_TYPEINFO
--    else: \
--        qmake_pkginfo_typeinfo.value = "????"
--    QMAKE_MAC_XCODE_SETTINGS += qmake_pkginfo_typeinfo
--
--    !isEmpty(VERSION) {
--        l = $$split(VERSION, '.') 0 0  # make sure there are at least three
--        VER_MAJ = $$member(l, 0, 0)
--        VER_MIN = $$member(l, 1, 1)
--        VER_PAT = $$member(l, 2, 2)
--        unset(l)
--
--        qmake_full_version.name = QMAKE_FULL_VERSION
--        qmake_full_version.value = $${VER_MAJ}.$${VER_MIN}.$${VER_PAT}
--        QMAKE_MAC_XCODE_SETTINGS += qmake_full_version
--
--        qmake_short_version.name = QMAKE_SHORT_VERSION
--        qmake_short_version.value = $${VER_MAJ}.$${VER_MIN}
--        QMAKE_MAC_XCODE_SETTINGS += qmake_short_version
--    }
--
--    !isEmpty(QMAKE_XCODE_DEBUG_INFORMATION_FORMAT) {
--        debug_information_format.name = DEBUG_INFORMATION_FORMAT
--        debug_information_format.value = $$QMAKE_XCODE_DEBUG_INFORMATION_FORMAT
--        debug_information_format.build = debug
--        QMAKE_MAC_XCODE_SETTINGS += debug_information_format
--    }
--
--    QMAKE_XCODE_ARCHS =
--
--    arch_device.name = "ARCHS[sdk=$${device.sdk}*]"
--    arch_device.value = $$QMAKE_APPLE_DEVICE_ARCHS
--    QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_DEVICE_ARCHS
--    QMAKE_MAC_XCODE_SETTINGS += arch_device
--
--    simulator {
--        arch_simulator.name = "ARCHS[sdk=$${simulator.sdk}*]"
--        arch_simulator.value = $$QMAKE_APPLE_SIMULATOR_ARCHS
--        QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_SIMULATOR_ARCHS
--        QMAKE_MAC_XCODE_SETTINGS += arch_simulator
--    }
--
--    only_active_arch.name = ONLY_ACTIVE_ARCH
--    only_active_arch.value = YES
--    only_active_arch.build = debug
--    QMAKE_MAC_XCODE_SETTINGS += only_active_arch
--} else {
--    device|!simulator: VALID_DEVICE_ARCHS = $$QMAKE_APPLE_DEVICE_ARCHS
--    simulator: VALID_SIMULATOR_ARCHS = $$QMAKE_APPLE_SIMULATOR_ARCHS
--    VALID_ARCHS = $$VALID_DEVICE_ARCHS $$VALID_SIMULATOR_ARCHS
--
--    isEmpty(VALID_ARCHS): \
--        error("QMAKE_APPLE_DEVICE_ARCHS or QMAKE_APPLE_SIMULATOR_ARCHS must contain at least one architecture")
--
--    single_arch: VALID_ARCHS = $$first(VALID_ARCHS)
--
--    ACTIVE_ARCHS = $(filter $(EXPORT_VALID_ARCHS), $(ARCHS))
--    ARCH_ARGS = $(foreach arch, $(if $(EXPORT_ACTIVE_ARCHS), $(EXPORT_ACTIVE_ARCHS), $(EXPORT_VALID_ARCHS)), -arch $(arch))
--
--    QMAKE_EXTRA_VARIABLES += VALID_ARCHS ACTIVE_ARCHS ARCH_ARGS
--
--    arch_flags = $(EXPORT_ARCH_ARGS)
--
--    QMAKE_CFLAGS += $$arch_flags
--    QMAKE_CXXFLAGS += $$arch_flags
--    QMAKE_LFLAGS += $$arch_flags
--
--    QMAKE_PCH_ARCHS = $$VALID_ARCHS
--
--    macos: deployment_target = $$QMAKE_MACOSX_DEPLOYMENT_TARGET
--    ios: deployment_target = $$QMAKE_IOS_DEPLOYMENT_TARGET
--    tvos: deployment_target = $$QMAKE_TVOS_DEPLOYMENT_TARGET
--    watchos: deployment_target = $$QMAKE_WATCHOS_DEPLOYMENT_TARGET
--
--    # If we're doing a simulator and device build, device and simulator
--    # architectures use different paths and flags for the sysroot and
--    # deployment target switch, so we must multiplex them across multiple
--    # architectures using -Xarch. Otherwise we fall back to the simple path.
--    # This is not strictly necessary, but results in cleaner command lines
--    # and makes it easier for people to override EXPORT_VALID_ARCHS to limit
--    # individual rules to a different set of architecture(s) from the overall
--    # build (such as machtest in QtCore).
--    simulator:device {
--        QMAKE_XARCH_CFLAGS =
--        QMAKE_XARCH_LFLAGS =
--        QMAKE_EXTRA_VARIABLES += QMAKE_XARCH_CFLAGS QMAKE_XARCH_LFLAGS
--
--        for (arch, VALID_ARCHS) {
--            contains(VALID_SIMULATOR_ARCHS, $$arch) {
--                sdk = $$simulator.sdk
--                version_identifier = $$simulator.deployment_identifier
--            } else {
--                sdk = $$device.sdk
--                version_identifier = $$device.deployment_identifier
--            }
--
--            version_min_flags = \
--                -Xarch_$${arch} \
--                -m$${version_identifier}-version-min=$$deployment_target
--            QMAKE_XARCH_CFLAGS_$${arch} = $$version_min_flags \
--                -Xarch_$${arch} \
--                -isysroot$$xcodeSDKInfo(Path, $$sdk)
--            QMAKE_XARCH_LFLAGS_$${arch} = $$version_min_flags \
--                -Xarch_$${arch} \
--                -Wl,-syslibroot,$$xcodeSDKInfo(Path, $$sdk)
--
--            QMAKE_XARCH_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS_$${arch})
--            QMAKE_XARCH_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS_$${arch})
--
--            QMAKE_EXTRA_VARIABLES += \
--                QMAKE_XARCH_CFLAGS_$${arch} \
--                QMAKE_XARCH_LFLAGS_$${arch}
--        }
--
--        QMAKE_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS)
--        QMAKE_CXXFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS)
--        QMAKE_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS)
--    } else {
--        simulator: \
--            version_identifier = $$simulator.deployment_identifier
--        else: \
--            version_identifier = $$device.deployment_identifier
--        version_min_flag = -m$${version_identifier}-version-min=$$deployment_target
--        QMAKE_CFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag
--        QMAKE_CXXFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag
--        QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_MAC_SDK_PATH $$version_min_flag
--    }
--
--    # Enable precompiled headers for multiple architectures
--    QMAKE_CFLAGS_USE_PRECOMPILE =
--    for (arch, VALID_ARCHS) {
--        icc_pch_style: \
--            use_flag = "-pch-use "
--        else: \
--            use_flag = -include
--
--        # Only use Xarch with multi-arch, as the option confuses ccache
--        count(VALID_ARCHS, 1, greaterThan): \
--            QMAKE_CFLAGS_USE_PRECOMPILE += \
--                -Xarch_$${arch}
--
--        QMAKE_CFLAGS_USE_PRECOMPILE += \
--            $${use_flag}${QMAKE_PCH_OUTPUT_$${arch}}
--    }
--    icc_pch_style {
--        QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -include ${QMAKE_PCH_INPUT}
--        QMAKE_CFLAGS_USE_PRECOMPILE =
--    } else {
--        QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
--        QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
--        QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
--    }
--
--    QMAKE_PCH_OUTPUT_EXT = _${QMAKE_PCH_ARCH}$${QMAKE_PCH_OUTPUT_EXT}
--}
--
--cache(QMAKE_XCODE_DEVELOPER_PATH, stash)
--!isEmpty(QMAKE_XCODE_VERSION): \
--    cache(QMAKE_XCODE_VERSION, stash)
--
--QMAKE_XCODE_LIBRARY_SUFFIX = $$qtPlatformTargetSuffix()
--
--xcode_product_bundle_identifier_setting.name = PRODUCT_BUNDLE_IDENTIFIER
--xcode_product_bundle_identifier_setting.value = $$QMAKE_TARGET_BUNDLE_PREFIX
--isEmpty(xcode_product_bundle_identifier_setting.value): \
--    xcode_product_bundle_identifier_setting.value = "com.yourcompany"
--xcode_product_bundle_target = $$QMAKE_BUNDLE
--isEmpty(xcode_product_bundle_target): \
--    xcode_product_bundle_target = ${PRODUCT_NAME:rfc1034identifier}
--xcode_product_bundle_identifier_setting.value = "$${xcode_product_bundle_identifier_setting.value}.$${xcode_product_bundle_target}"
--QMAKE_MAC_XCODE_SETTINGS += xcode_product_bundle_identifier_setting
-Only in qtbase-everywhere-src-5.11.3/mkspecs/features/mac: default_post.prf.orig
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/mac/default_pre.prf qtbase-everywhere-src-5.11.3/mkspecs/features/mac/default_pre.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/mac/default_pre.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/mac/default_pre.prf	2019-01-31 00:42:55.843577249 +0100
-@@ -1,60 +1,2 @@
- CONFIG = asset_catalogs rez $$CONFIG
- load(default_pre)
--
--isEmpty(QMAKE_XCODE_DEVELOPER_PATH) {
--    # Get path of Xcode's Developer directory
--    QMAKE_XCODE_DEVELOPER_PATH = $$system("/usr/bin/xcode-select --print-path 2>/dev/null")
--    isEmpty(QMAKE_XCODE_DEVELOPER_PATH): \
--        error("Xcode path is not set. Please use xcode-select to choose Xcode installation path.")
--
--    # Make sure Xcode path is valid
--    !exists($$QMAKE_XCODE_DEVELOPER_PATH): \
--        error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.")
--}
--
--isEmpty(QMAKE_XCODEBUILD_PATH): \
--    QMAKE_XCODEBUILD_PATH = $$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")
--
--!isEmpty(QMAKE_XCODEBUILD_PATH) {
--    # Make sure Xcode is set up properly
--    !system("/usr/bin/xcrun xcodebuild -license check 2>/dev/null"): \
--        error("Xcode not set up properly. You need to confirm the license agreement by running 'sudo xcrun xcodebuild -license accept'.")
--
--    isEmpty(QMAKE_XCODE_VERSION) {
--        # Extract Xcode version using xcodebuild
--        xcode_version = $$system("/usr/bin/xcrun xcodebuild -version")
--        QMAKE_XCODE_VERSION = $$member(xcode_version, 1)
--        isEmpty(QMAKE_XCODE_VERSION): error("Could not resolve Xcode version.")
--        unset(xcode_version)
--    }
--}
--
--isEmpty(QMAKE_TARGET_BUNDLE_PREFIX) {
--    QMAKE_XCODE_PREFERENCES_FILE = $$(HOME)/Library/Preferences/com.apple.dt.Xcode.plist
--    exists($$QMAKE_XCODE_PREFERENCES_FILE): \
--        QMAKE_TARGET_BUNDLE_PREFIX = $$system("/usr/libexec/PlistBuddy -c 'print IDETemplateOptions:bundleIdentifierPrefix' $$QMAKE_XCODE_PREFERENCES_FILE 2>/dev/null")
--
--    !isEmpty(_QMAKE_CACHE_):!isEmpty(QMAKE_TARGET_BUNDLE_PREFIX): \
--        cache(QMAKE_TARGET_BUNDLE_PREFIX)
--}
--
--QMAKE_ASSET_CATALOGS_APP_ICON = AppIcon
--
--# Make the default debug info format for static debug builds
--# DWARF instead of DWARF with dSYM. This cuts down build times
--# for application debug builds significantly, as Xcode doesn't
--# have to pull out all the DWARF info from the Qt static libs
--# and put it into a dSYM file. We don't need that dSYM file in
--# the first place, since the information is available in the
--# object files inside the archives (static libraries).
--macx-xcode:qtConfig(static): \
--    QMAKE_XCODE_DEBUG_INFORMATION_FORMAT = dwarf
--
--# This variable is used by the xcode_dynamic_library_suffix
--# feature, which allows Xcode to choose the Qt libraries to link to
--# at build time, depending on the current Xcode SDK and configuration.
--QMAKE_XCODE_LIBRARY_SUFFIX_SETTING = QT_LIBRARY_SUFFIX
--
--xcode_copy_phase_strip_setting.name = COPY_PHASE_STRIP
--xcode_copy_phase_strip_setting.value = NO
--QMAKE_MAC_XCODE_SETTINGS += xcode_copy_phase_strip_setting
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/mac/sdk.prf qtbase-everywhere-src-5.11.3/mkspecs/features/mac/sdk.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/mac/sdk.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/mac/sdk.prf	2019-01-31 00:42:55.843577249 +0100
-@@ -1,58 +1 @@
- 
--isEmpty(QMAKE_MAC_SDK): \
--    error("QMAKE_MAC_SDK must be set when using CONFIG += sdk.")
--
--contains(QMAKE_MAC_SDK, .*/.*): \
--    error("QMAKE_MAC_SDK can only contain short-form SDK names (eg. macosx, iphoneos)")
--
--defineReplace(xcodeSDKInfo) {
--    info = $$1
--    equals(info, "Path"): \
--        infoarg = --show-sdk-path
--    equals(info, "PlatformPath"): \
--        infoarg = --show-sdk-platform-path
--    equals(info, "SDKVersion"): \
--        infoarg = --show-sdk-version
--    sdk = $$2
--    isEmpty(sdk): \
--        sdk = $$QMAKE_MAC_SDK
--
--    isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}) {
--        QMAKE_MAC_SDK.$${sdk}.$${info} = $$system("/usr/bin/xcrun --sdk $$sdk $$infoarg 2>/dev/null")
--        # --show-sdk-platform-path won't work for Command Line Tools; this is fine
--        # only used by the XCTest backend to testlib
--        isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}):if(!isEmpty(QMAKE_XCODEBUILD_PATH)|!equals(infoarg, "--show-sdk-platform-path")): \
--            error("Could not resolve SDK $$info for \'$$sdk\' using $$infoarg")
--        cache(QMAKE_MAC_SDK.$${sdk}.$${info}, set stash, QMAKE_MAC_SDK.$${sdk}.$${info})
--    }
--
--    return($$eval(QMAKE_MAC_SDK.$${sdk}.$${info}))
--}
--
--QMAKE_MAC_SDK_PATH = $$xcodeSDKInfo(Path)
--QMAKE_MAC_SDK_PLATFORM_PATH = $$xcodeSDKInfo(PlatformPath)
--QMAKE_MAC_SDK_VERSION = $$xcodeSDKInfo(SDKVersion)
--
--sysrootified =
--for(val, QMAKE_INCDIR_OPENGL): sysrootified += $${QMAKE_MAC_SDK_PATH}$$val
--QMAKE_INCDIR_OPENGL = $$sysrootified
--
--QMAKESPEC_NAME = $$basename(QMAKESPEC)
--
--# Resolve SDK version of various tools
--for(tool, $$list(QMAKE_CC QMAKE_CXX QMAKE_FIX_RPATH QMAKE_AR QMAKE_RANLIB QMAKE_LINK QMAKE_LINK_SHLIB QMAKE_ACTOOL QMAKE_LINK_C QMAKE_LINK_C_SHLIB)) {
--    tool_variable = QMAKE_MAC_SDK.$${QMAKESPEC_NAME}.$${QMAKE_MAC_SDK}.$${tool}
--    !isEmpty($$tool_variable) {
--        $$tool = $$eval($$tool_variable)
--        next()
--    }
--
--    value = $$eval($$tool)
--    isEmpty(value): next()
--
--    sysrooted = $$system("/usr/bin/xcrun -sdk $$QMAKE_MAC_SDK -find $$first(value) 2>/dev/null")
--    isEmpty(sysrooted): next()
--
--    $$tool = $$sysrooted $$member(value, 1, -1)
--    cache($$tool_variable, set stash, $$tool)
--}
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qml_module.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qml_module.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qml_module.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qml_module.prf	2019-01-31 00:42:55.843577249 +0100
-@@ -23,13 +23,8 @@
- 
- load(qt_build_paths)
- 
--qml1_target {
--    DESTDIR = $$MODULE_BASE_OUTDIR/imports/$$TARGETPATH
--    instbase = $$[QT_INSTALL_IMPORTS]
--} else {
--    DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
--    instbase = $$[QT_INSTALL_QML]
--}
-+DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
-+instbase = $$NIX_OUTPUT_QML
- 
- !qml1_target:static: CONFIG += builtin_resources
- 
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qml_plugin.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qml_plugin.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qml_plugin.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qml_plugin.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -48,13 +48,8 @@
- 
- load(qt_build_paths)
- 
--qml1_target {
--    DESTDIR = $$MODULE_BASE_OUTDIR/imports/$$TARGETPATH
--    instbase = $$[QT_INSTALL_IMPORTS]
--} else {
--    DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
--    instbase = $$[QT_INSTALL_QML]
--}
-+DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
-+instbase = $$NIX_OUTPUT_QML
- 
- target.path = $$instbase/$$TARGETPATH
- INSTALLS += target
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_app.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_app.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_app.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_app.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -33,7 +33,7 @@
-     target.path = $$[QT_HOST_BINS]
- } else {
-     !build_pass:qtConfig(debug_and_release): CONFIG += release
--    target.path = $$[QT_INSTALL_BINS]
-+    target.path = $$NIX_OUTPUT_BIN/bin
-     CONFIG += relative_qt_rpath  # Qt's tools and apps should be relocatable
- }
- INSTALLS += target
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_build_paths.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_build_paths.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_build_paths.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_build_paths.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -24,6 +24,6 @@
- !force_independent {
-     # If the module is not built independently, everything ends up in qtbase.
-     # This is the case in non-prefix builds, except for selected modules.
--    MODULE_BASE_OUTDIR = $$[QT_HOST_PREFIX]
--    MODULE_QMAKE_OUTDIR = $$[QT_HOST_PREFIX]
-+    MODULE_BASE_OUTDIR = $$NIX_OUTPUT_OUT
-+    MODULE_QMAKE_OUTDIR = $$NIX_OUTPUT_OUT
- }
-Only in qtbase-everywhere-src-5.11.3/mkspecs/features: qt_build_paths.prf.orig
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_common.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_common.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_common.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_common.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -32,8 +32,8 @@
-         qqt_libdir = \$\$\$\$[QT_HOST_LIBS]
-         qt_libdir = $$[QT_HOST_LIBS]
-     } else {
--        qqt_libdir = \$\$\$\$[QT_INSTALL_LIBS]
--        qt_libdir = $$[QT_INSTALL_LIBS]
-+        qqt_libdir = \$\$\$\$NIX_OUTPUT_OUT/lib
-+        qt_libdir = $$NIX_OUTPUT_OUT/lib
-     }
-     contains(QMAKE_DEFAULT_LIBDIRS, $$qt_libdir) {
-         lib_replace.match = "[^ ']*$$rplbase/lib"
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_docs.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_docs.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_docs.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_docs.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -45,7 +45,7 @@
- 
- QDOC += -outputdir $$shell_quote($$QMAKE_DOCS_OUTPUTDIR)
- !build_online_docs: \
--    QDOC += -installdir $$shell_quote($$[QT_INSTALL_DOCS])
-+    QDOC += -installdir $$shell_quote($$NIX_OUTPUT_DOC)
- PREP_DOC_INDEXES =
- DOC_INDEXES =
- !isEmpty(QTREPOS) {
-@@ -64,8 +64,8 @@
-         DOC_INDEXES += -indexdir $$shell_quote($$qrep/doc)
- } else {
-     prepare_docs: \
--        PREP_DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get])
--    DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get])
-+        PREP_DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC)
-+    DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC)
- }
- 
- qtattributionsscanner.target = qtattributionsscanner
-@@ -88,12 +88,12 @@
-     qch_docs.commands = $$QHELPGENERATOR $$shell_quote($$QMAKE_DOCS_OUTPUTDIR/$${QMAKE_DOCS_TARGET}.qhp) -o $$shell_quote($$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch)
- 
-     inst_html_docs.files = $$QMAKE_DOCS_OUTPUTDIR
--    inst_html_docs.path = $$[QT_INSTALL_DOCS]
-+    inst_html_docs.path = $$NIX_OUTPUT_DOC
-     inst_html_docs.CONFIG += no_check_exist directory no_default_install no_build
-     INSTALLS += inst_html_docs
- 
-     inst_qch_docs.files = $$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch
--    inst_qch_docs.path = $$[QT_INSTALL_DOCS]
-+    inst_qch_docs.path = $$NIX_OUTPUT_DOC
-     inst_qch_docs.CONFIG += no_check_exist no_default_install no_build
-     INSTALLS += inst_qch_docs
- 
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_example_installs.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_example_installs.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_example_installs.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_example_installs.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -88,7 +88,7 @@
-     $$SOURCES $$HEADERS $$FORMS $$RESOURCES $$TRANSLATIONS \
-     $$DBUS_ADAPTORS $$DBUS_INTERFACES
- addInstallFiles(sources.files, $$sourcefiles)
--sources.path = $$[QT_INSTALL_EXAMPLES]/$$probase
-+sources.path = $$NIX_OUTPUT_DEV/share/examples/$$probase
- INSTALLS += sources
- 
- check_examples {
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_functions.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_functions.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_functions.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_functions.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -69,7 +69,7 @@
- defineTest(qtPrepareTool) {
-     cmd = $$eval(QT_TOOL.$${2}.binary)
-     isEmpty(cmd) {
--        cmd = $$[QT_HOST_BINS]/$$2
-+        cmd = $$system("command -v $$2")
-         exists($${cmd}.pl) {
-             $${1}_EXE = $${cmd}.pl
-             cmd = perl -w $$system_path($${cmd}.pl)
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_installs.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_installs.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_installs.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_installs.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -12,16 +12,10 @@
- #library
- !qt_no_install_library {
-     win32 {
--       host_build: \
--           dlltarget.path = $$[QT_HOST_BINS]
--       else: \
--           dlltarget.path = $$[QT_INSTALL_BINS]
-+        dlltarget.path = $$NIX_OUTPUT_BIN/bin
-        INSTALLS += dlltarget
-     }
--    host_build: \
--        target.path = $$[QT_HOST_LIBS]
--    else: \
--        target.path = $$[QT_INSTALL_LIBS]
-+    target.path = $$NIX_OUTPUT_OUT/lib
-     !static: target.CONFIG = no_dll
-     INSTALLS += target
- }
-@@ -29,33 +23,33 @@
- #headers
- qt_install_headers {
-     gen_headers.files = $$SYNCQT.GENERATED_HEADER_FILES
--    gen_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
-+    gen_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME
-     INSTALLS += gen_headers
- 
-     targ_headers.files = $$SYNCQT.HEADER_FILES $$SYNCQT.INJECTED_HEADER_FILES
--    targ_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
-+    targ_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME
-     INSTALLS += targ_headers
- 
-     private_headers.files = $$SYNCQT.PRIVATE_HEADER_FILES $$SYNCQT.INJECTED_PRIVATE_HEADER_FILES
--    private_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private
-+    private_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private
-     INSTALLS += private_headers
- 
-     qpa_headers.files = $$SYNCQT.QPA_HEADER_FILES
--    qpa_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa
-+    qpa_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa
-     INSTALLS += qpa_headers
- }
- 
- #module
- qt_install_module {
-     !isEmpty(MODULE_PRI) {
--        pritarget.path = $$[QT_HOST_DATA]/mkspecs/modules
-+        pritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules
-         pritarget.files = $$MODULE_PRI
-         INSTALLS += pritarget
-     } else: isEmpty(MODULE_PRIVATE_PRI) {
-         warning("Project $$basename(_PRO_FILE_) is a module, but has not defined MODULE_PRI, which is required for Qt to expose the module to other projects.")
-     }
-     !isEmpty(MODULE_PRIVATE_PRI) {
--        privpritarget.path = $$[QT_HOST_DATA]/mkspecs/modules
-+        privpritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules
-         privpritarget.files = $$MODULE_PRIVATE_PRI
-         INSTALLS += privpritarget
-     }
-diff -ur qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_plugin.prf qtbase-everywhere-src-5.11.3/mkspecs/features/qt_plugin.prf
---- qtbase-everywhere-src-5.11.3-orig/mkspecs/features/qt_plugin.prf	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/mkspecs/features/qt_plugin.prf	2019-01-31 00:42:55.844577264 +0100
-@@ -88,7 +88,7 @@
-     }
- }
- 
--target.path = $$[QT_INSTALL_PLUGINS]/$$PLUGIN_TYPE
-+target.path = $$NIX_OUTPUT_PLUGIN/$$PLUGIN_TYPE
- INSTALLS += target
- 
- TARGET = $$qt5LibraryTarget($$TARGET)
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/corelib/kernel/qcoreapplication.cpp qtbase-everywhere-src-5.11.3/src/corelib/kernel/qcoreapplication.cpp
---- qtbase-everywhere-src-5.11.3-orig/src/corelib/kernel/qcoreapplication.cpp	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/corelib/kernel/qcoreapplication.cpp	2019-01-31 00:42:55.845577279 +0100
-@@ -2612,6 +2612,15 @@
-         QStringList *app_libpaths = new QStringList;
-         coreappdata()->app_libpaths.reset(app_libpaths);
- 
-+        // Add library paths derived from PATH
-+        const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':');
-+        const QString plugindir = QStringLiteral("../" NIXPKGS_QT_PLUGIN_PREFIX);
-+        for (const QString &path: paths) {
-+            if (!path.isEmpty()) {
-+                app_libpaths->append(QDir::cleanPath(path + QDir::separator() + plugindir));
-+            }
-+        }
-+
-         const QByteArray libPathEnv = qgetenv("QT_PLUGIN_PATH");
-         if (!libPathEnv.isEmpty()) {
-             QStringList paths = QFile::decodeName(libPathEnv).split(QDir::listSeparator(), QString::SkipEmptyParts);
-Only in qtbase-everywhere-src-5.11.3/src/corelib/kernel: qcoreapplication.cpp.orig
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/corelib/Qt5CoreConfigExtras.cmake.in qtbase-everywhere-src-5.11.3/src/corelib/Qt5CoreConfigExtras.cmake.in
---- qtbase-everywhere-src-5.11.3-orig/src/corelib/Qt5CoreConfigExtras.cmake.in	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/corelib/Qt5CoreConfigExtras.cmake.in	2019-01-31 00:42:55.844577264 +0100
-@@ -3,7 +3,7 @@
-     add_executable(Qt5::qmake IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -18,7 +18,7 @@
-     add_executable(Qt5::moc IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -35,7 +35,7 @@
-     add_executable(Qt5::rcc IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -116,7 +116,7 @@
- !!IF !isEmpty(CMAKE_RELEASE_TYPE)
-     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
- !!ENDIF
-@@ -130,7 +130,7 @@
-     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
- 
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
- !!ENDIF
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in qtbase-everywhere-src-5.11.3/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
---- qtbase-everywhere-src-5.11.3-orig/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in	2019-01-31 00:42:55.844577264 +0100
-@@ -1,6 +1,6 @@
- 
- !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE)
--set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
-+set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
- !!ELSE
- set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
- !!ENDIF
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in qtbase-everywhere-src-5.11.3/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
---- qtbase-everywhere-src-5.11.3-orig/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in	2019-01-31 00:42:55.844577264 +0100
-@@ -1,6 +1,6 @@
- 
- !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE)
--set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
-+set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
- !!ELSE
- set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
- !!ENDIF
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/corelib/tools/qtimezoneprivate_tz.cpp qtbase-everywhere-src-5.11.3/src/corelib/tools/qtimezoneprivate_tz.cpp
---- qtbase-everywhere-src-5.11.3-orig/src/corelib/tools/qtimezoneprivate_tz.cpp	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/corelib/tools/qtimezoneprivate_tz.cpp	2019-01-31 00:42:55.845577279 +0100
-@@ -70,7 +70,11 @@
- // Parse zone.tab table, assume lists all installed zones, if not will need to read directories
- static QTzTimeZoneHash loadTzTimeZones()
- {
--    QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
-+    // Try TZDIR first, in case we're running on NixOS.
-+    QString path = QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/zone.tab");
-+    // Fallback to traditional paths in case we are not on NixOS.
-+    if (!QFile::exists(path))
-+        path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
-     if (!QFile::exists(path))
-         path = QStringLiteral("/usr/lib/zoneinfo/zone.tab");
- 
-@@ -644,12 +648,16 @@
-         if (!tzif.open(QIODevice::ReadOnly))
-             return;
-     } else {
--        // Open named tz, try modern path first, if fails try legacy path
--        tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+        // Try TZDIR first, in case we're running on NixOS
-+        tzif.setFileName(QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/") + QString::fromLocal8Bit(ianaId));
-         if (!tzif.open(QIODevice::ReadOnly)) {
--            tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
--            if (!tzif.open(QIODevice::ReadOnly))
--                return;
-+            // Open named tz, try modern path first, if fails try legacy path
-+            tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+            if (!tzif.open(QIODevice::ReadOnly)) {
-+                tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+                if (!tzif.open(QIODevice::ReadOnly))
-+                    return;
-+            }
-         }
-     }
- 
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/dbus/Qt5DBusConfigExtras.cmake.in qtbase-everywhere-src-5.11.3/src/dbus/Qt5DBusConfigExtras.cmake.in
---- qtbase-everywhere-src-5.11.3-orig/src/dbus/Qt5DBusConfigExtras.cmake.in	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/dbus/Qt5DBusConfigExtras.cmake.in	2019-01-31 00:42:55.845577279 +0100
-@@ -2,11 +2,7 @@
- if (NOT TARGET Qt5::qdbuscpp2xml)
-     add_executable(Qt5::qdbuscpp2xml IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
-     _qt5_DBus_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qdbuscpp2xml PROPERTIES
-@@ -17,11 +13,7 @@
- if (NOT TARGET Qt5::qdbusxml2cpp)
-     add_executable(Qt5::qdbusxml2cpp IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
-     _qt5_DBus_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qdbusxml2cpp PROPERTIES
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/gui/Qt5GuiConfigExtras.cmake.in qtbase-everywhere-src-5.11.3/src/gui/Qt5GuiConfigExtras.cmake.in
---- qtbase-everywhere-src-5.11.3-orig/src/gui/Qt5GuiConfigExtras.cmake.in	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/gui/Qt5GuiConfigExtras.cmake.in	2019-01-31 00:42:55.845577279 +0100
-@@ -2,7 +2,7 @@
- !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
- 
- !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
--set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\")
-+set(Qt5Gui_EGL_INCLUDE_DIRS \"$$NIX_OUTPUT_DEV/$$CMAKE_INCLUDE_DIR/QtANGLE\")
- !!ELSE
- set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\")
- !!ENDIF
-@@ -17,13 +17,13 @@
-     set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
- !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-+    set(imported_location \"$$NIX_OUTPUT_OUT/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ENDIF
- 
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
-+    set(imported_implib \"$$NIX_OUTPUT_OUT/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
- !!ELSE
-     set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
- !!ENDIF
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp qtbase-everywhere-src-5.11.3/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
---- qtbase-everywhere-src-5.11.3-orig/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp	2019-01-31 00:42:55.845577279 +0100
-@@ -265,12 +265,9 @@
-     m_possibleLocations.reserve(7);
-     if (qEnvironmentVariableIsSet("QTCOMPOSE"))
-         m_possibleLocations.append(QString::fromLocal8Bit(qgetenv("QTCOMPOSE")));
--    m_possibleLocations.append(QStringLiteral("/usr/share/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/local/share/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/lib/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/local/lib/X11/locale"));
-     m_possibleLocations.append(QStringLiteral(X11_PREFIX "/share/X11/locale"));
-     m_possibleLocations.append(QStringLiteral(X11_PREFIX "/lib/X11/locale"));
-+    m_possibleLocations.append(QLatin1String(NIXPKGS_QTCOMPOSE));
- }
- 
- QString TableGenerator::findComposeFile()
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp qtbase-everywhere-src-5.11.3/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
---- qtbase-everywhere-src-5.11.3-orig/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp	2019-01-31 00:42:55.845577279 +0100
-@@ -650,9 +650,14 @@
- #if QT_CONFIG(library)
-                 extern const QString qt_gl_library_name();
- //                QLibrary lib(qt_gl_library_name());
-+                // Check system library paths first
-                 QLibrary lib(QLatin1String("GL"));
--                if (!lib.load())
--                    lib.setFileNameAndVersion(QLatin1String("GL"), 1);
-+#ifdef NIXPKGS_MESA_GL
-+                if (!lib.load()) {
-+                    // Fallback to Mesa driver
-+                    lib.setFileName(QLatin1String(NIXPKGS_MESA_GL));
-+                }
-+#endif // NIXPKGS_MESA_GL
-                 glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
- #endif
-             }
-Only in qtbase-everywhere-src-5.11.3/src/plugins/platforms/xcb/gl_integrations/xcb_glx: qglxintegration.cpp.orig
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/plugins/platforms/xcb/qxcbcursor.cpp qtbase-everywhere-src-5.11.3/src/plugins/platforms/xcb/qxcbcursor.cpp
---- qtbase-everywhere-src-5.11.3-orig/src/plugins/platforms/xcb/qxcbcursor.cpp	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/plugins/platforms/xcb/qxcbcursor.cpp	2019-01-31 00:42:55.846577295 +0100
-@@ -316,10 +316,10 @@
- #if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
-     static bool function_ptrs_not_initialized = true;
-     if (function_ptrs_not_initialized) {
--        QLibrary xcursorLib(QLatin1String("Xcursor"), 1);
-+        QLibrary xcursorLib(QLatin1String(NIXPKGS_LIBXCURSOR), 1);
-         bool xcursorFound = xcursorLib.load();
-         if (!xcursorFound) { // try without the version number
--            xcursorLib.setFileName(QLatin1String("Xcursor"));
-+            xcursorLib.setFileName(QLatin1String(NIXPKGS_LIBXCURSOR));
-             xcursorFound = xcursorLib.load();
-         }
-         if (xcursorFound) {
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/plugins/platformthemes/gtk3/main.cpp qtbase-everywhere-src-5.11.3/src/plugins/platformthemes/gtk3/main.cpp
---- qtbase-everywhere-src-5.11.3-orig/src/plugins/platformthemes/gtk3/main.cpp	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/plugins/platformthemes/gtk3/main.cpp	2019-01-31 00:42:55.846577295 +0100
-@@ -39,6 +39,7 @@
- 
- #include <qpa/qplatformthemeplugin.h>
- #include "qgtk3theme.h"
-+#include <QFile>
- 
- QT_BEGIN_NAMESPACE
- 
-@@ -54,8 +55,22 @@
- QPlatformTheme *QGtk3ThemePlugin::create(const QString &key, const QStringList &params)
- {
-     Q_UNUSED(params);
--    if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive))
-+    if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive)) {
-+
-+#ifdef NIXPKGS_QGTK3_XDG_DATA_DIRS
-+        QStringList XDG_DATA_DIRS = QFile::decodeName(qgetenv("XDG_DATA_DIRS")).split(':');
-+        XDG_DATA_DIRS << QLatin1String(NIXPKGS_QGTK3_XDG_DATA_DIRS);
-+        qputenv("XDG_DATA_DIRS", QFile::encodeName(XDG_DATA_DIRS.join(':')));
-+#endif
-+
-+#ifdef NIXPKGS_QGTK3_GIO_EXTRA_MODULES
-+        QStringList GIO_EXTRA_MODULES = QFile::decodeName(qgetenv("GIO_EXTRA_MODULES")).split(':');
-+        GIO_EXTRA_MODULES << QLatin1String(NIXPKGS_QGTK3_GIO_EXTRA_MODULES);
-+        qputenv("GIO_EXTRA_MODULES", QFile::encodeName(GIO_EXTRA_MODULES.join(':')));
-+#endif
-+
-         return new QGtk3Theme;
-+    }
- 
-     return 0;
- }
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/testlib/qtestassert.h qtbase-everywhere-src-5.11.3/src/testlib/qtestassert.h
---- qtbase-everywhere-src-5.11.3-orig/src/testlib/qtestassert.h	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/testlib/qtestassert.h	2019-01-31 00:42:55.846577295 +0100
-@@ -44,10 +44,13 @@
- 
- QT_BEGIN_NAMESPACE
- 
--
-+#if defined(QT_NO_DEBUG) && !defined(QT_FORCE_ASSERTS)
-+#define QTEST_ASSERT(cond) do { } while ((false) && (cond))
-+#define QTEST_ASSERT_X(cond, where, what) do { } while ((false) && (cond))
-+#else
- #define QTEST_ASSERT(cond) do { if (!(cond)) qt_assert(#cond,__FILE__,__LINE__); } while (false)
--
- #define QTEST_ASSERT_X(cond, where, what) do { if (!(cond)) qt_assert_x(where, what,__FILE__,__LINE__); } while (false)
-+#endif
- 
- QT_END_NAMESPACE
- 
-diff -ur qtbase-everywhere-src-5.11.3-orig/src/widgets/Qt5WidgetsConfigExtras.cmake.in qtbase-everywhere-src-5.11.3/src/widgets/Qt5WidgetsConfigExtras.cmake.in
---- qtbase-everywhere-src-5.11.3-orig/src/widgets/Qt5WidgetsConfigExtras.cmake.in	2018-11-25 13:51:11.000000000 +0100
-+++ qtbase-everywhere-src-5.11.3/src/widgets/Qt5WidgetsConfigExtras.cmake.in	2019-01-31 00:42:55.846577295 +0100
-@@ -3,7 +3,7 @@
-     add_executable(Qt5::uic IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
diff --git a/pkgs/development/libraries/qt-5/5.11/qtdeclarative.patch b/pkgs/development/libraries/qt-5/5.11/qtdeclarative.patch
deleted file mode 100644
index cfa68eb8102c..000000000000
--- a/pkgs/development/libraries/qt-5/5.11/qtdeclarative.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp
-index 005db4248..685c5b1b2 100644
---- a/src/qml/qml/qqmlimport.cpp
-+++ b/src/qml/qml/qqmlimport.cpp
-@@ -1760,6 +1760,15 @@ QQmlImportDatabase::QQmlImportDatabase(QQmlEngine *e)
-     QString installImportsPath =  QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath);
-     addImportPath(installImportsPath);
- 
-+    // Add import paths derived from PATH
-+    const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':');
-+    const QString qmldir = QStringLiteral("../" NIXPKGS_QML2_IMPORT_PREFIX);
-+    for (const QString &path: paths) {
-+        if (!path.isEmpty()) {
-+            addImportPath(QDir::cleanPath(path + QDir::separator() + qmldir));
-+        }
-+    }
-+
-     // env import paths
-     if (Q_UNLIKELY(!qEnvironmentVariableIsEmpty("QML2_IMPORT_PATH"))) {
-         const QString envImportPath = qEnvironmentVariable("QML2_IMPORT_PATH");
-diff --git a/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake b/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake
-index 56cb3fb55..74509d601 100644
---- a/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake
-+++ b/tools/qmlcachegen/Qt5QuickCompilerConfig.cmake
-@@ -17,7 +17,7 @@ function(QTQUICK_COMPILER_ADD_RESOURCES outfiles)
- 
-     find_package(Qt5 COMPONENTS Qml Core)
- 
--    set(compiler_path "${_qt5Core_install_prefix}/bin/qmlcachegen")
-+    set(compiler_path "qmlcachegen")
- 
-     get_target_property(rcc_path ${Qt5Core_RCC_EXECUTABLE} IMPORTED_LOCATION)
- 
-diff --git a/tools/qmlcachegen/qmlcache.prf b/tools/qmlcachegen/qmlcache.prf
-index 537eaf62e..e21de58f6 100644
---- a/tools/qmlcachegen/qmlcache.prf
-+++ b/tools/qmlcachegen/qmlcache.prf
-@@ -26,7 +26,7 @@ defineReplace(qmlCacheOutputFileName) {
- }
- 
- qmlcacheinst.base = $$QMLCACHE_DESTDIR
--qmlcacheinst.path = $$[QT_INSTALL_QML]/$$TARGETPATH
-+qmlcacheinst.path = $$NIX_OUTPUT_QML/$$TARGETPATH
- qmlcacheinst.CONFIG = no_check_exist
- 
- qmlcachegen.input = CACHEGEN_FILES
diff --git a/pkgs/development/libraries/qt-5/5.11/qtscript.patch b/pkgs/development/libraries/qt-5/5.11/qtscript.patch
deleted file mode 100644
index 5508dec1280e..000000000000
--- a/pkgs/development/libraries/qt-5/5.11/qtscript.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-index 1f6d25e..087c3fb 100644
---- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-+++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-@@ -81,7 +81,7 @@
- #include <pthread.h>
- #elif PLATFORM(GTK)
- #include <wtf/gtk/GOwnPtr.h>
--typedef struct _GMutex GMutex;
-+typedef union _GMutex GMutex;
- typedef struct _GCond GCond;
- #endif
- 
diff --git a/pkgs/development/libraries/qt-5/5.11/qtserialport.patch b/pkgs/development/libraries/qt-5/5.11/qtserialport.patch
deleted file mode 100644
index f25524e80bcf..000000000000
--- a/pkgs/development/libraries/qt-5/5.11/qtserialport.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/src/serialport/qtudev_p.h b/src/serialport/qtudev_p.h
-index af2dab2..8e17f64 100644
---- a/src/serialport/qtudev_p.h
-+++ b/src/serialport/qtudev_p.h
-@@ -111,9 +111,17 @@ inline QFunctionPointer resolveSymbol(QLibrary *udevLibrary, const char *symbolN
- inline bool resolveSymbols(QLibrary *udevLibrary)
- {
-     if (!udevLibrary->isLoaded()) {
-+#ifdef NIXPKGS_LIBUDEV
-+        udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 1);
-+#else
-         udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1);
-+#endif
-         if (!udevLibrary->load()) {
-+#ifdef NIXPKGS_LIBUDEV
-+            udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 0);
-+#else
-             udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0);
-+#endif
-             if (!udevLibrary->load()) {
-                 qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0);
-                 return false;
diff --git a/pkgs/development/libraries/qt-5/5.11/qttools.patch b/pkgs/development/libraries/qt-5/5.11/qttools.patch
deleted file mode 100644
index 622efc35b6b6..000000000000
--- a/pkgs/development/libraries/qt-5/5.11/qttools.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-diff --git a/src/assistant/help/Qt5HelpConfigExtras.cmake.in b/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-index 3b97923a..63336bd5 100644
---- a/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-+++ b/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-@@ -2,11 +2,10 @@
- if (NOT TARGET Qt5::qcollectiongenerator)
-     add_executable(Qt5::qcollectiongenerator IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
-+    endif()
-     _qt5_Help_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qcollectiongenerator PROPERTIES
-@@ -17,11 +16,7 @@ endif()
- if (NOT TARGET Qt5::qhelpgenerator)
-     add_executable(Qt5::qhelpgenerator IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-     _qt5_Help_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qhelpgenerator PROPERTIES
-diff --git a/src/linguist/Qt5LinguistToolsConfig.cmake.in b/src/linguist/Qt5LinguistToolsConfig.cmake.in
-index 4318b16f..d60db4ff 100644
---- a/src/linguist/Qt5LinguistToolsConfig.cmake.in
-+++ b/src/linguist/Qt5LinguistToolsConfig.cmake.in
-@@ -44,11 +44,7 @@ endmacro()
- if (NOT TARGET Qt5::lrelease)
-     add_executable(Qt5::lrelease IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lrelease PROPERTIES
-@@ -59,11 +55,7 @@ endif()
- if (NOT TARGET Qt5::lupdate)
-     add_executable(Qt5::lupdate IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lupdate PROPERTIES
-@@ -74,11 +66,7 @@ endif()
- if (NOT TARGET Qt5::lconvert)
-     add_executable(Qt5::lconvert IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lconvert PROPERTIES
---- a/src/macdeployqt/shared/shared.cpp
-+++ b/src/macdeployqt/shared/shared.cpp
-@@ -1241,6 +1241,12 @@ bool deployQmlImports(const QString &appBundlePath, DeploymentInfo deploymentInf
-     if (!QFile(qmlImportScannerPath).exists())
-         qmlImportScannerPath = QCoreApplication::applicationDirPath() + "/qmlimportscanner";
- 
-+#ifdef NIXPKGS_QMLIMPORTSCANNER
-+    // Fallback: Nixpkgs hardcoded path
-+    if (!QFile(qmlImportScannerPath).exists())
-+        qmlImportScannerPath = NIXPKGS_QMLIMPORTSCANNER;
-+#endif
-+
-     // Verify that we found a qmlimportscanner binary
-     if (!QFile(qmlImportScannerPath).exists()) {
-         LogError() << "qmlimportscanner not found at" << qmlImportScannerPath;
diff --git a/pkgs/development/libraries/qt-5/5.11/qtwebengine-darwin-no-platform-check.patch b/pkgs/development/libraries/qt-5/5.11/qtwebengine-darwin-no-platform-check.patch
deleted file mode 100644
index 3e1a8762b361..000000000000
--- a/pkgs/development/libraries/qt-5/5.11/qtwebengine-darwin-no-platform-check.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff --git a/mkspecs/features/platform.prf b/mkspecs/features/platform.prf
---- a/mkspecs/features/platform.prf
-+++ b/mkspecs/features/platform.prf
-@@ -38,10 +38,6 @@ defineTest(isPlatformSupported) {
-          return(false)
-     }
-   } else:osx {
--    !isMinXcodeVersion(7, 3) {
--      skipBuild("Using Xcode version $$QMAKE_XCODE_VERSION, but at least version 7.3 is required to build Qt WebEngine.")
--      return(false)
--    }
-     !clang|intel_icc {
-         skipBuild("Qt WebEngine on macOS requires Clang.")
-         return(false)
-@@ -52,10 +48,6 @@ defineTest(isPlatformSupported) {
-       skipBuild("Building Qt WebEngine requires macOS version 10.11 or newer.")
-       return(false)
-     }
--    !isMinOSXSDKVersion(10, 10): {
--      skipBuild("Building Qt WebEngine requires a macOS SDK version of 10.11 or newer. Current version is $${WEBENGINE_OSX_SDK_PRODUCT_VERSION}.")
--      return(false)
--    }
-   } else {
-     skipBuild("Unknown platform. Qt WebEngine only supports Linux, Windows, and macOS.")
-     return(false)
-diff --git a/src/core/config/mac_osx.pri b/src/core/config/mac_osx.pri
---- a/src/core/config/mac_osx.pri
-+++ b/src/core/config/mac_osx.pri
-@@ -5,8 +5,6 @@ load(functions)
- # otherwise query for it.
- QMAKE_MAC_SDK_VERSION = $$eval(QMAKE_MAC_SDK.$${QMAKE_MAC_SDK}.SDKVersion)
- isEmpty(QMAKE_MAC_SDK_VERSION) {
--     QMAKE_MAC_SDK_VERSION = $$system("/usr/bin/xcodebuild -sdk $${QMAKE_MAC_SDK} -version SDKVersion 2>/dev/null")
--     isEmpty(QMAKE_MAC_SDK_VERSION): error("Could not resolve SDK version for \'$${QMAKE_MAC_SDK}\'")
- }
- 
- QMAKE_CLANG_DIR = "/usr"
diff --git a/pkgs/development/libraries/qt-5/5.11/qtwebengine-no-build-skip.patch b/pkgs/development/libraries/qt-5/5.11/qtwebengine-no-build-skip.patch
deleted file mode 100644
index f332d5e1bb2b..000000000000
--- a/pkgs/development/libraries/qt-5/5.11/qtwebengine-no-build-skip.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/qtwebengine.pro b/qtwebengine.pro
---- a/qtwebengine.pro
-+++ b/qtwebengine.pro
-@@ -5,7 +5,7 @@ runConfigure()
- 
- !isEmpty(skipBuildReason) {
-     SUBDIRS =
--    log($${skipBuildReason}$${EOL})
-+    error($${skipBuildReason}$${EOL})
-     log(QtWebEngine will not be built.$${EOL})
- }
- 
diff --git a/pkgs/development/libraries/qt-5/5.11/qtwebkit.patch b/pkgs/development/libraries/qt-5/5.11/qtwebkit.patch
deleted file mode 100644
index b94a4b76cbab..000000000000
--- a/pkgs/development/libraries/qt-5/5.11/qtwebkit.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/Source/WebKit2/PlatformQt.cmake b/Source/WebKit2/PlatformQt.cmake
---- a/Source/WebKit2/PlatformQt.cmake
-+++ b/Source/WebKit2/PlatformQt.cmake
-@@ -261,6 +261,7 @@
- list(APPEND WebKit2_SYSTEM_INCLUDE_DIRECTORIES
-     ${GLIB_INCLUDE_DIRS}
-     ${GSTREAMER_INCLUDE_DIRS}
-+    ${GSTREAMER_PBUTILS_INCLUDE_DIRS}
-     ${Qt5Quick_INCLUDE_DIRS}
-     ${Qt5Quick_PRIVATE_INCLUDE_DIRS}
-     ${SQLITE_INCLUDE_DIR}
-
diff --git a/pkgs/development/libraries/qt-5/5.11/srcs.nix b/pkgs/development/libraries/qt-5/5.11/srcs.nix
deleted file mode 100644
index cff49b180337..000000000000
--- a/pkgs/development/libraries/qt-5/5.11/srcs.nix
+++ /dev/null
@@ -1,325 +0,0 @@
-# DO NOT EDIT! This file is generated automatically by fetch-kde-qt.sh
-{ fetchurl, mirror }:
-
-{
-  qt3d = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qt3d-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1awyv40jgbb30yp5zxf6j9wq96nmk8zyhbh4fpn9gn35ychmr984";
-      name = "qt3d-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtactiveqt = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtactiveqt-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0g35yhp01c34m91fp5vzzq0d2kzz0yswpjjk5cg36j0ddnfcsh4d";
-      name = "qtactiveqt-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtandroidextras = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtandroidextras-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0clqz10ry70f0v8hbw37fhlwrsr5jddg99yjsk9db250dwbqzq27";
-      name = "qtandroidextras-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtbase = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtbase-everywhere-src-5.11.3.tar.xz";
-      sha256 = "071yc9iz14qs4s8yvrwllyfdzp5yjxsdpvbjxdrf0g5q69vqigy6";
-      name = "qtbase-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtcanvas3d = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtcanvas3d-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0f110z7cmkzns9k00aa5zhzq2fpybfxkd7gdlwzcbhc8hn20986m";
-      name = "qtcanvas3d-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtcharts = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtcharts-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1p4m1nkbbxlkwmbmasx5r83skzssmlcgfzyvj30x2dyrqkmz7627";
-      name = "qtcharts-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtconnectivity = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtconnectivity-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0amks3qad31i7cha85kvcaxvlmmgkc3gm4jdkw2p02ixxfygr30l";
-      name = "qtconnectivity-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtdatavis3d = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtdatavis3d-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1kqwr3avcvcyy4i28vjgxk1bsjj9011zr668hsk1zrjxnnwjwdl3";
-      name = "qtdatavis3d-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtdeclarative = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtdeclarative-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1rhsf9bma2zwwpixk2fsg31x7c1pmsk144npypgc9w86swhkc9lf";
-      name = "qtdeclarative-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtdoc = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtdoc-everywhere-src-5.11.3.tar.xz";
-      sha256 = "06nl8lzrilj8yify5qy4fm9la6dh71aamg19jhvvi657cshiclsq";
-      name = "qtdoc-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtgamepad = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtgamepad-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1k222cx18zq48sfna91hmy427qzk2n2xz3dlyz59iyz72k6915g9";
-      name = "qtgamepad-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtgraphicaleffects = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtgraphicaleffects-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1qjpdzkamf27cg5n1wsf0zk939lcgppgydfjzap9s4fxzj1nkn0l";
-      name = "qtgraphicaleffects-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtimageformats = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtimageformats-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0zq8igsjyyhxsjr43vpaasrqjw3x0g6rwqf8kaz7y9vs7ny63ch4";
-      name = "qtimageformats-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtlocation = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtlocation-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1sq0f41jwmsimv9a1wl2nk5nifjppm5j92rr4n4s7qwnnjjrir2q";
-      name = "qtlocation-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtmacextras = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtmacextras-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1j9sqmcwswr8v9z8mcbm10bj7nz8nv9mir0xsc5123ik1gw2c3lk";
-      name = "qtmacextras-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtmultimedia = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtmultimedia-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0h9wx86zj20n4xc3qnml0i360x2dc1yd2z2af1flj8fwyzppi03j";
-      name = "qtmultimedia-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtnetworkauth = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtnetworkauth-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0dd35698wzg89975vi2ijl2lym495fjizsl03mjixsjnvb1x0q50";
-      name = "qtnetworkauth-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtpurchasing = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtpurchasing-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1fd0gxdj5mrh81iwimq1243i3n47sqv9ik8nslahfh0q3dsx7k8n";
-      name = "qtpurchasing-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtquickcontrols = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtquickcontrols-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0dvmy31qbl76yy0j5y8m7mvnmqyg2c01fmlkn0snvc5h5ah5skjf";
-      name = "qtquickcontrols-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtquickcontrols2 = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtquickcontrols2-everywhere-src-5.11.3.tar.xz";
-      sha256 = "11nhpb0xckv5jjkqj5szr94c2rvyjwr89ch58hh64nsqaav30mpl";
-      name = "qtquickcontrols2-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtremoteobjects = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtremoteobjects-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1d3jzsxfyjhgb6wj9iv1388bv7j6pi08346nmkm1c1a4iykhc0zp";
-      name = "qtremoteobjects-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtscript = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtscript-everywhere-src-5.11.3.tar.xz";
-      sha256 = "027cvggbcvwyz76cn1bl1zvqg0nq7iica1b7yx7xyy0hb36g715v";
-      name = "qtscript-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtscxml = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtscxml-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1mv8mz36v34dckrzy5r41mq3sqznbalrhndk3avz2154xmkjf5qk";
-      name = "qtscxml-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtsensors = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtsensors-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0n88c8xi9pbyh7q1pcqv4yjv6nx62abflj8qgfr4qzb0sp8m6mx7";
-      name = "qtsensors-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtserialbus = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtserialbus-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0vf12jk1ma0v0dlpliw1x9i04iaik1kjkiaby7gaxm2abprxwr2n";
-      name = "qtserialbus-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtserialport = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtserialport-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1nkbfsxzgicwns3k11hhzjxy2hgrigj8xcw2by0jc1j71mnmxi4n";
-      name = "qtserialport-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtspeech = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtspeech-everywhere-src-5.11.3.tar.xz";
-      sha256 = "158p7zqd0vg55gf88jzc3d4f7649ihh80k0m1q46m2yp6fpdjbxr";
-      name = "qtspeech-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtsvg = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtsvg-everywhere-src-5.11.3.tar.xz";
-      sha256 = "14a4rprbj9f9rhixbk7143xdz34d7d39xh9v2sc1w43q9sf2rsi1";
-      name = "qtsvg-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qttools = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qttools-everywhere-src-5.11.3.tar.xz";
-      sha256 = "13lzdxxi02yhvx4mflhisl6aqv2fiss5m804cqccd1wvp8dyh1f2";
-      name = "qttools-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qttranslations = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qttranslations-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0j8i2kabz22vqb0qj41pkjv848zblqxs71sydc3xcd5av22b517s";
-      name = "qttranslations-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtvirtualkeyboard = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtvirtualkeyboard-everywhere-src-5.11.3.tar.xz";
-      sha256 = "17jb7cbfy5c19fr9frql6q22in3ra3a4fbff0kjykllxb8j40p4c";
-      name = "qtvirtualkeyboard-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtwayland = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwayland-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1chz4wchgkzd45h143i5hkqg0whcgdbj37gkg7j4kj31whllzjb2";
-      name = "qtwayland-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtwebchannel = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwebchannel-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1wrdawlqvcw84h8q52mvbjhp1vkd6fhz6c8ijlg9rw0s3fj4y99w";
-      name = "qtwebchannel-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtwebengine = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwebengine-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1zmqsdais85cdfh2jh8h4a5jcamp1mzdk3vgqm6xnldqf6nrxd2v";
-      name = "qtwebengine-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtwebglplugin = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwebglplugin-everywhere-src-5.11.3.tar.xz";
-      sha256 = "0wqz8lycmi7pffzy0pz5960w109lbk4mkbw0l1lh64avl6clq7b9";
-      name = "qtwebglplugin-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtwebsockets = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwebsockets-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1ffmapfy68xwwbxbg19ng6b5h8v42cf78s21j7rgq49gm70r0402";
-      name = "qtwebsockets-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtwebview = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwebview-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1njmn1n03dp4md8cz58cq2z6bsxd8nwlw0238zmavh7px3jzc9kh";
-      name = "qtwebview-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtwinextras = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtwinextras-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1xf9gc0wqk9jz2ayx29vx0vmm72x9h4qxp2fvgpclns621wyhw72";
-      name = "qtwinextras-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtx11extras = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtx11extras-everywhere-src-5.11.3.tar.xz";
-      sha256 = "11fd2mc20qmnyv1vqhaqad2q6m0i4lmkr432rmqvpkgphpkfp7pr";
-      name = "qtx11extras-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-  qtxmlpatterns = {
-    version = "5.11.3";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.11/5.11.3/submodules/qtxmlpatterns-everywhere-src-5.11.3.tar.xz";
-      sha256 = "1vhfvgi39miqsx3iq7c9sii2sykq0yfng69b70i0smr20zihpl4b";
-      name = "qtxmlpatterns-everywhere-src-5.11.3.tar.xz";
-    };
-  };
-}
diff --git a/pkgs/development/libraries/qt-5/5.12/default.nix b/pkgs/development/libraries/qt-5/5.12/default.nix
index 0a37b1ce39a3..8d27f3a0d4ba 100644
--- a/pkgs/development/libraries/qt-5/5.12/default.nix
+++ b/pkgs/development/libraries/qt-5/5.12/default.nix
@@ -80,15 +80,6 @@ let
         url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/qtbug-77037-workaround.patch?h=packages/qt5-webengine&id=fc77d6b3d5ec74e421b58f199efceb2593cbf951";
         sha256 = "1gv733qfdn9746nbqqxzyjx4ijjqkkb7zb71nxax49nna5bri3am";
       })
-      # patch for CVE-2019-13720, can be removed when it is included in the next upstream release
-      # https://bugreports.qt.io/browse/QTBUG-1019226
-      (fetchpatch {
-        name = "qtwebengine-CVE-2019-13720.patch";
-        url = "https://code.qt.io/cgit/qt/qtwebengine-chromium.git/patch/?id=d6e5fc10";
-        sha256 = "0ywc12m196pr6xn7l5xbascihygkjj4pbcgcn9wxvi5ssdr6z46z";
-        extraPrefix = "src/3rdparty/";
-        stripLen = 1;
-      })
     ]
       ++ optional stdenv.isDarwin ./qtwebengine-darwin-no-platform-check.patch;
     qtwebkit = [ ./qtwebkit.patch ]
diff --git a/pkgs/development/libraries/qt-5/5.12/fetch.sh b/pkgs/development/libraries/qt-5/5.12/fetch.sh
index 575115c9bdf4..9f99879511e6 100644
--- a/pkgs/development/libraries/qt-5/5.12/fetch.sh
+++ b/pkgs/development/libraries/qt-5/5.12/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( http://download.qt.io/official_releases/qt/5.12/5.12.5/submodules/ )
+WGET_ARGS=( http://download.qt.io/official_releases/qt/5.12/5.12.6/submodules/ )
diff --git a/pkgs/development/libraries/qt-5/5.12/srcs.nix b/pkgs/development/libraries/qt-5/5.12/srcs.nix
index 3b4d761c16cd..b4494593fd0b 100644
--- a/pkgs/development/libraries/qt-5/5.12/srcs.nix
+++ b/pkgs/development/libraries/qt-5/5.12/srcs.nix
@@ -3,323 +3,323 @@
 
 {
   qt3d = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qt3d-everywhere-src-5.12.5.tar.xz";
-      sha256 = "2a35b144768c7ad8a9265d16a04f038d9bc51016bd2c4b2b516e374f81ff29c4";
-      name = "qt3d-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qt3d-everywhere-src-5.12.6.tar.xz";
+      sha256 = "cf34ce99a2592270abbf32a13fa824d99c76412fc493a3f1c37e37892b198baf";
+      name = "qt3d-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtactiveqt = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtactiveqt-everywhere-src-5.12.5.tar.xz";
-      sha256 = "d673a1269dd900c78dbfe88eb16e086e36d236571722712a64401cdec7b73a40";
-      name = "qtactiveqt-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtactiveqt-everywhere-src-5.12.6.tar.xz";
+      sha256 = "c50f082588bf7dad2091a5b67c426791bf36d7d1503c56dc79b9e26444931f09";
+      name = "qtactiveqt-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtandroidextras = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtandroidextras-everywhere-src-5.12.5.tar.xz";
-      sha256 = "f115ccef1e808da7c5d0348f3e245952a2973966f34d18b935f9e3eb16062eab";
-      name = "qtandroidextras-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtandroidextras-everywhere-src-5.12.6.tar.xz";
+      sha256 = "a0f15a4ba29abe90de2b2c221efd22ecfb6793590ff9610f85e6e6b6562784fe";
+      name = "qtandroidextras-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtbase = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtbase-everywhere-src-5.12.5.tar.xz";
-      sha256 = "fc8abffbbda9da3e593d8d62b56bc17dbaab13ff71b72915ddda11dabde4d625";
-      name = "qtbase-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtbase-everywhere-src-5.12.6.tar.xz";
+      sha256 = "6ab52649d74d7c1728cf4a6cf335d1142b3bf617d476e2857eb7961ef43f9f27";
+      name = "qtbase-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtcanvas3d = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtcanvas3d-everywhere-src-5.12.5.tar.xz";
-      sha256 = "1553e06ce3cc5afb36aed3698b85c00e734eac07f7f41895426bebd84216d80c";
-      name = "qtcanvas3d-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtcanvas3d-everywhere-src-5.12.6.tar.xz";
+      sha256 = "2d33e6c944e5a2eed7528fdfe9deadfb1b7a0fcf17bab1f8b83988b1327d9d08";
+      name = "qtcanvas3d-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtcharts = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtcharts-everywhere-src-5.12.5.tar.xz";
-      sha256 = "4c7c30a916ba0100a1635b89f48bc5a8af4cdedac79c3fc18456af54dc0a6608";
-      name = "qtcharts-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtcharts-everywhere-src-5.12.6.tar.xz";
+      sha256 = "14dbdb5bb18d774e3b7ac3042a3f349080ab42c2588527ff04123df1c9ccaa3d";
+      name = "qtcharts-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtconnectivity = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtconnectivity-everywhere-src-5.12.5.tar.xz";
-      sha256 = "bdf62c72d689f47c4d17ecdde934d9f85a1164091e58fce02873de259e8de88b";
-      name = "qtconnectivity-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtconnectivity-everywhere-src-5.12.6.tar.xz";
+      sha256 = "10f1c6727aedc375a1bfab4bb33fd2111bf2c1dfc19049e361c0f58608ea22da";
+      name = "qtconnectivity-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtdatavis3d = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtdatavis3d-everywhere-src-5.12.5.tar.xz";
-      sha256 = "1de165bf5330c7fb18c6fbb8c0e5cda47fa19c2eaba657b3792fd75e653444f3";
-      name = "qtdatavis3d-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtdatavis3d-everywhere-src-5.12.6.tar.xz";
+      sha256 = "414d91aae5e7d3404a0b526f944961871b1abf1fda51f0861d19cb28a2eba4fe";
+      name = "qtdatavis3d-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtdeclarative = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtdeclarative-everywhere-src-5.12.5.tar.xz";
-      sha256 = "22c5323d4b01259e6e352eef1b54129d6dfee00a406f0312905fa7db322b9190";
-      name = "qtdeclarative-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtdeclarative-everywhere-src-5.12.6.tar.xz";
+      sha256 = "34b1d1ae5562f1d433e22c255ac1a37a2fb030ef05bf6123d4b9496644b686d3";
+      name = "qtdeclarative-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtdoc = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtdoc-everywhere-src-5.12.5.tar.xz";
-      sha256 = "f1de30227b8854c284e9c23e9c0c44d9fe768880aef826b0f880a44dd7c7538d";
-      name = "qtdoc-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtdoc-everywhere-src-5.12.6.tar.xz";
+      sha256 = "82549278120236ece0e02f9bab351319e4469c242ce97b05f269964aee924aac";
+      name = "qtdoc-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtgamepad = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtgamepad-everywhere-src-5.12.5.tar.xz";
-      sha256 = "de88f01d47f7cc5d54a1af783c5fae9f2b0101948ff33b8290f71b2657aded33";
-      name = "qtgamepad-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtgamepad-everywhere-src-5.12.6.tar.xz";
+      sha256 = "e1ebc5f3593c5234724663106790fbf1831d4ac8ea50a9d9805d2dd0a1c5b3b3";
+      name = "qtgamepad-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtgraphicaleffects = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtgraphicaleffects-everywhere-src-5.12.5.tar.xz";
-      sha256 = "bdbddba7e0e0d041809a98d97c07da8be8936ec48537335cbaea9b0049c646ad";
-      name = "qtgraphicaleffects-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtgraphicaleffects-everywhere-src-5.12.6.tar.xz";
+      sha256 = "ded0327624a13bf7fab07e5fe762473194ed898b0442ef9325498e41c8c077ef";
+      name = "qtgraphicaleffects-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtimageformats = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtimageformats-everywhere-src-5.12.5.tar.xz";
-      sha256 = "9f19394830542fb9e6bde6806b6216b7207f96bff674b91e8e8a8f89699e1f0a";
-      name = "qtimageformats-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtimageformats-everywhere-src-5.12.6.tar.xz";
+      sha256 = "330d1c29a135c44bb36b5ffc2ba4f8915dbc446d5d75563523ebcfd373617858";
+      name = "qtimageformats-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtlocation = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtlocation-everywhere-src-5.12.5.tar.xz";
-      sha256 = "12c8b59755abc4ca56e135e8ae3db7c6ba1bd95c779060f10a01393ae1040122";
-      name = "qtlocation-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtlocation-everywhere-src-5.12.6.tar.xz";
+      sha256 = "7ae231ca4de3c0915e92bb95440b0ddc7113790b1acb536c9394472e8dde2278";
+      name = "qtlocation-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtmacextras = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtmacextras-everywhere-src-5.12.5.tar.xz";
-      sha256 = "984c3c95834aaa6fd85234ab1987a79662911c510e419611ce88fb4756313194";
-      name = "qtmacextras-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtmacextras-everywhere-src-5.12.6.tar.xz";
+      sha256 = "eae25b8858fef348667b938f5c88a014ee78945c419e4e6d856d4a6adc5e43a3";
+      name = "qtmacextras-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtmultimedia = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtmultimedia-everywhere-src-5.12.5.tar.xz";
-      sha256 = "d5a0a4fddc5ef14d641160a1fc0011b190ff8d9f19009498d586516b8ee3479c";
-      name = "qtmultimedia-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtmultimedia-everywhere-src-5.12.6.tar.xz";
+      sha256 = "9f580e8962ca6a09608570e77b38d7c3f71d344ff6de1c39bc6905226b679570";
+      name = "qtmultimedia-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtnetworkauth = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtnetworkauth-everywhere-src-5.12.5.tar.xz";
-      sha256 = "0933475a2d30550c70ce4026c72678cbfdac73211593c78d442e038ef531a9f1";
-      name = "qtnetworkauth-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtnetworkauth-everywhere-src-5.12.6.tar.xz";
+      sha256 = "ea122d86a960863bbe0e0f4b5a12f0a376455beed3c26f1b61926e065b366abd";
+      name = "qtnetworkauth-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtpurchasing = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtpurchasing-everywhere-src-5.12.5.tar.xz";
-      sha256 = "7bcebc4985d387f3fa4ffcc19eada1f4f0f000ed0fd3e1d1dc37eb1db0be615b";
-      name = "qtpurchasing-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtpurchasing-everywhere-src-5.12.6.tar.xz";
+      sha256 = "1fa0b7e3da4755b64559177f507718320c1aa9e66ec49e17595e04c3f3af70cd";
+      name = "qtpurchasing-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtquickcontrols = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtquickcontrols-everywhere-src-5.12.5.tar.xz";
-      sha256 = "46deaefbdac3daa576c748e807956f5f82b2318923b1a36e434a3ff32d1d2559";
-      name = "qtquickcontrols-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtquickcontrols-everywhere-src-5.12.6.tar.xz";
+      sha256 = "c48d96a187ff924f1ae4b4abe9cc073adeb06a6c2b07c4191aa595ad22df2c99";
+      name = "qtquickcontrols-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtquickcontrols2 = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtquickcontrols2-everywhere-src-5.12.5.tar.xz";
-      sha256 = "d744bdc492486db6cb521b1d4891e2358719399825ca1cf2a50968a80f6acb8f";
-      name = "qtquickcontrols2-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtquickcontrols2-everywhere-src-5.12.6.tar.xz";
+      sha256 = "5cab0712f946405db269851b96cca02ef8ba98f3ee2c4fa9c0877dba3808a970";
+      name = "qtquickcontrols2-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtremoteobjects = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtremoteobjects-everywhere-src-5.12.5.tar.xz";
-      sha256 = "acf131af93dd1fefbf30c7e03e29b8a1da3180e00c49f95c14a1cb6158cfeacd";
-      name = "qtremoteobjects-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtremoteobjects-everywhere-src-5.12.6.tar.xz";
+      sha256 = "49b5353d020fb6ab9bdf90c941a4b3acc6b036266f6c68a42fc44a7ac151d699";
+      name = "qtremoteobjects-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtscript = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtscript-everywhere-src-5.12.5.tar.xz";
-      sha256 = "0083734ae827840334b774decb15de37f1b4ea5c88e442e2f485c530f24f1df4";
-      name = "qtscript-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtscript-everywhere-src-5.12.6.tar.xz";
+      sha256 = "a18082ad338e2378cccab932045804ad3077ec924fed2efc59d4b726d622777c";
+      name = "qtscript-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtscxml = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtscxml-everywhere-src-5.12.5.tar.xz";
-      sha256 = "6f1ec74100cdb2e7dfc3535e09d356fc53ba42e61b32fc3b93d5a7efed49960c";
-      name = "qtscxml-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtscxml-everywhere-src-5.12.6.tar.xz";
+      sha256 = "53d7837c8b5b1f9beb26cb64ea4334211218533e0126167e4e7e75238f7ac68b";
+      name = "qtscxml-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtsensors = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtsensors-everywhere-src-5.12.5.tar.xz";
-      sha256 = "e3a86a706f475bb23fc874de56026482de223ebd24f8cb4e94a28d1985ca0b85";
-      name = "qtsensors-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtsensors-everywhere-src-5.12.6.tar.xz";
+      sha256 = "59dba4c0bc72846d938e0862f14d8064fb664d893f270a41d3abf4e871290ef5";
+      name = "qtsensors-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtserialbus = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtserialbus-everywhere-src-5.12.5.tar.xz";
-      sha256 = "8474ae61a703c56e327ae0755c27643f2eafe0d915e8c6afb21728548dc02c22";
-      name = "qtserialbus-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtserialbus-everywhere-src-5.12.6.tar.xz";
+      sha256 = "071b421282118c507a996e3cee4070f2c545335dfd891a44bf54100935cff5de";
+      name = "qtserialbus-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtserialport = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtserialport-everywhere-src-5.12.5.tar.xz";
-      sha256 = "f8ef0321a59ecfe2c72adc2ee220e0047403439a3c7b9efb719b1476af1fb862";
-      name = "qtserialport-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtserialport-everywhere-src-5.12.6.tar.xz";
+      sha256 = "77d0def93078fb5d9de6faa9ccff05cce5b934899e856b04bcf7f721a4e190be";
+      name = "qtserialport-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtspeech = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtspeech-everywhere-src-5.12.5.tar.xz";
-      sha256 = "f94c0cd7236d1a20d97d314d2c17c45c967cd7f24b869c43f5f46253f436f25b";
-      name = "qtspeech-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtspeech-everywhere-src-5.12.6.tar.xz";
+      sha256 = "27ae7b2c7073377a617f32b0f4adfc1807774f02d13469ed4bcd282799cf878a";
+      name = "qtspeech-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtsvg = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtsvg-everywhere-src-5.12.5.tar.xz";
-      sha256 = "75a791cf749f671d7ea9090b403ca513f745795018db512e7eecbf418b679840";
-      name = "qtsvg-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtsvg-everywhere-src-5.12.6.tar.xz";
+      sha256 = "46243e6c425827ab4e91fbe31567f683ff14cb01d12f9f7543a83a571228ef8f";
+      name = "qtsvg-everywhere-src-5.12.6.tar.xz";
     };
   };
   qttools = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qttools-everywhere-src-5.12.5.tar.xz";
-      sha256 = "28e095047b4985437dd66120cbcb49ac091bf4f12576ecad7ebc781b7dd44025";
-      name = "qttools-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qttools-everywhere-src-5.12.6.tar.xz";
+      sha256 = "e94991c7885c2650cefd71189873e45b1d64d6042e439a0a0d9652c191d3c777";
+      name = "qttools-everywhere-src-5.12.6.tar.xz";
     };
   };
   qttranslations = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qttranslations-everywhere-src-5.12.5.tar.xz";
-      sha256 = "72eb6317190fdcc3f8de37996adc646ab8772988766bacaab60a5bcc7d6a3f2a";
-      name = "qttranslations-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qttranslations-everywhere-src-5.12.6.tar.xz";
+      sha256 = "798ac44414206898d0192653118de3f115c59016e2bf82ad0c659f9f8c864768";
+      name = "qttranslations-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtvirtualkeyboard = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtvirtualkeyboard-everywhere-src-5.12.5.tar.xz";
-      sha256 = "786d745b34b1f145073488d492325e98bcde81b07ab984032ea5eb2fb52e6e5e";
-      name = "qtvirtualkeyboard-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtvirtualkeyboard-everywhere-src-5.12.6.tar.xz";
+      sha256 = "04699888d6e1e8e04db8043a37212fa3b1fcb1b23aef41c2f3ae7a4278e34d2c";
+      name = "qtvirtualkeyboard-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtwayland = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtwayland-everywhere-src-5.12.5.tar.xz";
-      sha256 = "29fd31267149451f93faa15f031e0a14506e704086033f70d51479522c6f3846";
-      name = "qtwayland-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtwayland-everywhere-src-5.12.6.tar.xz";
+      sha256 = "fa9c6aa84ddc0334b44f0f47d69569e496e5d9f3a1ed67aab42214854d2351c4";
+      name = "qtwayland-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtwebchannel = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtwebchannel-everywhere-src-5.12.5.tar.xz";
-      sha256 = "9f1d1ac20722ee053ecf071d4ec0070a45a765cb67b6e31add61004fb4b3c5e8";
-      name = "qtwebchannel-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtwebchannel-everywhere-src-5.12.6.tar.xz";
+      sha256 = "2745d1703de1a749405727a74786184c950ba7465dc5d02e2f39f51635dbc8d7";
+      name = "qtwebchannel-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtwebengine = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtwebengine-everywhere-src-5.12.5.tar.xz";
-      sha256 = "31881130e69eb8336e9480f9f33cd5a93e86de8d7323c0ae1893e1a72ce70743";
-      name = "qtwebengine-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtwebengine-everywhere-src-5.12.6.tar.xz";
+      sha256 = "caa5f257c3bc33c1d2fcb9b7cd414fd5c46e8eee8a103231ab28d592a0058621";
+      name = "qtwebengine-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtwebglplugin = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtwebglplugin-everywhere-src-5.12.5.tar.xz";
-      sha256 = "aac3b2b2e5b6f26dd7abba6eab616777fecbb4d06de05ddab68c1296652bc4f7";
-      name = "qtwebglplugin-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtwebglplugin-everywhere-src-5.12.6.tar.xz";
+      sha256 = "21d88852f69f0f06c5899e61fe76b2cefc2b65be4ed3c334ec01431ba16f50dd";
+      name = "qtwebglplugin-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtwebsockets = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtwebsockets-everywhere-src-5.12.5.tar.xz";
-      sha256 = "5d58e697c49c0ea19a8299deba84b5360dca8c336a1636d38de0351757293262";
-      name = "qtwebsockets-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtwebsockets-everywhere-src-5.12.6.tar.xz";
+      sha256 = "f00bfbaa73e60a4c3371e729167d7acb465cbb2db32535d745982cab21fed61e";
+      name = "qtwebsockets-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtwebview = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtwebview-everywhere-src-5.12.5.tar.xz";
-      sha256 = "a6d4d8c335cd6838f4638874fcd67655e80db569ed567a774a84f6bf7d332f26";
-      name = "qtwebview-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtwebview-everywhere-src-5.12.6.tar.xz";
+      sha256 = "42c0623c1c066620ab1afc3736a4a5f42115f9c190dafdf643e16ccec6e7727a";
+      name = "qtwebview-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtwinextras = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtwinextras-everywhere-src-5.12.5.tar.xz";
-      sha256 = "7ee2fc73bc95c5e36e8ed2d02fc89822d56c406c540fbfa52bb0e3929ff2f93d";
-      name = "qtwinextras-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtwinextras-everywhere-src-5.12.6.tar.xz";
+      sha256 = "02c2b2393073a22498a5645faed34040428ace9cf09f18e2f12e75e31be54bea";
+      name = "qtwinextras-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtx11extras = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtx11extras-everywhere-src-5.12.5.tar.xz";
-      sha256 = "89425af3e48b040878c6a64ace58c17a83b87c9330e6366b09a41d6797062a68";
-      name = "qtx11extras-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtx11extras-everywhere-src-5.12.6.tar.xz";
+      sha256 = "5f3991f557116034731ed059895e73b5d34e1b22e85536a8eb6e92350b3a1d6b";
+      name = "qtx11extras-everywhere-src-5.12.6.tar.xz";
     };
   };
   qtxmlpatterns = {
-    version = "5.12.5";
+    version = "5.12.6";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.12/5.12.5/submodules/qtxmlpatterns-everywhere-src-5.12.5.tar.xz";
-      sha256 = "b905d9107f87798ef0f142942fc45c0f63fc113522ab041e791d3cb744a8babd";
-      name = "qtxmlpatterns-everywhere-src-5.12.5.tar.xz";
+      url = "${mirror}/official_releases/qt/5.12/5.12.6/submodules/qtxmlpatterns-everywhere-src-5.12.6.tar.xz";
+      sha256 = "76977bc834e6c6118ae2bab31e68ae54843358936b03e432d919ad15cd2184d0";
+      name = "qtxmlpatterns-everywhere-src-5.12.6.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/qt-5/5.9/default.nix b/pkgs/development/libraries/qt-5/5.9/default.nix
deleted file mode 100644
index 8854ed547001..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/default.nix
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
-
-# Updates
-
-Before a major version update, make a copy of this directory. (We like to
-keep the old version around for a short time after major updates.) Add a
-top-level attribute to `top-level/all-packages.nix`.
-
-1. Update the URL in `pkgs/development/libraries/qt-5/$VERSION/fetch.sh`.
-2. From the top of the Nixpkgs tree, run
-   `./maintainers/scripts/fetch-kde-qt.sh > pkgs/development/libraries/qt-5/$VERSION/srcs.nix`.
-3. Check that the new packages build correctly.
-4. Commit the changes and open a pull request.
-
-*/
-
-{
-  newScope,
-  stdenv, fetchurl, fetchpatch, makeSetupHook, makeWrapper,
-  bison, cups ? null, harfbuzz, libGL, perl,
-  gstreamer, gst-plugins-base, gtk3, dconf,
-
-  # options
-  developerBuild ? false,
-  decryptSslTraffic ? false,
-  debug ? false,
-}:
-
-with stdenv.lib;
-
-let
-
-  qtCompatVersion = srcs.qtbase.version;
-
-  mirror = "http://download.qt.io";
-  srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; };
-
-  patches = {
-    qtbase = [
-      ./qtbase.patch
-      ./qtbase-fixguicmake.patch
-      ./qtbase-openssl_1_1.patch
-    ];
-    qtdeclarative = [ ./qtdeclarative.patch ];
-    qtscript = [
-      ./qtscript.patch
-      # needed due to changes in gcc 8.3, see https://bugreports.qt.io/browse/QTBUG-74196
-      # fixed in qtscript 5.12.2
-      (fetchpatch {
-        url = "https://github.com/qt/qtscript/commit/97ec1d1882a83c23c91f0f7daea48e05858d8c32.diff";
-        sha256 = "0khrapq13xzvxckzc9l7gqyjwibyd98vyqy6gmyhvsbm2kq8n6wi";
-      })
-    ];
-    qtserialport = [ ./qtserialport.patch ];
-    qttools = [ ./qttools.patch ];
-    qtwebengine = [
-      ./qtwebengine-no-build-skip.patch
-      # https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/707
-      # https://bugreports.qt.io/browse/QTBUG-77037
-      (fetchpatch {
-        name = "fix-build-with-pulseaudio-13.0.patch";
-        url = "https://git.archlinux.org/svntogit/packages.git/plain/trunk/qtbug-77037-workaround.patch?h=packages/qt5-webengine&id=fc77d6b3d5ec74e421b58f199efceb2593cbf951";
-        sha256 = "1gv733qfdn9746nbqqxzyjx4ijjqkkb7zb71nxax49nna5bri3am";
-      })
-    ] ++ optional stdenv.cc.isClang ./qtwebengine-clang-fix.patch
-      ++ optional stdenv.isDarwin ./qtwebengine-darwin-no-platform-check.patch;
-  
-    qtwebkit = [ ./qtwebkit.patch ];
-    qtvirtualkeyboard = [
-      (fetchpatch {
-        name = "CVE-2018-19865-A.patch";
-        url = "https://codereview.qt-project.org/gitweb?p=qt/qtvirtualkeyboard.git;a=patch;h=61780a113f02b3c62fb14516fe8ea47d91f9ed9a";
-        sha256 = "0jd4nzaz9ndm9ryvrkav7kjs437l661288diklhbmgh249f8gki0";
-      })
-      (fetchpatch {
-        name = "CVE-2018-19865-B.patch";
-        url = "https://codereview.qt-project.org/gitweb?p=qt/qtvirtualkeyboard.git;a=patch;h=c0ac7a4c684e2fed60a72ceee53da89eea3f95a7";
-        sha256 = "0yvxrx5vx6845vgnq8ml3q93y61py5j0bvhqj7nqvpbmyj1wy1p3";
-
-      })
-      (fetchpatch {
-        name = "CVE-2018-19865-C.patch";
-        url = "https://codereview.qt-project.org/gitweb?p=qt/qtvirtualkeyboard.git;a=patch;h=a2e7b8412f56841e12ed20a39f4a38e32d3c1e30";
-        sha256 = "1yijysa9gy5xbxndx5ri0dkfrjqja0d1bsx52qz4mhzi4pkbib02";
-      })
-    ];
-
-  };
-
-  qtModule =
-    import ../qtModule.nix
-    {
-      inherit perl;
-      inherit (stdenv) lib;
-      # Use a variant of mkDerivation that does not include wrapQtApplications
-      # to avoid cyclic dependencies between Qt modules.
-      mkDerivation =
-        import ../mkDerivation.nix
-        { inherit (stdenv) lib; inherit debug; wrapQtAppsHook = null; }
-        stdenv.mkDerivation;
-    }
-    { inherit self srcs patches; };
-
-  addPackages = self: with self;
-    let
-      callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; };
-    in {
-
-      mkDerivationWith =
-        import ../mkDerivation.nix
-        { inherit (stdenv) lib; inherit debug; inherit (self) wrapQtAppsHook; };
-
-      mkDerivation = mkDerivationWith stdenv.mkDerivation;
-
-      qtbase = callPackage ../modules/qtbase.nix {
-        inherit (srcs.qtbase) src version;
-        patches = patches.qtbase;
-        inherit bison cups harfbuzz libGL;
-        withGtk3 = true; inherit dconf gtk3;
-        inherit developerBuild decryptSslTraffic;
-      };
-
-      qtcharts = callPackage ../modules/qtcharts.nix {};
-      qtconnectivity = callPackage ../modules/qtconnectivity.nix {};
-      qtdeclarative = callPackage ../modules/qtdeclarative.nix {};
-      qtdoc = callPackage ../modules/qtdoc.nix {};
-      qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {};
-      qtimageformats = callPackage ../modules/qtimageformats.nix {};
-      qtlocation = callPackage ../modules/qtlocation.nix {};
-      qtmacextras = callPackage ../modules/qtmacextras.nix {};
-      qtmultimedia = callPackage ../modules/qtmultimedia.nix {
-        inherit gstreamer gst-plugins-base;
-      };
-      qtnetworkauth = callPackage ../modules/qtnetworkauth.nix {};
-      qtquick1 = null;
-      qtquickcontrols = callPackage ../modules/qtquickcontrols.nix {};
-      qtquickcontrols2 = callPackage ../modules/qtquickcontrols2.nix {};
-      qtscript = callPackage ../modules/qtscript.nix {};
-      qtsensors = callPackage ../modules/qtsensors.nix {};
-      qtserialport = callPackage ../modules/qtserialport.nix {};
-      qtsvg = callPackage ../modules/qtsvg.nix {};
-      qttools = callPackage ../modules/qttools.nix {};
-      qttranslations = callPackage ../modules/qttranslations.nix {};
-      qtvirtualkeyboard = callPackage ../modules/qtvirtualkeyboard.nix {};
-      qtwayland = callPackage ../modules/qtwayland.nix {};
-      qtwebchannel = callPackage ../modules/qtwebchannel.nix {};
-      qtwebengine = callPackage ../modules/qtwebengine.nix {};
-      qtwebkit = callPackage ../modules/qtwebkit.nix {};
-      qtwebsockets = callPackage ../modules/qtwebsockets.nix {};
-      qtx11extras = callPackage ../modules/qtx11extras.nix {};
-      qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {};
-
-      env = callPackage ../qt-env.nix {};
-      full = env "qt-full-${qtbase.version}" ([
-        qtcharts qtconnectivity qtdeclarative qtdoc qtgraphicaleffects
-        qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2
-        qtscript qtsensors qtserialport qtsvg qttools qttranslations
-        qtvirtualkeyboard qtwebchannel qtwebengine qtwebkit qtwebsockets
-        qtx11extras qtxmlpatterns
-      ] ++ optional (!stdenv.isDarwin) qtwayland
-        ++ optional (stdenv.isDarwin) qtmacextras);
-
-      qmake = makeSetupHook {
-        deps = [ self.qtbase.dev ];
-        substitutions = {
-          fix_qmake_libtool = ../hooks/fix-qmake-libtool.sh;
-        };
-      } ../hooks/qmake-hook.sh;
-
-      wrapQtAppsHook = makeSetupHook {
-        deps =
-          [ self.qtbase.dev makeWrapper ]
-          ++ optional stdenv.isLinux self.qtwayland.dev;
-      } ../hooks/wrap-qt-apps-hook.sh;
-    };
-
-   self = makeScope newScope addPackages;
-
-in self
diff --git a/pkgs/development/libraries/qt-5/5.9/fetch.sh b/pkgs/development/libraries/qt-5/5.9/fetch.sh
deleted file mode 100644
index 17ebe1e532df..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/fetch.sh
+++ /dev/null
@@ -1 +0,0 @@
-WGET_ARGS=( http://download.qt.io/official_releases/qt/5.9/5.9.7/submodules/ )
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase-fixguicmake.patch b/pkgs/development/libraries/qt-5/5.9/qtbase-fixguicmake.patch
deleted file mode 100644
index 8b46d432812a..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase-fixguicmake.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-index 0bbc871..3673634 100644
---- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-@@ -286,7 +286,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
-     macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION)
-         set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
--        set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
-+        set(imported_location \"${PLUGIN_LOCATION}\")
-         _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
-         set_target_properties(Qt5::${Plugin} PROPERTIES
-             \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
-diff --git a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-index 5baf0fd..3583745 100644
---- a/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-+++ b/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-@@ -2,10 +2,10 @@
- add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
- 
- !!IF !isEmpty(CMAKE_RELEASE_TYPE)
--_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
-+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
- !!ENDIF
- !!IF !isEmpty(CMAKE_DEBUG_TYPE)
--_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
-+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_DIR}$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
- !!ENDIF
- 
- list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch b/pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch
deleted file mode 100644
index d5f4d7527cb4..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase-openssl_1_1.patch
+++ /dev/null
@@ -1,3985 +0,0 @@
-commit 2d88fc0ce4ac76924a65ffd797183de9422ba672
-Author: Andreas Rammhold <andreas@rammhold.de>
-Date:   Wed Mar 6 00:18:51 2019 +0100
-
-    openssl1.1 compat
-
-diff --git a/config.tests/openssl/openssl.cpp b/config.tests/openssl/openssl.cpp
-index 6c8a9e8f19..d33b62389c 100644
---- a/config.tests/openssl/openssl.cpp
-+++ b/config.tests/openssl/openssl.cpp
-@@ -39,8 +39,8 @@
- 
- #include <openssl/opensslv.h>
- 
--#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x0090700fL || OPENSSL_VERSION_NUMBER-0 >= 0x10100000L
--#  error "OpenSSL >= 0.9.7, and < 1.1.0 is required"
-+#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x0090700fL
-+#  error "OpenSSL >= 0.9.7 is required"
- #endif
- 
- #include <openssl/ssl.h>
-diff --git a/config.tests/openssl11/openssl.cpp b/config.tests/openssl11/openssl.cpp
-new file mode 100644
-index 0000000000..c20cc59deb
---- /dev/null
-+++ b/config.tests/openssl11/openssl.cpp
-@@ -0,0 +1,48 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the config.tests of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#include <openssl/opensslv.h>
-+
-+#if !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER-0 < 0x10100000L
-+#  error "OpenSSL >= 1.1 is required"
-+#endif
-+
-+int main()
-+{
-+}
-diff --git a/config.tests/openssl11/openssl11.pro b/config.tests/openssl11/openssl11.pro
-new file mode 100644
-index 0000000000..a023aee4aa
---- /dev/null
-+++ b/config.tests/openssl11/openssl11.pro
-@@ -0,0 +1,2 @@
-+SOURCES = openssl.cpp
-+CONFIG -= x11 qt
-diff --git a/src/network/configure.json b/src/network/configure.json
-index 2cf90ed94b..a021c0734b 100644
---- a/src/network/configure.json
-+++ b/src/network/configure.json
-@@ -77,6 +77,17 @@
-                 },
-                 { "libs": "-lssl -lcrypto", "condition": "!config.win32" }
-             ]
-+        },
-+        "openssl11": {
-+            "label": "OpenSSL v. 1.1 support",
-+            "type": "compile",
-+            "test": "openssl11",
-+	    "sources": [
-+		{
-+                    "comment": "placeholder for OPENSSL_PATH",
-+                    "libs": ""
-+                }
-+	    ]
-         }
-     },
- 
-@@ -182,7 +193,7 @@
-             "enable": "input.openssl == 'yes' || input.openssl == 'linked' || input.openssl == 'runtime'",
-             "disable": "input.openssl == 'no' || input.ssl == 'no'",
-             "autoDetect": "!config.winrt",
--            "condition": "!features.securetransport && (features.openssl-linked || libs.openssl_headers)",
-+            "condition": "!features.securetransport && (features.openssl-linked || libs.openssl_headers || feature.opensslv11)",
-             "output": [
-                 "privateFeature",
-                 { "type": "publicQtConfig", "condition": "!features.openssl-linked" },
-@@ -193,7 +204,7 @@
-             "label": "  Qt directly linked to OpenSSL",
-             "enable": "input.openssl == 'linked'",
-             "disable": "input.openssl != 'linked'",
--            "condition": "!features.securetransport && libs.openssl",
-+            "condition": "!features.securetransport && (libs.openssl || feature.opensslv11)",
-             "output": [
-                 "privateFeature",
-                 { "type": "define", "name": "QT_LINKED_OPENSSL" }
-@@ -213,6 +224,11 @@
-             "condition": "config.winrt || features.securetransport || features.openssl",
-             "output": [ "publicFeature", "feature" ]
-         },
-+        "opensslv11": {
-+            "label": "OpenSSL v. 1.1",
-+            "condition": "libs.openssl11",
-+            "output": ["publicFeature", "feature"]
-+        },
-         "sctp": {
-             "label": "SCTP",
-             "autoDetect": false,
-diff --git a/src/network/ssl/qsslcertificate_openssl.cpp b/src/network/ssl/qsslcertificate_openssl.cpp
-index 28b7eda54a..71e514a025 100644
---- a/src/network/ssl/qsslcertificate_openssl.cpp
-+++ b/src/network/ssl/qsslcertificate_openssl.cpp
-@@ -1,6 +1,7 @@
- /****************************************************************************
- **
--** Copyright (C) 2016 The Qt Company Ltd.
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtNetwork module of the Qt Toolkit.
-@@ -64,12 +65,14 @@ bool QSslCertificate::operator==(const QSslCertificate &other) const
- uint qHash(const QSslCertificate &key, uint seed) Q_DECL_NOTHROW
- {
-     if (X509 * const x509 = key.d->x509) {
--        (void)q_X509_cmp(x509, x509); // populate x509->sha1_hash
--                                      // (if someone knows a better way...)
--        return qHashBits(x509->sha1_hash, SHA_DIGEST_LENGTH, seed);
--    } else {
--        return seed;
-+        const EVP_MD *sha1 = q_EVP_sha1();
-+        unsigned int len = 0;
-+        unsigned char md[EVP_MAX_MD_SIZE];
-+        q_X509_digest(x509, sha1, md, &len);
-+        return qHashBits(md, len, seed);
-     }
-+
-+    return seed;
- }
- 
- bool QSslCertificate::isNull() const
-@@ -89,8 +92,7 @@ QByteArray QSslCertificate::version() const
- {
-     QMutexLocker lock(QMutexPool::globalInstanceGet(d.data()));
-     if (d->versionString.isEmpty() && d->x509)
--        d->versionString =
--            QByteArray::number(qlonglong(q_ASN1_INTEGER_get(d->x509->cert_info->version)) + 1);
-+        d->versionString = QByteArray::number(qlonglong(q_X509_get_version(d->x509)) + 1);
- 
-     return d->versionString;
- }
-@@ -99,7 +101,7 @@ QByteArray QSslCertificate::serialNumber() const
- {
-     QMutexLocker lock(QMutexPool::globalInstanceGet(d.data()));
-     if (d->serialNumberString.isEmpty() && d->x509) {
--        ASN1_INTEGER *serialNumber = d->x509->cert_info->serialNumber;
-+        ASN1_INTEGER *serialNumber = q_X509_get_serialNumber(d->x509);
-         QByteArray hexString;
-         hexString.reserve(serialNumber->length * 3);
-         for (int a = 0; a < serialNumber->length; ++a) {
-@@ -199,14 +201,15 @@ QMultiMap<QSsl::AlternativeNameEntryType, QString> QSslCertificate::subjectAlter
-                 continue;
-             }
- 
--            const char *altNameStr = reinterpret_cast<const char *>(q_ASN1_STRING_data(genName->d.ia5));
-+            const char *altNameStr = reinterpret_cast<const char *>(q_ASN1_STRING_get0_data(genName->d.ia5));
-             const QString altName = QString::fromLatin1(altNameStr, len);
-             if (genName->type == GEN_DNS)
-                 result.insert(QSsl::DnsEntry, altName);
-             else if (genName->type == GEN_EMAIL)
-                 result.insert(QSsl::EmailEntry, altName);
-         }
--        q_sk_pop_free((STACK*)altNames, reinterpret_cast<void(*)(void*)>(q_sk_free));
-+
-+        q_OPENSSL_sk_pop_free((OPENSSL_STACK*)altNames, reinterpret_cast<void(*)(void*)>(q_OPENSSL_sk_free));
-     }
- 
-     return result;
-@@ -235,25 +238,26 @@ QSslKey QSslCertificate::publicKey() const
-     QSslKey key;
- 
-     key.d->type = QSsl::PublicKey;
--    X509_PUBKEY *xkey = d->x509->cert_info->key;
--    EVP_PKEY *pkey = q_X509_PUBKEY_get(xkey);
-+
-+    EVP_PKEY *pkey = q_X509_get_pubkey(d->x509);
-     Q_ASSERT(pkey);
-+    const int keyType = q_EVP_PKEY_type(q_EVP_PKEY_base_id(pkey));
- 
--    if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_RSA) {
-+    if (keyType == EVP_PKEY_RSA) {
-         key.d->rsa = q_EVP_PKEY_get1_RSA(pkey);
-         key.d->algorithm = QSsl::Rsa;
-         key.d->isNull = false;
--    } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DSA) {
-+    } else if (keyType == EVP_PKEY_DSA) {
-         key.d->dsa = q_EVP_PKEY_get1_DSA(pkey);
-         key.d->algorithm = QSsl::Dsa;
-         key.d->isNull = false;
- #ifndef OPENSSL_NO_EC
--    } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_EC) {
-+    } else if (keyType == EVP_PKEY_EC) {
-         key.d->ec = q_EVP_PKEY_get1_EC_KEY(pkey);
-         key.d->algorithm = QSsl::Ec;
-         key.d->isNull = false;
- #endif
--    } else if (q_EVP_PKEY_type(pkey->type) == EVP_PKEY_DH) {
-+    } else if (keyType == EVP_PKEY_DH) {
-         // DH unsupported
-     } else {
-         // error?
-@@ -275,7 +279,7 @@ static QVariant x509UnknownExtensionToValue(X509_EXTENSION *ext)
-     X509V3_EXT_METHOD *meth = const_cast<X509V3_EXT_METHOD *>(q_X509V3_EXT_get(ext));
-     if (!meth) {
-         ASN1_OCTET_STRING *value = q_X509_EXTENSION_get_data(ext);
--        QByteArray result( reinterpret_cast<const char *>(q_ASN1_STRING_data(value)),
-+        QByteArray result( reinterpret_cast<const char *>(q_ASN1_STRING_get0_data(value)),
-                            q_ASN1_STRING_length(value));
-         return result;
-     }
-@@ -371,7 +375,7 @@ static QVariant x509ExtensionToValue(X509_EXTENSION *ext)
-                         continue;
-                     }
- 
--                    const char *uriStr = reinterpret_cast<const char *>(q_ASN1_STRING_data(name->d.uniformResourceIdentifier));
-+                    const char *uriStr = reinterpret_cast<const char *>(q_ASN1_STRING_get0_data(name->d.uniformResourceIdentifier));
-                     const QString uri = QString::fromUtf8(uriStr, len);
- 
-                     result[QString::fromUtf8(QSslCertificatePrivate::asn1ObjectName(ad->method))] = uri;
-@@ -380,11 +384,7 @@ static QVariant x509ExtensionToValue(X509_EXTENSION *ext)
-                 }
-             }
- 
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--            q_sk_pop_free((_STACK*)info, reinterpret_cast<void(*)(void*)>(q_sk_free));
--#else
--            q_sk_pop_free((STACK*)info, reinterpret_cast<void(*)(void*)>(q_sk_free));
--#endif
-+            q_OPENSSL_sk_pop_free((OPENSSL_STACK*)info, reinterpret_cast<void(*)(void *)>(q_OPENSSL_sk_free));
-             return result;
-         }
-         break;
-@@ -607,7 +607,11 @@ static QMap<QByteArray, QString> _q_mapFromX509Name(X509_NAME *name)
-         unsigned char *data = 0;
-         int size = q_ASN1_STRING_to_UTF8(&data, q_X509_NAME_ENTRY_get_data(e));
-         info.insertMulti(name, QString::fromUtf8((char*)data, size));
-+#if QT_CONFIG(opensslv11)
-+        q_CRYPTO_free(data, 0, 0);
-+#else
-         q_CRYPTO_free(data);
-+#endif
-     }
- 
-     return info;
-@@ -619,8 +623,9 @@ QSslCertificate QSslCertificatePrivate::QSslCertificate_from_X509(X509 *x509)
-     if (!x509 || !QSslSocket::supportsSsl())
-         return certificate;
- 
--    ASN1_TIME *nbef = q_X509_get_notBefore(x509);
--    ASN1_TIME *naft = q_X509_get_notAfter(x509);
-+    ASN1_TIME *nbef = q_X509_getm_notBefore(x509);
-+    ASN1_TIME *naft = q_X509_getm_notAfter(x509);
-+
-     certificate.d->notValidBefore = q_getTimeFromASN1(nbef);
-     certificate.d->notValidAfter = q_getTimeFromASN1(naft);
-     certificate.d->null = false;
-diff --git a/src/network/ssl/qsslcontext_openssl.cpp b/src/network/ssl/qsslcontext_openssl.cpp
-index c92d8fc3f8..cef503710c 100644
---- a/src/network/ssl/qsslcontext_openssl.cpp
-+++ b/src/network/ssl/qsslcontext_openssl.cpp
-@@ -1,6 +1,6 @@
- /****************************************************************************
- **
--** Copyright (C) 2016 The Qt Company Ltd.
-+** Copyright (C) 2017 The Qt Company Ltd.
- ** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
- ** Copyright (C) 2014 Governikus GmbH & Co. KG.
- ** Contact: https://www.qt.io/licensing/
-@@ -41,22 +41,14 @@
- 
- 
- #include <QtNetwork/qsslsocket.h>
--#include <QtNetwork/qssldiffiehellmanparameters.h>
--#include <QtCore/qmutex.h>
- 
- #include "private/qssl_p.h"
- #include "private/qsslcontext_openssl_p.h"
--#include "private/qsslsocket_p.h"
- #include "private/qsslsocket_openssl_p.h"
- #include "private/qsslsocket_openssl_symbols_p.h"
--#include "private/qssldiffiehellmanparameters_p.h"
- 
- QT_BEGIN_NAMESPACE
- 
--// defined in qsslsocket_openssl.cpp:
--extern int q_X509Callback(int ok, X509_STORE_CTX *ctx);
--extern QString getErrorsFromOpenSsl();
--
- QSslContext::QSslContext()
-     : ctx(0),
-     pkey(0),
-@@ -78,301 +70,6 @@ QSslContext::~QSslContext()
-         q_SSL_SESSION_free(session);
- }
- 
--static inline QString msgErrorSettingEllipticCurves(const QString &why)
--{
--    return QSslSocket::tr("Error when setting the elliptic curves (%1)").arg(why);
--}
--
--// static
--void QSslContext::initSslContext(QSslContext *sslContext, QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading)
--{
--    sslContext->sslConfiguration = configuration;
--    sslContext->errorCode = QSslError::NoError;
--
--    bool client = (mode == QSslSocket::SslClientMode);
--
--    bool reinitialized = false;
--    bool unsupportedProtocol = false;
--init_context:
--    switch (sslContext->sslConfiguration.protocol()) {
--    case QSsl::SslV2:
--#ifndef OPENSSL_NO_SSL2
--        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv2_client_method() : q_SSLv2_server_method());
--#else
--        // SSL 2 not supported by the system, but chosen deliberately -> error
--        sslContext->ctx = 0;
--        unsupportedProtocol = true;
--#endif
--        break;
--    case QSsl::SslV3:
--#ifndef OPENSSL_NO_SSL3_METHOD
--        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method());
--#else
--        // SSL 3 not supported by the system, but chosen deliberately -> error
--        sslContext->ctx = 0;
--        unsupportedProtocol = true;
--#endif
--        break;
--    case QSsl::SecureProtocols:
--        // SSLv2 and SSLv3 will be disabled by SSL options
--        // But we need q_SSLv23_server_method() otherwise AnyProtocol will be unable to connect on Win32.
--    case QSsl::TlsV1SslV3:
--        // SSLv2 will will be disabled by SSL options
--    case QSsl::AnyProtocol:
--    default:
--        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
--        break;
--    case QSsl::TlsV1_0:
--        sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_client_method() : q_TLSv1_server_method());
--        break;
--    case QSsl::TlsV1_1:
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L
--        sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_1_client_method() : q_TLSv1_1_server_method());
--#else
--        // TLS 1.1 not supported by the system, but chosen deliberately -> error
--        sslContext->ctx = 0;
--        unsupportedProtocol = true;
--#endif
--        break;
--    case QSsl::TlsV1_2:
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L
--        sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_2_client_method() : q_TLSv1_2_server_method());
--#else
--        // TLS 1.2 not supported by the system, but chosen deliberately -> error
--        sslContext->ctx = 0;
--        unsupportedProtocol = true;
--#endif
--        break;
--    case QSsl::TlsV1_0OrLater:
--        // Specific protocols will be specified via SSL options.
--        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
--        break;
--    case QSsl::TlsV1_1OrLater:
--    case QSsl::TlsV1_2OrLater:
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L
--        // Specific protocols will be specified via SSL options.
--        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
--#else
--        // TLS 1.1/1.2 not supported by the system, but chosen deliberately -> error
--        sslContext->ctx = 0;
--        unsupportedProtocol = true;
--#endif
--        break;
--    }
--
--    if (!sslContext->ctx) {
--        // After stopping Flash 10 the SSL library looses its ciphers. Try re-adding them
--        // by re-initializing the library.
--        if (!reinitialized) {
--            reinitialized = true;
--            if (q_SSL_library_init() == 1)
--                goto init_context;
--        }
--
--        sslContext->errorStr = QSslSocket::tr("Error creating SSL context (%1)").arg(
--            unsupportedProtocol ? QSslSocket::tr("unsupported protocol") : QSslSocketBackendPrivate::getErrorsFromOpenSsl()
--        );
--        sslContext->errorCode = QSslError::UnspecifiedError;
--        return;
--    }
--
--    // Enable bug workarounds.
--    long options = QSslSocketBackendPrivate::setupOpenSslOptions(configuration.protocol(), configuration.d->sslOptions);
--    q_SSL_CTX_set_options(sslContext->ctx, options);
--
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--    // Tell OpenSSL to release memory early
--    // http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html
--    if (q_SSLeay() >= 0x10000000L)
--        q_SSL_CTX_set_mode(sslContext->ctx, SSL_MODE_RELEASE_BUFFERS);
--#endif
--
--    // Initialize ciphers
--    QByteArray cipherString;
--    bool first = true;
--    QList<QSslCipher> ciphers = sslContext->sslConfiguration.ciphers();
--    if (ciphers.isEmpty())
--        ciphers = QSslSocketPrivate::defaultCiphers();
--    for (const QSslCipher &cipher : qAsConst(ciphers)) {
--        if (first)
--            first = false;
--        else
--            cipherString.append(':');
--        cipherString.append(cipher.name().toLatin1());
--    }
--
--    if (!q_SSL_CTX_set_cipher_list(sslContext->ctx, cipherString.data())) {
--        sslContext->errorStr = QSslSocket::tr("Invalid or empty cipher list (%1)").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
--        sslContext->errorCode = QSslError::UnspecifiedError;
--        return;
--    }
--
--    const QDateTime now = QDateTime::currentDateTimeUtc();
--
--    // Add all our CAs to this store.
--    const auto caCertificates = sslContext->sslConfiguration.caCertificates();
--    for (const QSslCertificate &caCertificate : caCertificates) {
--        // From https://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html:
--        //
--        // If several CA certificates matching the name, key identifier, and
--        // serial number condition are available, only the first one will be
--        // examined. This may lead to unexpected results if the same CA
--        // certificate is available with different expiration dates. If a
--        // ``certificate expired'' verification error occurs, no other
--        // certificate will be searched. Make sure to not have expired
--        // certificates mixed with valid ones.
--        //
--        // See also: QSslSocketBackendPrivate::verify()
--        if (caCertificate.expiryDate() >= now) {
--            q_X509_STORE_add_cert(q_SSL_CTX_get_cert_store(sslContext->ctx), (X509 *)caCertificate.handle());
--        }
--    }
--
--    if (QSslSocketPrivate::s_loadRootCertsOnDemand && allowRootCertOnDemandLoading) {
--        // tell OpenSSL the directories where to look up the root certs on demand
--        const QList<QByteArray> unixDirs = QSslSocketPrivate::unixRootCertDirectories();
--        for (const QByteArray &unixDir : unixDirs)
--            q_SSL_CTX_load_verify_locations(sslContext->ctx, 0, unixDir.constData());
--    }
--
--    if (!sslContext->sslConfiguration.localCertificate().isNull()) {
--        // Require a private key as well.
--        if (sslContext->sslConfiguration.privateKey().isNull()) {
--            sslContext->errorStr = QSslSocket::tr("Cannot provide a certificate with no key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
--            sslContext->errorCode = QSslError::UnspecifiedError;
--            return;
--        }
--
--        // Load certificate
--        if (!q_SSL_CTX_use_certificate(sslContext->ctx, (X509 *)sslContext->sslConfiguration.localCertificate().handle())) {
--            sslContext->errorStr = QSslSocket::tr("Error loading local certificate, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
--            sslContext->errorCode = QSslError::UnspecifiedError;
--            return;
--        }
--
--        if (configuration.d->privateKey.algorithm() == QSsl::Opaque) {
--            sslContext->pkey = reinterpret_cast<EVP_PKEY *>(configuration.d->privateKey.handle());
--        } else {
--            // Load private key
--            sslContext->pkey = q_EVP_PKEY_new();
--            // before we were using EVP_PKEY_assign_R* functions and did not use EVP_PKEY_free.
--            // this lead to a memory leak. Now we use the *_set1_* functions which do not
--            // take ownership of the RSA/DSA key instance because the QSslKey already has ownership.
--            if (configuration.d->privateKey.algorithm() == QSsl::Rsa)
--                q_EVP_PKEY_set1_RSA(sslContext->pkey, reinterpret_cast<RSA *>(configuration.d->privateKey.handle()));
--            else if (configuration.d->privateKey.algorithm() == QSsl::Dsa)
--                q_EVP_PKEY_set1_DSA(sslContext->pkey, reinterpret_cast<DSA *>(configuration.d->privateKey.handle()));
--#ifndef OPENSSL_NO_EC
--            else if (configuration.d->privateKey.algorithm() == QSsl::Ec)
--                q_EVP_PKEY_set1_EC_KEY(sslContext->pkey, reinterpret_cast<EC_KEY *>(configuration.d->privateKey.handle()));
--#endif
--        }
--
--        if (!q_SSL_CTX_use_PrivateKey(sslContext->ctx, sslContext->pkey)) {
--            sslContext->errorStr = QSslSocket::tr("Error loading private key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
--            sslContext->errorCode = QSslError::UnspecifiedError;
--            return;
--        }
--        if (configuration.d->privateKey.algorithm() == QSsl::Opaque)
--            sslContext->pkey = 0; // Don't free the private key, it belongs to QSslKey
--
--        // Check if the certificate matches the private key.
--        if (!q_SSL_CTX_check_private_key(sslContext->ctx)) {
--            sslContext->errorStr = QSslSocket::tr("Private key does not certify public key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
--            sslContext->errorCode = QSslError::UnspecifiedError;
--            return;
--        }
--
--        // If we have any intermediate certificates then we need to add them to our chain
--        bool first = true;
--        for (const QSslCertificate &cert : qAsConst(configuration.d->localCertificateChain)) {
--            if (first) {
--                first = false;
--                continue;
--            }
--            q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_EXTRA_CHAIN_CERT, 0,
--                           q_X509_dup(reinterpret_cast<X509 *>(cert.handle())));
--        }
--    }
--
--    // Initialize peer verification.
--    if (sslContext->sslConfiguration.peerVerifyMode() == QSslSocket::VerifyNone) {
--        q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_NONE, 0);
--    } else {
--        q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_PEER, q_X509Callback);
--    }
--
--    // Set verification depth.
--    if (sslContext->sslConfiguration.peerVerifyDepth() != 0)
--        q_SSL_CTX_set_verify_depth(sslContext->ctx, sslContext->sslConfiguration.peerVerifyDepth());
--
--    // set persisted session if the user set it
--    if (!configuration.sessionTicket().isEmpty())
--        sslContext->setSessionASN1(configuration.sessionTicket());
--
--    // Set temp DH params
--    QSslDiffieHellmanParameters dhparams = configuration.diffieHellmanParameters();
--
--    if (!dhparams.isValid()) {
--        sslContext->errorStr = QSslSocket::tr("Diffie-Hellman parameters are not valid");
--        sslContext->errorCode = QSslError::UnspecifiedError;
--        return;
--    }
--
--    if (!dhparams.isEmpty()) {
--        const QByteArray &params = dhparams.d->derData;
--        const char *ptr = params.constData();
--        DH *dh = q_d2i_DHparams(NULL, reinterpret_cast<const unsigned char **>(&ptr), params.length());
--        if (dh == NULL)
--            qFatal("q_d2i_DHparams failed to convert QSslDiffieHellmanParameters to DER form");
--        q_SSL_CTX_set_tmp_dh(sslContext->ctx, dh);
--        q_DH_free(dh);
--    }
--
--#ifndef OPENSSL_NO_EC
--#if OPENSSL_VERSION_NUMBER >= 0x10002000L
--    if (q_SSLeay() >= 0x10002000L) {
--        q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_SET_ECDH_AUTO, 1, NULL);
--    } else
--#endif
--    {
--        // Set temp ECDH params
--        EC_KEY *ecdh = 0;
--        ecdh = q_EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
--        q_SSL_CTX_set_tmp_ecdh(sslContext->ctx, ecdh);
--        q_EC_KEY_free(ecdh);
--    }
--#endif // OPENSSL_NO_EC
--
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
--    if (!client)
--        q_SSL_CTX_use_psk_identity_hint(sslContext->ctx, sslContext->sslConfiguration.preSharedKeyIdentityHint().constData());
--#endif // OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
--
--    const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves();
--    if (!qcurves.isEmpty()) {
--#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
--        // Set the curves to be used
--        if (q_SSLeay() >= 0x10002000L) {
--            // SSL_CTX_ctrl wants a non-const pointer as last argument,
--            // but let's avoid a copy into a temporary array
--            if (!q_SSL_CTX_ctrl(sslContext->ctx,
--                                SSL_CTRL_SET_CURVES,
--                                qcurves.size(),
--                                const_cast<int *>(reinterpret_cast<const int *>(qcurves.data())))) {
--                sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
--                sslContext->errorCode = QSslError::UnspecifiedError;
--            }
--        } else
--#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
--        {
--            // specific curves requested, but not possible to set -> error
--            sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version too old, need at least v1.0.2"));
--            sslContext->errorCode = QSslError::UnspecifiedError;
--        }
--    }
--}
--
- QSslContext* QSslContext::fromConfiguration(QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading)
- {
-     QSslContext *sslContext = new QSslContext();
-@@ -463,7 +160,7 @@ SSL* QSslContext::createSsl()
-         m_npnContext.len = m_supportedNPNVersions.count();
-         m_npnContext.status = QSslConfiguration::NextProtocolNegotiationNone;
- #if OPENSSL_VERSION_NUMBER >= 0x10002000L
--        if (q_SSLeay() >= 0x10002000L) {
-+        if (QSslSocket::sslLibraryVersionNumber() >= 0x10002000L) {
-             // Callback's type has a parameter 'const unsigned char ** out'
-             // since it was introduced in 1.0.2. Internally, OpenSSL's own code
-             // (tests/examples) cast it to unsigned char * (since it's 'out').
-@@ -508,7 +205,7 @@ bool QSslContext::cacheSession(SSL* ssl)
-             unsigned char *data = reinterpret_cast<unsigned char *>(m_sessionASN1.data());
-             if (!q_i2d_SSL_SESSION(session, &data))
-                 qCWarning(lcSsl, "could not store persistent version of SSL session");
--            m_sessionTicketLifeTimeHint = session->tlsext_tick_lifetime_hint;
-+            m_sessionTicketLifeTimeHint = q_SSL_SESSION_get_ticket_lifetime_hint(session);
-         }
-     }
- 
-diff --git a/src/network/ssl/qsslcontext_openssl11.cpp b/src/network/ssl/qsslcontext_openssl11.cpp
-new file mode 100644
-index 0000000000..787b6ae3f5
---- /dev/null
-+++ b/src/network/ssl/qsslcontext_openssl11.cpp
-@@ -0,0 +1,277 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
-+** Copyright (C) 2014 Governikus GmbH & Co. KG.
-+** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the QtNetwork module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+
-+#include <QtNetwork/qsslsocket.h>
-+#include <QtNetwork/qssldiffiehellmanparameters.h>
-+
-+#include "private/qssl_p.h"
-+#include "private/qsslcontext_openssl_p.h"
-+#include "private/qsslsocket_p.h"
-+#include "private/qsslsocket_openssl_p.h"
-+#include "private/qsslsocket_openssl_symbols_p.h"
-+#include "private/qssldiffiehellmanparameters_p.h"
-+
-+#include <vector>
-+
-+QT_BEGIN_NAMESPACE
-+
-+// defined in qsslsocket_openssl.cpp:
-+extern int q_X509Callback(int ok, X509_STORE_CTX *ctx);
-+extern QString getErrorsFromOpenSsl();
-+
-+static inline QString msgErrorSettingEllipticCurves(const QString &why)
-+{
-+    return QSslSocket::tr("Error when setting the elliptic curves (%1)").arg(why);
-+}
-+
-+// static
-+void QSslContext::initSslContext(QSslContext *sslContext, QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading)
-+{
-+    sslContext->sslConfiguration = configuration;
-+    sslContext->errorCode = QSslError::NoError;
-+
-+    bool client = (mode == QSslSocket::SslClientMode);
-+
-+    bool reinitialized = false;
-+    bool unsupportedProtocol = false;
-+init_context:
-+    if (sslContext->sslConfiguration.protocol() == QSsl::SslV2) {
-+        // SSL 2 is no longer supported, but chosen deliberately -> error
-+        sslContext->ctx = nullptr;
-+        unsupportedProtocol = true;
-+    } else {
-+        // The ssl options will actually control the supported methods
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_TLS_client_method() : q_TLS_server_method());
-+    }
-+
-+    if (!sslContext->ctx) {
-+        // After stopping Flash 10 the SSL library loses its ciphers. Try re-adding them
-+        // by re-initializing the library.
-+        if (!reinitialized) {
-+            reinitialized = true;
-+            if (q_OPENSSL_init_ssl(0, nullptr) == 1)
-+                goto init_context;
-+        }
-+
-+        sslContext->errorStr = QSslSocket::tr("Error creating SSL context (%1)").arg(
-+            unsupportedProtocol ? QSslSocket::tr("unsupported protocol") : QSslSocketBackendPrivate::getErrorsFromOpenSsl()
-+        );
-+        sslContext->errorCode = QSslError::UnspecifiedError;
-+        return;
-+    }
-+
-+    // Enable bug workarounds.
-+    long options = QSslSocketBackendPrivate::setupOpenSslOptions(configuration.protocol(), configuration.d->sslOptions);
-+    q_SSL_CTX_set_options(sslContext->ctx, options);
-+
-+    // Tell OpenSSL to release memory early
-+    // http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html
-+    q_SSL_CTX_set_mode(sslContext->ctx, SSL_MODE_RELEASE_BUFFERS);
-+
-+    // Initialize ciphers
-+    QByteArray cipherString;
-+    bool first = true;
-+    QList<QSslCipher> ciphers = sslContext->sslConfiguration.ciphers();
-+    if (ciphers.isEmpty())
-+        ciphers = QSslSocketPrivate::defaultCiphers();
-+    for (const QSslCipher &cipher : qAsConst(ciphers)) {
-+        if (first)
-+            first = false;
-+        else
-+            cipherString.append(':');
-+        cipherString.append(cipher.name().toLatin1());
-+    }
-+
-+    if (!q_SSL_CTX_set_cipher_list(sslContext->ctx, cipherString.data())) {
-+        sslContext->errorStr = QSslSocket::tr("Invalid or empty cipher list (%1)").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+        sslContext->errorCode = QSslError::UnspecifiedError;
-+        return;
-+    }
-+
-+    const QDateTime now = QDateTime::currentDateTimeUtc();
-+
-+    // Add all our CAs to this store.
-+    const auto caCertificates = sslContext->sslConfiguration.caCertificates();
-+    for (const QSslCertificate &caCertificate : caCertificates) {
-+        // From https://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html:
-+        //
-+        // If several CA certificates matching the name, key identifier, and
-+        // serial number condition are available, only the first one will be
-+        // examined. This may lead to unexpected results if the same CA
-+        // certificate is available with different expiration dates. If a
-+        // ``certificate expired'' verification error occurs, no other
-+        // certificate will be searched. Make sure to not have expired
-+        // certificates mixed with valid ones.
-+        //
-+        // See also: QSslSocketBackendPrivate::verify()
-+        if (caCertificate.expiryDate() >= now) {
-+            q_X509_STORE_add_cert(q_SSL_CTX_get_cert_store(sslContext->ctx), (X509 *)caCertificate.handle());
-+        }
-+    }
-+
-+    if (QSslSocketPrivate::s_loadRootCertsOnDemand && allowRootCertOnDemandLoading) {
-+        // tell OpenSSL the directories where to look up the root certs on demand
-+        const QList<QByteArray> unixDirs = QSslSocketPrivate::unixRootCertDirectories();
-+        for (const QByteArray &unixDir : unixDirs)
-+            q_SSL_CTX_load_verify_locations(sslContext->ctx, nullptr, unixDir.constData());
-+    }
-+
-+    if (!sslContext->sslConfiguration.localCertificate().isNull()) {
-+        // Require a private key as well.
-+        if (sslContext->sslConfiguration.privateKey().isNull()) {
-+            sslContext->errorStr = QSslSocket::tr("Cannot provide a certificate with no key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+            return;
-+        }
-+
-+        // Load certificate
-+        if (!q_SSL_CTX_use_certificate(sslContext->ctx, (X509 *)sslContext->sslConfiguration.localCertificate().handle())) {
-+            sslContext->errorStr = QSslSocket::tr("Error loading local certificate, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+            return;
-+        }
-+
-+        if (configuration.d->privateKey.algorithm() == QSsl::Opaque) {
-+            sslContext->pkey = reinterpret_cast<EVP_PKEY *>(configuration.d->privateKey.handle());
-+        } else {
-+            // Load private key
-+            sslContext->pkey = q_EVP_PKEY_new();
-+            // before we were using EVP_PKEY_assign_R* functions and did not use EVP_PKEY_free.
-+            // this lead to a memory leak. Now we use the *_set1_* functions which do not
-+            // take ownership of the RSA/DSA key instance because the QSslKey already has ownership.
-+            if (configuration.d->privateKey.algorithm() == QSsl::Rsa)
-+                q_EVP_PKEY_set1_RSA(sslContext->pkey, reinterpret_cast<RSA *>(configuration.d->privateKey.handle()));
-+            else if (configuration.d->privateKey.algorithm() == QSsl::Dsa)
-+                q_EVP_PKEY_set1_DSA(sslContext->pkey, reinterpret_cast<DSA *>(configuration.d->privateKey.handle()));
-+#ifndef OPENSSL_NO_EC
-+            else if (configuration.d->privateKey.algorithm() == QSsl::Ec)
-+                q_EVP_PKEY_set1_EC_KEY(sslContext->pkey, reinterpret_cast<EC_KEY *>(configuration.d->privateKey.handle()));
-+#endif
-+        }
-+
-+        if (!q_SSL_CTX_use_PrivateKey(sslContext->ctx, sslContext->pkey)) {
-+            sslContext->errorStr = QSslSocket::tr("Error loading private key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+            return;
-+        }
-+        if (configuration.d->privateKey.algorithm() == QSsl::Opaque)
-+            sslContext->pkey = nullptr; // Don't free the private key, it belongs to QSslKey
-+
-+        // Check if the certificate matches the private key.
-+        if (!q_SSL_CTX_check_private_key(sslContext->ctx)) {
-+            sslContext->errorStr = QSslSocket::tr("Private key does not certify public key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+            return;
-+        }
-+
-+        // If we have any intermediate certificates then we need to add them to our chain
-+        bool first = true;
-+        for (const QSslCertificate &cert : qAsConst(configuration.d->localCertificateChain)) {
-+            if (first) {
-+                first = false;
-+                continue;
-+            }
-+            q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_EXTRA_CHAIN_CERT, 0,
-+                           q_X509_dup(reinterpret_cast<X509 *>(cert.handle())));
-+        }
-+    }
-+
-+    // Initialize peer verification.
-+    if (sslContext->sslConfiguration.peerVerifyMode() == QSslSocket::VerifyNone) {
-+        q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_NONE, nullptr);
-+    } else {
-+        q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_PEER, q_X509Callback);
-+    }
-+
-+    // Set verification depth.
-+    if (sslContext->sslConfiguration.peerVerifyDepth() != 0)
-+        q_SSL_CTX_set_verify_depth(sslContext->ctx, sslContext->sslConfiguration.peerVerifyDepth());
-+
-+    // set persisted session if the user set it
-+    if (!configuration.sessionTicket().isEmpty())
-+        sslContext->setSessionASN1(configuration.sessionTicket());
-+
-+    // Set temp DH params
-+    QSslDiffieHellmanParameters dhparams = configuration.diffieHellmanParameters();
-+
-+    if (!dhparams.isValid()) {
-+        sslContext->errorStr = QSslSocket::tr("Diffie-Hellman parameters are not valid");
-+        sslContext->errorCode = QSslError::UnspecifiedError;
-+        return;
-+    }
-+
-+    if (!dhparams.isEmpty()) {
-+        const QByteArray &params = dhparams.d->derData;
-+        const char *ptr = params.constData();
-+        DH *dh = q_d2i_DHparams(NULL, reinterpret_cast<const unsigned char **>(&ptr), params.length());
-+        if (dh == NULL)
-+            qFatal("q_d2i_DHparams failed to convert QSslDiffieHellmanParameters to DER form");
-+        q_SSL_CTX_set_tmp_dh(sslContext->ctx, dh);
-+        q_DH_free(dh);
-+    }
-+
-+#ifndef OPENSSL_NO_PSK
-+    if (!client)
-+        q_SSL_CTX_use_psk_identity_hint(sslContext->ctx, sslContext->sslConfiguration.preSharedKeyIdentityHint().constData());
-+#endif // !OPENSSL_NO_PSK
-+
-+    const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves();
-+    if (!qcurves.isEmpty()) {
-+#ifdef OPENSSL_NO_EC
-+        sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version with disabled elliptic curves"));
-+        sslContext->errorCode = QSslError::UnspecifiedError;
-+#else
-+        // Set the curves to be used.
-+        std::vector<int> curves;
-+        curves.reserve(qcurves.size());
-+        for (const auto &sslCurve : qcurves)
-+            curves.push_back(sslCurve.id);
-+        if (!q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_SET_CURVES, long(curves.size()), &curves[0])) {
-+            sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+        }
-+#endif
-+    }
-+}
-+
-+QT_END_NAMESPACE
-diff --git a/src/network/ssl/qsslcontext_opensslpre11.cpp b/src/network/ssl/qsslcontext_opensslpre11.cpp
-new file mode 100644
-index 0000000000..9c01c2f2dc
---- /dev/null
-+++ b/src/network/ssl/qsslcontext_opensslpre11.cpp
-@@ -0,0 +1,354 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
-+** Copyright (C) 2014 Governikus GmbH & Co. KG.
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the QtNetwork module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+
-+#include <QtNetwork/qsslsocket.h>
-+#include <QtNetwork/qssldiffiehellmanparameters.h>
-+
-+#include "private/qssl_p.h"
-+#include "private/qsslcontext_openssl_p.h"
-+#include "private/qsslsocket_p.h"
-+#include "private/qsslsocket_openssl_p.h"
-+#include "private/qsslsocket_openssl_symbols_p.h"
-+#include "private/qssldiffiehellmanparameters_p.h"
-+
-+QT_BEGIN_NAMESPACE
-+
-+// defined in qsslsocket_openssl.cpp:
-+extern int q_X509Callback(int ok, X509_STORE_CTX *ctx);
-+extern QString getErrorsFromOpenSsl();
-+
-+static inline QString msgErrorSettingEllipticCurves(const QString &why)
-+{
-+    return QSslSocket::tr("Error when setting the elliptic curves (%1)").arg(why);
-+}
-+
-+// static
-+void QSslContext::initSslContext(QSslContext *sslContext, QSslSocket::SslMode mode, const QSslConfiguration &configuration, bool allowRootCertOnDemandLoading)
-+{
-+    sslContext->sslConfiguration = configuration;
-+    sslContext->errorCode = QSslError::NoError;
-+
-+    bool client = (mode == QSslSocket::SslClientMode);
-+
-+    bool reinitialized = false;
-+    bool unsupportedProtocol = false;
-+init_context:
-+    switch (sslContext->sslConfiguration.protocol()) {
-+    case QSsl::SslV2:
-+#ifndef OPENSSL_NO_SSL2
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv2_client_method() : q_SSLv2_server_method());
-+#else
-+        // SSL 2 not supported by the system, but chosen deliberately -> error
-+        sslContext->ctx = 0;
-+        unsupportedProtocol = true;
-+#endif
-+        break;
-+    case QSsl::SslV3:
-+#ifndef OPENSSL_NO_SSL3_METHOD
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method());
-+#else
-+        // SSL 3 not supported by the system, but chosen deliberately -> error
-+        sslContext->ctx = 0;
-+        unsupportedProtocol = true;
-+#endif
-+        break;
-+    case QSsl::SecureProtocols:
-+        // SSLv2 and SSLv3 will be disabled by SSL options
-+        // But we need q_SSLv23_server_method() otherwise AnyProtocol will be unable to connect on Win32.
-+    case QSsl::TlsV1SslV3:
-+        // SSLv2 will will be disabled by SSL options
-+    case QSsl::AnyProtocol:
-+    default:
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
-+        break;
-+    case QSsl::TlsV1_0:
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_client_method() : q_TLSv1_server_method());
-+        break;
-+    case QSsl::TlsV1_1:
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_1_client_method() : q_TLSv1_1_server_method());
-+#else
-+        // TLS 1.1 not supported by the system, but chosen deliberately -> error
-+        sslContext->ctx = 0;
-+        unsupportedProtocol = true;
-+#endif
-+        break;
-+    case QSsl::TlsV1_2:
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_TLSv1_2_client_method() : q_TLSv1_2_server_method());
-+#else
-+        // TLS 1.2 not supported by the system, but chosen deliberately -> error
-+        sslContext->ctx = 0;
-+        unsupportedProtocol = true;
-+#endif
-+        break;
-+    case QSsl::TlsV1_0OrLater:
-+        // Specific protocols will be specified via SSL options.
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
-+        break;
-+    case QSsl::TlsV1_1OrLater:
-+    case QSsl::TlsV1_2OrLater:
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+        // Specific protocols will be specified via SSL options.
-+        sslContext->ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
-+#else
-+        // TLS 1.1/1.2 not supported by the system, but chosen deliberately -> error
-+        sslContext->ctx = 0;
-+        unsupportedProtocol = true;
-+#endif
-+        break;
-+    }
-+
-+    if (!sslContext->ctx) {
-+        // After stopping Flash 10 the SSL library loses its ciphers. Try re-adding them
-+        // by re-initializing the library.
-+        if (!reinitialized) {
-+            reinitialized = true;
-+            if (q_SSL_library_init() == 1)
-+                goto init_context;
-+        }
-+
-+        sslContext->errorStr = QSslSocket::tr("Error creating SSL context (%1)").arg(
-+            unsupportedProtocol ? QSslSocket::tr("unsupported protocol") : QSslSocketBackendPrivate::getErrorsFromOpenSsl()
-+        );
-+        sslContext->errorCode = QSslError::UnspecifiedError;
-+        return;
-+    }
-+
-+    // Enable bug workarounds.
-+    long options = QSslSocketBackendPrivate::setupOpenSslOptions(configuration.protocol(), configuration.d->sslOptions);
-+    q_SSL_CTX_set_options(sslContext->ctx, options);
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+    // Tell OpenSSL to release memory early
-+    // http://www.openssl.org/docs/ssl/SSL_CTX_set_mode.html
-+    if (q_SSLeay() >= 0x10000000L)
-+        q_SSL_CTX_set_mode(sslContext->ctx, SSL_MODE_RELEASE_BUFFERS);
-+#endif
-+
-+    // Initialize ciphers
-+    QByteArray cipherString;
-+    bool first = true;
-+    QList<QSslCipher> ciphers = sslContext->sslConfiguration.ciphers();
-+    if (ciphers.isEmpty())
-+        ciphers = QSslSocketPrivate::defaultCiphers();
-+    for (const QSslCipher &cipher : qAsConst(ciphers)) {
-+        if (first)
-+            first = false;
-+        else
-+            cipherString.append(':');
-+        cipherString.append(cipher.name().toLatin1());
-+    }
-+
-+    if (!q_SSL_CTX_set_cipher_list(sslContext->ctx, cipherString.data())) {
-+        sslContext->errorStr = QSslSocket::tr("Invalid or empty cipher list (%1)").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+        sslContext->errorCode = QSslError::UnspecifiedError;
-+        return;
-+    }
-+
-+    const QDateTime now = QDateTime::currentDateTimeUtc();
-+
-+    // Add all our CAs to this store.
-+    const auto caCertificates = sslContext->sslConfiguration.caCertificates();
-+    for (const QSslCertificate &caCertificate : caCertificates) {
-+        // From https://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html:
-+        //
-+        // If several CA certificates matching the name, key identifier, and
-+        // serial number condition are available, only the first one will be
-+        // examined. This may lead to unexpected results if the same CA
-+        // certificate is available with different expiration dates. If a
-+        // ``certificate expired'' verification error occurs, no other
-+        // certificate will be searched. Make sure to not have expired
-+        // certificates mixed with valid ones.
-+        //
-+        // See also: QSslSocketBackendPrivate::verify()
-+        if (caCertificate.expiryDate() >= now) {
-+            q_X509_STORE_add_cert(q_SSL_CTX_get_cert_store(sslContext->ctx), (X509 *)caCertificate.handle());
-+        }
-+    }
-+
-+    if (QSslSocketPrivate::s_loadRootCertsOnDemand && allowRootCertOnDemandLoading) {
-+        // tell OpenSSL the directories where to look up the root certs on demand
-+        const QList<QByteArray> unixDirs = QSslSocketPrivate::unixRootCertDirectories();
-+        for (const QByteArray &unixDir : unixDirs)
-+            q_SSL_CTX_load_verify_locations(sslContext->ctx, 0, unixDir.constData());
-+    }
-+
-+    if (!sslContext->sslConfiguration.localCertificate().isNull()) {
-+        // Require a private key as well.
-+        if (sslContext->sslConfiguration.privateKey().isNull()) {
-+            sslContext->errorStr = QSslSocket::tr("Cannot provide a certificate with no key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+            return;
-+        }
-+
-+        // Load certificate
-+        if (!q_SSL_CTX_use_certificate(sslContext->ctx, (X509 *)sslContext->sslConfiguration.localCertificate().handle())) {
-+            sslContext->errorStr = QSslSocket::tr("Error loading local certificate, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+            return;
-+        }
-+
-+        if (configuration.d->privateKey.algorithm() == QSsl::Opaque) {
-+            sslContext->pkey = reinterpret_cast<EVP_PKEY *>(configuration.d->privateKey.handle());
-+        } else {
-+            // Load private key
-+            sslContext->pkey = q_EVP_PKEY_new();
-+            // before we were using EVP_PKEY_assign_R* functions and did not use EVP_PKEY_free.
-+            // this lead to a memory leak. Now we use the *_set1_* functions which do not
-+            // take ownership of the RSA/DSA key instance because the QSslKey already has ownership.
-+            if (configuration.d->privateKey.algorithm() == QSsl::Rsa)
-+                q_EVP_PKEY_set1_RSA(sslContext->pkey, reinterpret_cast<RSA *>(configuration.d->privateKey.handle()));
-+            else if (configuration.d->privateKey.algorithm() == QSsl::Dsa)
-+                q_EVP_PKEY_set1_DSA(sslContext->pkey, reinterpret_cast<DSA *>(configuration.d->privateKey.handle()));
-+#ifndef OPENSSL_NO_EC
-+            else if (configuration.d->privateKey.algorithm() == QSsl::Ec)
-+                q_EVP_PKEY_set1_EC_KEY(sslContext->pkey, reinterpret_cast<EC_KEY *>(configuration.d->privateKey.handle()));
-+#endif
-+        }
-+
-+        if (!q_SSL_CTX_use_PrivateKey(sslContext->ctx, sslContext->pkey)) {
-+            sslContext->errorStr = QSslSocket::tr("Error loading private key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+            return;
-+        }
-+        if (configuration.d->privateKey.algorithm() == QSsl::Opaque)
-+            sslContext->pkey = 0; // Don't free the private key, it belongs to QSslKey
-+
-+        // Check if the certificate matches the private key.
-+        if (!q_SSL_CTX_check_private_key(sslContext->ctx)) {
-+            sslContext->errorStr = QSslSocket::tr("Private key does not certify public key, %1").arg(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+            return;
-+        }
-+
-+        // If we have any intermediate certificates then we need to add them to our chain
-+        bool first = true;
-+        for (const QSslCertificate &cert : qAsConst(configuration.d->localCertificateChain)) {
-+            if (first) {
-+                first = false;
-+                continue;
-+            }
-+            q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_EXTRA_CHAIN_CERT, 0,
-+                           q_X509_dup(reinterpret_cast<X509 *>(cert.handle())));
-+        }
-+    }
-+
-+    // Initialize peer verification.
-+    if (sslContext->sslConfiguration.peerVerifyMode() == QSslSocket::VerifyNone) {
-+        q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_NONE, 0);
-+    } else {
-+        q_SSL_CTX_set_verify(sslContext->ctx, SSL_VERIFY_PEER, q_X509Callback);
-+    }
-+
-+    // Set verification depth.
-+    if (sslContext->sslConfiguration.peerVerifyDepth() != 0)
-+        q_SSL_CTX_set_verify_depth(sslContext->ctx, sslContext->sslConfiguration.peerVerifyDepth());
-+
-+    // set persisted session if the user set it
-+    if (!configuration.sessionTicket().isEmpty())
-+        sslContext->setSessionASN1(configuration.sessionTicket());
-+
-+    // Set temp DH params
-+    QSslDiffieHellmanParameters dhparams = configuration.diffieHellmanParameters();
-+
-+    if (!dhparams.isValid()) {
-+        sslContext->errorStr = QSslSocket::tr("Diffie-Hellman parameters are not valid");
-+        sslContext->errorCode = QSslError::UnspecifiedError;
-+        return;
-+    }
-+
-+    if (!dhparams.isEmpty()) {
-+        const QByteArray &params = dhparams.d->derData;
-+        const char *ptr = params.constData();
-+        DH *dh = q_d2i_DHparams(NULL, reinterpret_cast<const unsigned char **>(&ptr), params.length());
-+        if (dh == NULL)
-+            qFatal("q_d2i_DHparams failed to convert QSslDiffieHellmanParameters to DER form");
-+        q_SSL_CTX_set_tmp_dh(sslContext->ctx, dh);
-+        q_DH_free(dh);
-+    }
-+
-+#ifndef OPENSSL_NO_EC
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L
-+    if (q_SSLeay() >= 0x10002000L) {
-+        q_SSL_CTX_ctrl(sslContext->ctx, SSL_CTRL_SET_ECDH_AUTO, 1, NULL);
-+    } else
-+#endif
-+    {
-+        // Set temp ECDH params
-+        EC_KEY *ecdh = 0;
-+        ecdh = q_EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
-+        q_SSL_CTX_set_tmp_ecdh(sslContext->ctx, ecdh);
-+        q_EC_KEY_free(ecdh);
-+    }
-+#endif // OPENSSL_NO_EC
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
-+    if (!client)
-+        q_SSL_CTX_use_psk_identity_hint(sslContext->ctx, sslContext->sslConfiguration.preSharedKeyIdentityHint().constData());
-+#endif // OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
-+
-+    const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves();
-+    if (!qcurves.isEmpty()) {
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
-+        // Set the curves to be used
-+        if (q_SSLeay() >= 0x10002000L) {
-+            // SSL_CTX_ctrl wants a non-const pointer as last argument,
-+            // but let's avoid a copy into a temporary array
-+            if (!q_SSL_CTX_ctrl(sslContext->ctx,
-+                                SSL_CTRL_SET_CURVES,
-+                                qcurves.size(),
-+                                const_cast<int *>(reinterpret_cast<const int *>(qcurves.data())))) {
-+                sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocketBackendPrivate::getErrorsFromOpenSsl());
-+                sslContext->errorCode = QSslError::UnspecifiedError;
-+            }
-+        } else
-+#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
-+        {
-+            // specific curves requested, but not possible to set -> error
-+            sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version too old, need at least v1.0.2"));
-+            sslContext->errorCode = QSslError::UnspecifiedError;
-+        }
-+    }
-+}
-+
-+QT_END_NAMESPACE
-diff --git a/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp b/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp
-index 90687b05c5..5ebad822f1 100644
---- a/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp
-+++ b/src/network/ssl/qssldiffiehellmanparameters_openssl.cpp
-@@ -1,6 +1,7 @@
- /****************************************************************************
- **
- ** Copyright (C) 2015 Mikkel Krautz <mikkel@krautz.dk>
-+** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtNetwork module of the Qt Toolkit.
-@@ -50,8 +51,8 @@
- #include <QtCore/qdebug.h>
- #endif
- 
--// For q_BN_is_word.
- #include <openssl/bn.h>
-+#include <openssl/dh.h>
- 
- QT_BEGIN_NAMESPACE
- 
-@@ -62,13 +63,6 @@ static bool isSafeDH(DH *dh)
- 
-     QSslSocketPrivate::ensureInitialized();
- 
--    // Mark p < 1024 bits as unsafe.
--    if (q_BN_num_bits(dh->p) < 1024) {
--        return false;
--    }
--
--    if (q_DH_check(dh, &status) != 1)
--        return false;
- 
-     // From https://wiki.openssl.org/index.php/Diffie-Hellman_parameters:
-     //
-@@ -81,11 +75,39 @@ static bool isSafeDH(DH *dh)
-     //     Without the test, the IETF parameters would
-     //     fail validation. For details, see Diffie-Hellman
-     //     Parameter Check (when g = 2, must p mod 24 == 11?).
-+#if QT_CONFIG(opensslv11)
-+    // Mark p < 1024 bits as unsafe.
-+    if (q_DH_bits(dh) < 1024)
-+        return false;
-+
-+    if (q_DH_check(dh, &status) != 1)
-+        return false;
-+
-+    const BIGNUM *p = nullptr;
-+    const BIGNUM *q = nullptr;
-+    const BIGNUM *g = nullptr;
-+    q_DH_get0_pqg(dh, &p, &q, &g);
-+
-+    if (q_BN_is_word(const_cast<BIGNUM *>(g), DH_GENERATOR_2)) {
-+        long residue = q_BN_mod_word(p, 24);
-+        if (residue == 11 || residue == 23)
-+            status &= ~DH_NOT_SUITABLE_GENERATOR;
-+    }
-+
-+#else
-+    // Mark p < 1024 bits as unsafe.
-+    if (q_BN_num_bits(dh->p) < 1024)
-+        return false;
-+
-+    if (q_DH_check(dh, &status) != 1)
-+        return false;
-+
-     if (q_BN_is_word(dh->g, DH_GENERATOR_2)) {
-         long residue = q_BN_mod_word(dh->p, 24);
-         if (residue == 11 || residue == 23)
-             status &= ~DH_NOT_SUITABLE_GENERATOR;
-     }
-+#endif
- 
-     bad |= DH_CHECK_P_NOT_PRIME;
-     bad |= DH_CHECK_P_NOT_SAFE_PRIME;
-diff --git a/src/network/ssl/qsslellipticcurve.h b/src/network/ssl/qsslellipticcurve.h
-index 231566063e..57dda19bad 100644
---- a/src/network/ssl/qsslellipticcurve.h
-+++ b/src/network/ssl/qsslellipticcurve.h
-@@ -80,6 +80,7 @@ private:
-     friend Q_DECL_CONSTEXPR bool operator==(QSslEllipticCurve lhs, QSslEllipticCurve rhs) Q_DECL_NOTHROW;
-     friend Q_DECL_CONSTEXPR uint qHash(QSslEllipticCurve curve, uint seed) Q_DECL_NOTHROW;
- 
-+    friend class QSslContext;
-     friend class QSslSocketPrivate;
-     friend class QSslSocketBackendPrivate;
- };
-diff --git a/src/network/ssl/qsslellipticcurve_openssl.cpp b/src/network/ssl/qsslellipticcurve_openssl.cpp
-index e18197b703..8cd14837f0 100644
---- a/src/network/ssl/qsslellipticcurve_openssl.cpp
-+++ b/src/network/ssl/qsslellipticcurve_openssl.cpp
-@@ -1,6 +1,7 @@
- /****************************************************************************
- **
- ** Copyright (C) 2014 Governikus GmbH & Co. KG.
-+** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtNetwork module of the Qt Toolkit.
-@@ -78,17 +79,18 @@ QSslEllipticCurve QSslEllipticCurve::fromShortName(const QString &name)
-     QSslEllipticCurve result;
- 
- #ifndef OPENSSL_NO_EC
--    const QByteArray curveNameLatin1 = name.toLatin1();
- 
-+    const QByteArray curveNameLatin1 = name.toLatin1();
-     int nid = q_OBJ_sn2nid(curveNameLatin1.data());
- 
- #if OPENSSL_VERSION_NUMBER >= 0x10002000L
--    if (nid == 0 && q_SSLeay() >= 0x10002000L)
-+    if (nid == 0 && QSslSocket::sslLibraryVersionNumber() >= 0x10002000L)
-         nid = q_EC_curve_nist2nid(curveNameLatin1.data());
- #endif // OPENSSL_VERSION_NUMBER >= 0x10002000L
- 
-     result.id = nid;
--#endif
-+
-+#endif // !OPENSSL_NO_EC
- 
-     return result;
- }
-diff --git a/src/network/ssl/qsslkey_openssl.cpp b/src/network/ssl/qsslkey_openssl.cpp
-index 26119023d1..2b03af9441 100644
---- a/src/network/ssl/qsslkey_openssl.cpp
-+++ b/src/network/ssl/qsslkey_openssl.cpp
-@@ -1,6 +1,7 @@
- /****************************************************************************
- **
--** Copyright (C) 2016 The Qt Company Ltd.
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtNetwork module of the Qt Toolkit.
-@@ -87,33 +88,32 @@ bool QSslKeyPrivate::fromEVP_PKEY(EVP_PKEY *pkey)
-     if (pkey == nullptr)
-         return false;
- 
--    if (pkey->type == EVP_PKEY_RSA) {
-+#if QT_CONFIG(opensslv11)
-+    const int keyType = q_EVP_PKEY_type(q_EVP_PKEY_base_id(pkey));
-+#else
-+    const int keyType = pkey->type;
-+#endif
-+    if (keyType == EVP_PKEY_RSA) {
-         isNull = false;
-         algorithm = QSsl::Rsa;
-         type = QSsl::PrivateKey;
- 
--        rsa = q_RSA_new();
--        memcpy(rsa, q_EVP_PKEY_get1_RSA(pkey), sizeof(RSA));
--
-+        rsa = q_EVP_PKEY_get1_RSA(pkey);
-         return true;
--    }
--    else if (pkey->type == EVP_PKEY_DSA) {
-+    } else if (keyType == EVP_PKEY_DSA) {
-         isNull = false;
-         algorithm = QSsl::Dsa;
-         type = QSsl::PrivateKey;
- 
--        dsa = q_DSA_new();
--        memcpy(dsa, q_EVP_PKEY_get1_DSA(pkey), sizeof(DSA));
--
-+        dsa = q_EVP_PKEY_get1_DSA(pkey);
-         return true;
-     }
- #ifndef OPENSSL_NO_EC
--    else if (pkey->type == EVP_PKEY_EC) {
-+    else if (keyType == EVP_PKEY_EC) {
-         isNull = false;
-         algorithm = QSsl::Ec;
-         type = QSsl::PrivateKey;
--        ec = q_EC_KEY_dup(q_EVP_PKEY_get1_EC_KEY(pkey));
--
-+        ec = q_EVP_PKEY_get1_EC_KEY(pkey);
-         return true;
-     }
- #endif
-@@ -181,8 +181,8 @@ int QSslKeyPrivate::length() const
-         return -1;
- 
-     switch (algorithm) {
--        case QSsl::Rsa: return q_BN_num_bits(rsa->n);
--        case QSsl::Dsa: return q_BN_num_bits(dsa->p);
-+        case QSsl::Rsa: return q_RSA_bits(rsa);
-+        case QSsl::Dsa: return q_DSA_bits(dsa);
- #ifndef OPENSSL_NO_EC
-         case QSsl::Ec: return q_EC_GROUP_get_degree(q_EC_KEY_get0_group(ec));
- #endif
-@@ -276,7 +276,13 @@ Qt::HANDLE QSslKeyPrivate::handle() const
- 
- static QByteArray doCrypt(QSslKeyPrivate::Cipher cipher, const QByteArray &data, const QByteArray &key, const QByteArray &iv, int enc)
- {
--    EVP_CIPHER_CTX ctx;
-+#if QT_CONFIG(opensslv11)
-+    EVP_CIPHER_CTX *ctx = q_EVP_CIPHER_CTX_new();
-+#else
-+    EVP_CIPHER_CTX evpCipherContext;
-+    EVP_CIPHER_CTX *ctx = &evpCipherContext;
-+#endif
-+
-     const EVP_CIPHER* type = 0;
-     int i = 0, len = 0;
- 
-@@ -294,21 +300,44 @@ static QByteArray doCrypt(QSslKeyPrivate::Cipher cipher, const QByteArray &data,
- 
-     QByteArray output;
-     output.resize(data.size() + EVP_MAX_BLOCK_LENGTH);
--    q_EVP_CIPHER_CTX_init(&ctx);
--    q_EVP_CipherInit(&ctx, type, NULL, NULL, enc);
--    q_EVP_CIPHER_CTX_set_key_length(&ctx, key.size());
-+
-+#if QT_CONFIG(opensslv11)
-+    q_EVP_CIPHER_CTX_reset(ctx);
-+#else
-+    q_EVP_CIPHER_CTX_init(ctx);
-+#endif
-+
-+    q_EVP_CipherInit(ctx, type, NULL, NULL, enc);
-+    q_EVP_CIPHER_CTX_set_key_length(ctx, key.size());
-     if (cipher == QSslKeyPrivate::Rc2Cbc)
--        q_EVP_CIPHER_CTX_ctrl(&ctx, EVP_CTRL_SET_RC2_KEY_BITS, 8 * key.size(), NULL);
--    q_EVP_CipherInit(&ctx, NULL,
-+        q_EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_SET_RC2_KEY_BITS, 8 * key.size(), NULL);
-+
-+#if QT_CONFIG(opensslv11)
-+    // EVP_CipherInit in 1.1 resets the context thus making the calls above useless.
-+    // We call EVP_CipherInit_ex instead.
-+    q_EVP_CipherInit_ex(ctx, nullptr, nullptr,
-+                        reinterpret_cast<const unsigned char *>(key.constData()),
-+                        reinterpret_cast<const unsigned char *>(iv.constData()),
-+                        enc);
-+#else
-+    q_EVP_CipherInit(ctx, NULL,
-         reinterpret_cast<const unsigned char *>(key.constData()),
-         reinterpret_cast<const unsigned char *>(iv.constData()), enc);
--    q_EVP_CipherUpdate(&ctx,
-+#endif // opensslv11
-+
-+    q_EVP_CipherUpdate(ctx,
-         reinterpret_cast<unsigned char *>(output.data()), &len,
-         reinterpret_cast<const unsigned char *>(data.constData()), data.size());
--    q_EVP_CipherFinal(&ctx,
-+    q_EVP_CipherFinal(ctx,
-         reinterpret_cast<unsigned char *>(output.data()) + len, &i);
-     len += i;
--    q_EVP_CIPHER_CTX_cleanup(&ctx);
-+
-+#if QT_CONFIG(opensslv11)
-+    q_EVP_CIPHER_CTX_reset(ctx);
-+    q_EVP_CIPHER_CTX_free(ctx);
-+#else
-+    q_EVP_CIPHER_CTX_cleanup(ctx);
-+#endif
- 
-     return output.left(len);
- }
-diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp
-index f5b493897e..45cea490fc 100644
---- a/src/network/ssl/qsslsocket_openssl.cpp
-+++ b/src/network/ssl/qsslsocket_openssl.cpp
-@@ -1,6 +1,6 @@
- /****************************************************************************
- **
--** Copyright (C) 2016 The Qt Company Ltd.
-+** Copyright (C) 2017 The Qt Company Ltd.
- ** Copyright (C) 2014 Governikus GmbH & Co. KG
- ** Contact: https://www.qt.io/licensing/
- **
-@@ -97,70 +97,6 @@ bool QSslSocketPrivate::s_loadRootCertsOnDemand = false;
- int QSslSocketBackendPrivate::s_indexForSSLExtraData = -1;
- #endif
- 
--/* \internal
--
--    From OpenSSL's thread(3) manual page:
--
--    OpenSSL can safely be used in multi-threaded applications provided that at
--    least two callback functions are set.
--
--    locking_function(int mode, int n, const char *file, int line) is needed to
--    perform locking on shared data structures.  (Note that OpenSSL uses a
--    number of global data structures that will be implicitly shared
--    whenever multiple threads use OpenSSL.)  Multi-threaded
--    applications will crash at random if it is not set.  ...
--    ...
--    id_function(void) is a function that returns a thread ID. It is not
--    needed on Windows nor on platforms where getpid() returns a different
--    ID for each thread (most notably Linux)
--*/
--class QOpenSslLocks
--{
--public:
--    inline QOpenSslLocks()
--        : initLocker(QMutex::Recursive),
--          locksLocker(QMutex::Recursive)
--    {
--        QMutexLocker locker(&locksLocker);
--        int numLocks = q_CRYPTO_num_locks();
--        locks = new QMutex *[numLocks];
--        memset(locks, 0, numLocks * sizeof(QMutex *));
--    }
--    inline ~QOpenSslLocks()
--    {
--        QMutexLocker locker(&locksLocker);
--        for (int i = 0; i < q_CRYPTO_num_locks(); ++i)
--            delete locks[i];
--        delete [] locks;
--
--        QSslSocketPrivate::deinitialize();
--    }
--    inline QMutex *lock(int num)
--    {
--        QMutexLocker locker(&locksLocker);
--        QMutex *tmp = locks[num];
--        if (!tmp)
--            tmp = locks[num] = new QMutex(QMutex::Recursive);
--        return tmp;
--    }
--
--    QMutex *globalLock()
--    {
--        return &locksLocker;
--    }
--
--    QMutex *initLock()
--    {
--        return &initLocker;
--    }
--
--private:
--    QMutex initLocker;
--    QMutex locksLocker;
--    QMutex **locks;
--};
--Q_GLOBAL_STATIC(QOpenSslLocks, openssl_locks)
--
- QString QSslSocketBackendPrivate::getErrorsFromOpenSsl()
- {
-     QString errorString;
-@@ -175,20 +111,6 @@ QString QSslSocketBackendPrivate::getErrorsFromOpenSsl()
- }
- 
- extern "C" {
--static void locking_function(int mode, int lockNumber, const char *, int)
--{
--    QMutex *mutex = openssl_locks()->lock(lockNumber);
--
--    // Lock or unlock it
--    if (mode & CRYPTO_LOCK)
--        mutex->lock();
--    else
--        mutex->unlock();
--}
--static unsigned long id_function()
--{
--    return (quintptr)QThread::currentThreadId();
--}
- 
- #if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
- static unsigned int q_ssl_psk_client_callback(SSL *ssl,
-@@ -227,7 +149,7 @@ QSslSocketBackendPrivate::~QSslSocketBackendPrivate()
-     destroySslContext();
- }
- 
--QSslCipher QSslSocketBackendPrivate::QSslCipher_from_SSL_CIPHER(SSL_CIPHER *cipher)
-+QSslCipher QSslSocketBackendPrivate::QSslCipher_from_SSL_CIPHER(const SSL_CIPHER *cipher)
- {
-     QSslCipher ciph;
- 
-@@ -283,6 +205,7 @@ struct QSslErrorList
-     QMutex mutex;
-     QVector<QSslErrorEntry> errors;
- };
-+
- Q_GLOBAL_STATIC(QSslErrorList, _q_sslErrorList)
- 
- int q_X509Callback(int ok, X509_STORE_CTX *ctx)
-@@ -312,7 +235,7 @@ int q_X509Callback(int ok, X509_STORE_CTX *ctx)
-         }
- #endif
-     }
--    // Always return OK to allow verification to continue. We're handle the
-+    // Always return OK to allow verification to continue. We handle the
-     // errors gracefully after collecting all errors, after verification has
-     // completed.
-     return 1;
-@@ -397,7 +320,7 @@ bool QSslSocketBackendPrivate::initSslContext()
-     if (configuration.protocol != QSsl::SslV2 &&
-         configuration.protocol != QSsl::SslV3 &&
-         configuration.protocol != QSsl::UnknownProtocol &&
--        mode == QSslSocket::SslClientMode && q_SSLeay() >= 0x00090806fL) {
-+        mode == QSslSocket::SslClientMode && QSslSocket::sslLibraryVersionNumber() >= 0x00090806fL) {
-         // Set server hostname on TLS extension. RFC4366 section 3.1 requires it in ACE format.
-         QString tlsHostName = verificationPeerName.isEmpty() ? q->peerName() : verificationPeerName;
-         if (tlsHostName.isEmpty())
-@@ -438,13 +361,13 @@ bool QSslSocketBackendPrivate::initSslContext()
- 
- #if OPENSSL_VERSION_NUMBER >= 0x10001000L
-     // Save a pointer to this object into the SSL structure.
--    if (q_SSLeay() >= 0x10001000L)
-+    if (QSslSocket::sslLibraryVersionNumber() >= 0x10001000L)
-         q_SSL_set_ex_data(ssl, s_indexForSSLExtraData, this);
- #endif
- 
- #if OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
-     // Set the client callback for PSK
--    if (q_SSLeay() >= 0x10001000L) {
-+    if (QSslSocket::sslLibraryVersionNumber() >= 0x10001000L) {
-         if (mode == QSslSocket::SslClientMode)
-             q_SSL_set_psk_client_callback(ssl, &q_ssl_psk_client_callback);
-         else if (mode == QSslSocket::SslServerMode)
-@@ -464,16 +387,6 @@ void QSslSocketBackendPrivate::destroySslContext()
-     sslContextPointer.clear();
- }
- 
--/*!
--    \internal
--*/
--void QSslSocketPrivate::deinitialize()
--{
--    q_CRYPTO_set_id_callback(0);
--    q_CRYPTO_set_locking_callback(0);
--    q_ERR_free_strings();
--}
--
- /*!
-     \internal
- 
-@@ -486,91 +399,6 @@ bool QSslSocketPrivate::supportsSsl()
-     return ensureLibraryLoaded();
- }
- 
--bool QSslSocketPrivate::ensureLibraryLoaded()
--{
--    if (!q_resolveOpenSslSymbols())
--        return false;
--
--    // Check if the library itself needs to be initialized.
--    QMutexLocker locker(openssl_locks()->initLock());
--
--    if (!s_libraryLoaded) {
--        s_libraryLoaded = true;
--
--        // Initialize OpenSSL.
--        q_CRYPTO_set_id_callback(id_function);
--        q_CRYPTO_set_locking_callback(locking_function);
--        if (q_SSL_library_init() != 1)
--            return false;
--        q_SSL_load_error_strings();
--        q_OpenSSL_add_all_algorithms();
--
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L
--        if (q_SSLeay() >= 0x10001000L)
--            QSslSocketBackendPrivate::s_indexForSSLExtraData = q_SSL_get_ex_new_index(0L, NULL, NULL, NULL, NULL);
--#endif
--
--        // Initialize OpenSSL's random seed.
--        if (!q_RAND_status()) {
--            qWarning("Random number generator not seeded, disabling SSL support");
--            return false;
--        }
--    }
--    return true;
--}
--
--void QSslSocketPrivate::ensureCiphersAndCertsLoaded()
--{
--    QMutexLocker locker(openssl_locks()->initLock());
--    if (s_loadedCiphersAndCerts)
--        return;
--    s_loadedCiphersAndCerts = true;
--
--    resetDefaultCiphers();
--    resetDefaultEllipticCurves();
--
--#if QT_CONFIG(library)
--    //load symbols needed to receive certificates from system store
--#if defined(Q_OS_WIN)
--    HINSTANCE hLib = LoadLibraryW(L"Crypt32");
--    if (hLib) {
--        ptrCertOpenSystemStoreW = (PtrCertOpenSystemStoreW)GetProcAddress(hLib, "CertOpenSystemStoreW");
--        ptrCertFindCertificateInStore = (PtrCertFindCertificateInStore)GetProcAddress(hLib, "CertFindCertificateInStore");
--        ptrCertCloseStore = (PtrCertCloseStore)GetProcAddress(hLib, "CertCloseStore");
--        if (!ptrCertOpenSystemStoreW || !ptrCertFindCertificateInStore || !ptrCertCloseStore)
--            qCWarning(lcSsl, "could not resolve symbols in crypt32 library"); // should never happen
--    } else {
--        qCWarning(lcSsl, "could not load crypt32 library"); // should never happen
--    }
--#elif defined(Q_OS_QNX)
--    s_loadRootCertsOnDemand = true;
--#elif defined(Q_OS_UNIX) && !defined(Q_OS_MAC)
--    // check whether we can enable on-demand root-cert loading (i.e. check whether the sym links are there)
--    QList<QByteArray> dirs = unixRootCertDirectories();
--    QStringList symLinkFilter;
--    symLinkFilter << QLatin1String("[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f].[0-9]");
--    for (int a = 0; a < dirs.count(); ++a) {
--        QDirIterator iterator(QLatin1String(dirs.at(a)), symLinkFilter, QDir::Files);
--        if (iterator.hasNext()) {
--            s_loadRootCertsOnDemand = true;
--            break;
--        }
--    }
--#endif
--#endif // QT_CONFIG(library)
--    // if on-demand loading was not enabled, load the certs now
--    if (!s_loadRootCertsOnDemand)
--        setDefaultCaCertificates(systemCaCertificates());
--#ifdef Q_OS_WIN
--    //Enabled for fetching additional root certs from windows update on windows 6+
--    //This flag is set false by setDefaultCaCertificates() indicating the app uses
--    //its own cert bundle rather than the system one.
--    //Same logic that disables the unix on demand cert loading.
--    //Unlike unix, we do preload the certificates from the cert store.
--    if ((QSysInfo::windowsVersion() & QSysInfo::WV_NT_based) >= QSysInfo::WV_6_0)
--        s_loadRootCertsOnDemand = true;
--#endif
--}
- 
- /*!
-     \internal
-@@ -587,26 +415,6 @@ void QSslSocketPrivate::ensureInitialized()
-     ensureCiphersAndCertsLoaded();
- }
- 
--long QSslSocketPrivate::sslLibraryVersionNumber()
--{
--    if (!supportsSsl())
--        return 0;
--
--    return q_SSLeay();
--}
--
--QString QSslSocketPrivate::sslLibraryVersionString()
--{
--    if (!supportsSsl())
--        return QString();
--
--    const char *versionString = q_SSLeay_version(SSLEAY_VERSION);
--    if (!versionString)
--        return QString();
--
--    return QString::fromLatin1(versionString);
--}
--
- long QSslSocketPrivate::sslLibraryBuildVersionNumber()
- {
-     return OPENSSL_VERSION_NUMBER;
-@@ -628,7 +436,11 @@ QString QSslSocketPrivate::sslLibraryBuildVersionString()
- */
- void QSslSocketPrivate::resetDefaultCiphers()
- {
-+#if QT_CONFIG(opensslv11)
-+    SSL_CTX *myCtx = q_SSL_CTX_new(q_TLS_client_method());
-+#else
-     SSL_CTX *myCtx = q_SSL_CTX_new(q_SSLv23_client_method());
-+#endif
-     SSL *mySsl = q_SSL_new(myCtx);
- 
-     QList<QSslCipher> ciphers;
-@@ -664,7 +476,7 @@ void QSslSocketPrivate::resetDefaultEllipticCurves()
-     QVector<QSslEllipticCurve> curves;
- 
- #ifndef OPENSSL_NO_EC
--    const size_t curveCount = q_EC_get_builtin_curves(NULL, 0);
-+    const size_t curveCount = q_EC_get_builtin_curves(nullptr, 0);
- 
-     QVarLengthArray<EC_builtin_curve> builtinCurves(static_cast<int>(curveCount));
- 
-@@ -698,13 +510,14 @@ QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates()
-     if (ptrCertOpenSystemStoreW && ptrCertFindCertificateInStore && ptrCertCloseStore) {
-         HCERTSTORE hSystemStore;
-         hSystemStore = ptrCertOpenSystemStoreW(0, L"ROOT");
--        if(hSystemStore) {
--            PCCERT_CONTEXT pc = NULL;
--            while(1) {
--                pc = ptrCertFindCertificateInStore( hSystemStore, X509_ASN_ENCODING, 0, CERT_FIND_ANY, NULL, pc);
--                if(!pc)
-+        if (hSystemStore) {
-+            PCCERT_CONTEXT pc = nullptr;
-+            while (1) {
-+                pc = ptrCertFindCertificateInStore(hSystemStore, X509_ASN_ENCODING, 0, CERT_FIND_ANY, nullptr, pc);
-+                if (!pc)
-                     break;
--                QByteArray der((const char *)(pc->pbCertEncoded), static_cast<int>(pc->cbCertEncoded));
-+                QByteArray der(reinterpret_cast<const char *>(pc->pbCertEncoded),
-+                               static_cast<int>(pc->cbCertEncoded));
-                 QSslCertificate cert(der, QSsl::Der);
-                 systemCerts.append(cert);
-             }
-@@ -1504,14 +1317,8 @@ QSslCipher QSslSocketBackendPrivate::sessionCipher() const
- {
-     if (!ssl)
-         return QSslCipher();
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--    // FIXME This is fairly evil, but needed to keep source level compatibility
--    // with the OpenSSL 0.9.x implementation at maximum -- some other functions
--    // don't take a const SSL_CIPHER* when they should
--    SSL_CIPHER *sessionCipher = const_cast<SSL_CIPHER *>(q_SSL_get_current_cipher(ssl));
--#else
--    SSL_CIPHER *sessionCipher = q_SSL_get_current_cipher(ssl);
--#endif
-+
-+    const SSL_CIPHER *sessionCipher = q_SSL_get_current_cipher(ssl);
-     return sessionCipher ? QSslCipher_from_SSL_CIPHER(sessionCipher) : QSslCipher();
- }
- 
-@@ -1537,112 +1344,6 @@ QSsl::SslProtocol QSslSocketBackendPrivate::sessionProtocol() const
-     return QSsl::UnknownProtocol;
- }
- 
--void QSslSocketBackendPrivate::continueHandshake()
--{
--    Q_Q(QSslSocket);
--    // if we have a max read buffer size, reset the plain socket's to match
--    if (readBufferMaxSize)
--        plainSocket->setReadBufferSize(readBufferMaxSize);
--
--    if (q_SSL_ctrl((ssl), SSL_CTRL_GET_SESSION_REUSED, 0, NULL))
--        configuration.peerSessionShared = true;
--
--#ifdef QT_DECRYPT_SSL_TRAFFIC
--    if (ssl->session && ssl->s3) {
--        const char *mk = reinterpret_cast<const char *>(ssl->session->master_key);
--        QByteArray masterKey(mk, ssl->session->master_key_length);
--        const char *random = reinterpret_cast<const char *>(ssl->s3->client_random);
--        QByteArray clientRandom(random, SSL3_RANDOM_SIZE);
--
--        // different format, needed for e.g. older Wireshark versions:
--//        const char *sid = reinterpret_cast<const char *>(ssl->session->session_id);
--//        QByteArray sessionID(sid, ssl->session->session_id_length);
--//        QByteArray debugLineRSA("RSA Session-ID:");
--//        debugLineRSA.append(sessionID.toHex().toUpper());
--//        debugLineRSA.append(" Master-Key:");
--//        debugLineRSA.append(masterKey.toHex().toUpper());
--//        debugLineRSA.append("\n");
--
--        QByteArray debugLineClientRandom("CLIENT_RANDOM ");
--        debugLineClientRandom.append(clientRandom.toHex().toUpper());
--        debugLineClientRandom.append(" ");
--        debugLineClientRandom.append(masterKey.toHex().toUpper());
--        debugLineClientRandom.append("\n");
--
--        QString sslKeyFile = QDir::tempPath() + QLatin1String("/qt-ssl-keys");
--        QFile file(sslKeyFile);
--        if (!file.open(QIODevice::Append))
--            qCWarning(lcSsl) << "could not open file" << sslKeyFile << "for appending";
--        if (!file.write(debugLineClientRandom))
--            qCWarning(lcSsl) << "could not write to file" << sslKeyFile;
--        file.close();
--    } else {
--        qCWarning(lcSsl, "could not decrypt SSL traffic");
--    }
--#endif
--
--    // Cache this SSL session inside the QSslContext
--    if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionSharing)) {
--        if (!sslContextPointer->cacheSession(ssl)) {
--            sslContextPointer.clear(); // we could not cache the session
--        } else {
--            // Cache the session for permanent usage as well
--            if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionPersistence)) {
--                if (!sslContextPointer->sessionASN1().isEmpty())
--                    configuration.sslSession = sslContextPointer->sessionASN1();
--                configuration.sslSessionTicketLifeTimeHint = sslContextPointer->sessionTicketLifeTimeHint();
--            }
--        }
--    }
--
--#if OPENSSL_VERSION_NUMBER >= 0x1000100fL && !defined(OPENSSL_NO_NEXTPROTONEG)
--
--    configuration.nextProtocolNegotiationStatus = sslContextPointer->npnContext().status;
--    if (sslContextPointer->npnContext().status == QSslConfiguration::NextProtocolNegotiationUnsupported) {
--        // we could not agree -> be conservative and use HTTP/1.1
--        configuration.nextNegotiatedProtocol = QByteArrayLiteral("http/1.1");
--    } else {
--        const unsigned char *proto = 0;
--        unsigned int proto_len = 0;
--#if OPENSSL_VERSION_NUMBER >= 0x10002000L
--        if (q_SSLeay() >= 0x10002000L) {
--            q_SSL_get0_alpn_selected(ssl, &proto, &proto_len);
--            if (proto_len && mode == QSslSocket::SslClientMode) {
--                // Client does not have a callback that sets it ...
--                configuration.nextProtocolNegotiationStatus = QSslConfiguration::NextProtocolNegotiationNegotiated;
--            }
--        }
--
--        if (!proto_len) { // Test if NPN was more lucky ...
--#else
--        {
--#endif
--            q_SSL_get0_next_proto_negotiated(ssl, &proto, &proto_len);
--        }
--
--        if (proto_len)
--            configuration.nextNegotiatedProtocol = QByteArray(reinterpret_cast<const char *>(proto), proto_len);
--        else
--            configuration.nextNegotiatedProtocol.clear();
--    }
--#endif // OPENSSL_VERSION_NUMBER >= 0x1000100fL ...
--
--#if OPENSSL_VERSION_NUMBER >= 0x10002000L
--    if (q_SSLeay() >= 0x10002000L && mode == QSslSocket::SslClientMode) {
--        EVP_PKEY *key;
--        if (q_SSL_get_server_tmp_key(ssl, &key))
--            configuration.ephemeralServerKey = QSslKey(key, QSsl::PublicKey);
--    }
--#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L ...
--
--    connectionEncrypted = true;
--    emit q->encrypted();
--    if (autoStartHandshake && pendingClose) {
--        pendingClose = false;
--        q->disconnectFromHost();
--    }
--}
--
- QList<QSslCertificate> QSslSocketBackendPrivate::STACKOFX509_to_QSslCertificates(STACK_OF(X509) *x509)
- {
-     ensureInitialized();
-@@ -1696,12 +1397,12 @@ QList<QSslError> QSslSocketBackendPrivate::verify(const QList<QSslCertificate> &
-     QMutexLocker sslErrorListMutexLocker(&_q_sslErrorList()->mutex);
- 
-     // Register a custom callback to get all verification errors.
--    X509_STORE_set_verify_cb_func(certStore, q_X509Callback);
-+    q_X509_STORE_set_verify_cb(certStore, q_X509Callback);
- 
-     // Build the chain of intermediate certificates
-     STACK_OF(X509) *intermediates = 0;
-     if (certificateChain.length() > 1) {
--        intermediates = (STACK_OF(X509) *) q_sk_new_null();
-+        intermediates = (STACK_OF(X509) *) q_OPENSSL_sk_new_null();
- 
-         if (!intermediates) {
-             q_X509_STORE_free(certStore);
-@@ -1715,11 +1416,8 @@ QList<QSslError> QSslSocketBackendPrivate::verify(const QList<QSslCertificate> &
-                 first = false;
-                 continue;
-             }
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--            q_sk_push( (_STACK *)intermediates, reinterpret_cast<X509 *>(cert.handle()));
--#else
--            q_sk_push( (STACK *)intermediates, reinterpret_cast<char *>(cert.handle()));
--#endif
-+
-+            q_OPENSSL_sk_push((OPENSSL_STACK *)intermediates, reinterpret_cast<X509 *>(cert.handle()));
-         }
-     }
- 
-@@ -1743,11 +1441,7 @@ QList<QSslError> QSslSocketBackendPrivate::verify(const QList<QSslCertificate> &
-     (void) q_X509_verify_cert(storeContext);
- 
-     q_X509_STORE_CTX_free(storeContext);
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--    q_sk_free( (_STACK *) intermediates);
--#else
--    q_sk_free( (STACK *) intermediates);
--#endif
-+    q_OPENSSL_sk_free((OPENSSL_STACK *)intermediates);
- 
-     // Now process the errors
-     const auto errorList = std::move(_q_sslErrorList()->errors);
-@@ -1821,7 +1515,8 @@ bool QSslSocketBackendPrivate::importPkcs12(QIODevice *device,
-     // Convert to Qt types
-     if (!key->d->fromEVP_PKEY(pkey)) {
-         qCWarning(lcSsl, "Unable to convert private key");
--        q_sk_pop_free(reinterpret_cast<STACK *>(ca), reinterpret_cast<void(*)(void*)>(q_sk_free));
-+        q_OPENSSL_sk_pop_free(reinterpret_cast<OPENSSL_STACK *>(ca),
-+                              reinterpret_cast<void (*)(void *)>(q_OPENSSL_sk_free));
-         q_X509_free(x509);
-         q_EVP_PKEY_free(pkey);
-         q_PKCS12_free(p12);
-@@ -1836,7 +1531,11 @@ bool QSslSocketBackendPrivate::importPkcs12(QIODevice *device,
-         *caCertificates = QSslSocketBackendPrivate::STACKOFX509_to_QSslCertificates(ca);
- 
-     // Clean up
--    q_sk_pop_free(reinterpret_cast<STACK *>(ca), reinterpret_cast<void(*)(void*)>(q_sk_free));
-+    // TODO: verify ASAP, in the past we had sk_pop_free with q_OPENSSL_sk_free
-+    // which seems to be blatantly wrong and even crashes with 1.1.
-+    q_OPENSSL_sk_pop_free(reinterpret_cast<OPENSSL_STACK *>(ca),
-+                          reinterpret_cast<void (*)(void *)>(q_X509_free));
-+
-     q_X509_free(x509);
-     q_EVP_PKEY_free(pkey);
-     q_PKCS12_free(p12);
-diff --git a/src/network/ssl/qsslsocket_openssl11.cpp b/src/network/ssl/qsslsocket_openssl11.cpp
-new file mode 100644
-index 0000000000..b6d18943a5
---- /dev/null
-+++ b/src/network/ssl/qsslsocket_openssl11.cpp
-@@ -0,0 +1,285 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Copyright (C) 2014 Governikus GmbH & Co. KG
-+** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the QtNetwork module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+/****************************************************************************
-+**
-+** In addition, as a special exception, the copyright holders listed above give
-+** permission to link the code of its release of Qt with the OpenSSL project's
-+** "OpenSSL" library (or modified versions of the "OpenSSL" library that use the
-+** same license as the original version), and distribute the linked executables.
-+**
-+** You must comply with the GNU General Public License version 2 in all
-+** respects for all of the code used other than the "OpenSSL" code.  If you
-+** modify this file, you may extend this exception to your version of the file,
-+** but you are not obligated to do so.  If you do not wish to do so, delete
-+** this exception statement from your version of this file.
-+**
-+****************************************************************************/
-+
-+//#define QT_DECRYPT_SSL_TRAFFIC
-+
-+#include "qssl_p.h"
-+#include "qsslsocket_openssl_p.h"
-+#include "qsslsocket_openssl_symbols_p.h"
-+#include "qsslsocket.h"
-+#include "qsslkey.h"
-+
-+#include <QtCore/qdebug.h>
-+#include <QtCore/qdir.h>
-+#include <QtCore/qdiriterator.h>
-+#include <QtCore/qfile.h>
-+#include <QtCore/qmutex.h>
-+#include <QtCore/qlibrary.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+Q_GLOBAL_STATIC_WITH_ARGS(QMutex, qt_opensslInitMutex, (QMutex::Recursive))
-+
-+/*!
-+    \internal
-+*/
-+void QSslSocketPrivate::deinitialize()
-+{
-+    // This function exists only for compatibility with the pre-11 code,
-+    // where deinitialize() actually does some cleanup. To be discarded
-+    // once we retire < 1.1.
-+}
-+
-+bool QSslSocketPrivate::ensureLibraryLoaded()
-+{
-+    if (!q_resolveOpenSslSymbols())
-+        return false;
-+
-+    const QMutexLocker locker(qt_opensslInitMutex);
-+
-+    if (!s_libraryLoaded) {
-+        s_libraryLoaded = true;
-+
-+        // Initialize OpenSSL.
-+        if (q_OPENSSL_init_ssl(0, nullptr) != 1)
-+            return false;
-+        q_SSL_load_error_strings();
-+        q_OpenSSL_add_all_algorithms();
-+
-+        QSslSocketBackendPrivate::s_indexForSSLExtraData
-+            = q_CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_SSL, 0L, nullptr, nullptr,
-+                                        nullptr, nullptr);
-+
-+        // Initialize OpenSSL's random seed.
-+        if (!q_RAND_status()) {
-+            qWarning("Random number generator not seeded, disabling SSL support");
-+            return false;
-+        }
-+    }
-+    return true;
-+}
-+
-+void QSslSocketPrivate::ensureCiphersAndCertsLoaded()
-+{
-+    const QMutexLocker locker(qt_opensslInitMutex);
-+
-+    if (s_loadedCiphersAndCerts)
-+        return;
-+    s_loadedCiphersAndCerts = true;
-+
-+    resetDefaultCiphers();
-+    resetDefaultEllipticCurves();
-+
-+#if QT_CONFIG(library)
-+    //load symbols needed to receive certificates from system store
-+#if defined(Q_OS_WIN)
-+    HINSTANCE hLib = LoadLibraryW(L"Crypt32");
-+    if (hLib) {
-+        ptrCertOpenSystemStoreW = (PtrCertOpenSystemStoreW)GetProcAddress(hLib, "CertOpenSystemStoreW");
-+        ptrCertFindCertificateInStore = (PtrCertFindCertificateInStore)GetProcAddress(hLib, "CertFindCertificateInStore");
-+        ptrCertCloseStore = (PtrCertCloseStore)GetProcAddress(hLib, "CertCloseStore");
-+        if (!ptrCertOpenSystemStoreW || !ptrCertFindCertificateInStore || !ptrCertCloseStore)
-+            qCWarning(lcSsl, "could not resolve symbols in crypt32 library"); // should never happen
-+    } else {
-+        qCWarning(lcSsl, "could not load crypt32 library"); // should never happen
-+    }
-+#elif defined(Q_OS_QNX)
-+    s_loadRootCertsOnDemand = true;
-+#elif defined(Q_OS_UNIX) && !defined(Q_OS_DARWIN)
-+    // check whether we can enable on-demand root-cert loading (i.e. check whether the sym links are there)
-+    QList<QByteArray> dirs = unixRootCertDirectories();
-+    QStringList symLinkFilter;
-+    symLinkFilter << QLatin1String("[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f].[0-9]");
-+    for (int a = 0; a < dirs.count(); ++a) {
-+        QDirIterator iterator(QLatin1String(dirs.at(a)), symLinkFilter, QDir::Files);
-+        if (iterator.hasNext()) {
-+            s_loadRootCertsOnDemand = true;
-+            break;
-+        }
-+    }
-+#endif
-+#endif // QT_CONFIG(library)
-+    // if on-demand loading was not enabled, load the certs now
-+    if (!s_loadRootCertsOnDemand)
-+        setDefaultCaCertificates(systemCaCertificates());
-+#ifdef Q_OS_WIN
-+    //Enabled for fetching additional root certs from windows update on windows 6+
-+    //This flag is set false by setDefaultCaCertificates() indicating the app uses
-+    //its own cert bundle rather than the system one.
-+    //Same logic that disables the unix on demand cert loading.
-+    //Unlike unix, we do preload the certificates from the cert store.
-+    if ((QSysInfo::windowsVersion() & QSysInfo::WV_NT_based) >= QSysInfo::WV_6_0)
-+        s_loadRootCertsOnDemand = true;
-+#endif
-+}
-+
-+long QSslSocketPrivate::sslLibraryVersionNumber()
-+{
-+    if (!supportsSsl())
-+        return 0;
-+
-+    return q_OpenSSL_version_num();
-+}
-+
-+QString QSslSocketPrivate::sslLibraryVersionString()
-+{
-+    if (!supportsSsl())
-+        return QString();
-+
-+    const char *versionString = q_OpenSSL_version(OPENSSL_VERSION);
-+    if (!versionString)
-+        return QString();
-+
-+    return QString::fromLatin1(versionString);
-+}
-+
-+void QSslSocketBackendPrivate::continueHandshake()
-+{
-+    Q_Q(QSslSocket);
-+    // if we have a max read buffer size, reset the plain socket's to match
-+    if (readBufferMaxSize)
-+        plainSocket->setReadBufferSize(readBufferMaxSize);
-+
-+    if (q_SSL_session_reused(ssl))
-+        configuration.peerSessionShared = true;
-+
-+#ifdef QT_DECRYPT_SSL_TRAFFIC
-+    if (q_SSL_get_session(ssl)) {
-+        size_t master_key_len = q_SSL_SESSION_get_master_key(q_SSL_get_session(ssl), 0, 0);
-+        size_t client_random_len = q_SSL_get_client_random(ssl, 0, 0);
-+        QByteArray masterKey(int(master_key_len), 0); // Will not overflow
-+        QByteArray clientRandom(int(client_random_len), 0); // Will not overflow
-+
-+        q_SSL_SESSION_get_master_key(q_SSL_get_session(ssl),
-+                                     reinterpret_cast<unsigned char*>(masterKey.data()),
-+                                     masterKey.size());
-+        q_SSL_get_client_random(ssl, reinterpret_cast<unsigned char *>(clientRandom.data()),
-+                                clientRandom.size());
-+
-+        QByteArray debugLineClientRandom("CLIENT_RANDOM ");
-+        debugLineClientRandom.append(clientRandom.toHex().toUpper());
-+        debugLineClientRandom.append(" ");
-+        debugLineClientRandom.append(masterKey.toHex().toUpper());
-+        debugLineClientRandom.append("\n");
-+
-+        QString sslKeyFile = QDir::tempPath() + QLatin1String("/qt-ssl-keys");
-+        QFile file(sslKeyFile);
-+        if (!file.open(QIODevice::Append))
-+            qCWarning(lcSsl) << "could not open file" << sslKeyFile << "for appending";
-+        if (!file.write(debugLineClientRandom))
-+            qCWarning(lcSsl) << "could not write to file" << sslKeyFile;
-+        file.close();
-+    } else {
-+        qCWarning(lcSsl, "could not decrypt SSL traffic");
-+    }
-+#endif
-+
-+    // Cache this SSL session inside the QSslContext
-+    if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionSharing)) {
-+        if (!sslContextPointer->cacheSession(ssl)) {
-+            sslContextPointer.clear(); // we could not cache the session
-+        } else {
-+            // Cache the session for permanent usage as well
-+            if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionPersistence)) {
-+                if (!sslContextPointer->sessionASN1().isEmpty())
-+                    configuration.sslSession = sslContextPointer->sessionASN1();
-+                configuration.sslSessionTicketLifeTimeHint = sslContextPointer->sessionTicketLifeTimeHint();
-+            }
-+        }
-+    }
-+
-+#if !defined(OPENSSL_NO_NEXTPROTONEG)
-+
-+    configuration.nextProtocolNegotiationStatus = sslContextPointer->npnContext().status;
-+    if (sslContextPointer->npnContext().status == QSslConfiguration::NextProtocolNegotiationUnsupported) {
-+        // we could not agree -> be conservative and use HTTP/1.1
-+        configuration.nextNegotiatedProtocol = QByteArrayLiteral("http/1.1");
-+    } else {
-+        const unsigned char *proto = 0;
-+        unsigned int proto_len = 0;
-+
-+        q_SSL_get0_alpn_selected(ssl, &proto, &proto_len);
-+        if (proto_len && mode == QSslSocket::SslClientMode) {
-+            // Client does not have a callback that sets it ...
-+            configuration.nextProtocolNegotiationStatus = QSslConfiguration::NextProtocolNegotiationNegotiated;
-+        }
-+
-+        if (!proto_len) { // Test if NPN was more lucky ...
-+            q_SSL_get0_next_proto_negotiated(ssl, &proto, &proto_len);
-+        }
-+
-+        if (proto_len)
-+            configuration.nextNegotiatedProtocol = QByteArray(reinterpret_cast<const char *>(proto), proto_len);
-+        else
-+            configuration.nextNegotiatedProtocol.clear();
-+    }
-+#endif // !defined(OPENSSL_NO_NEXTPROTONEG)
-+
-+    if (mode == QSslSocket::SslClientMode) {
-+        EVP_PKEY *key;
-+        if (q_SSL_get_server_tmp_key(ssl, &key))
-+            configuration.ephemeralServerKey = QSslKey(key, QSsl::PublicKey);
-+    }
-+
-+    connectionEncrypted = true;
-+    emit q->encrypted();
-+    if (autoStartHandshake && pendingClose) {
-+        pendingClose = false;
-+        q->disconnectFromHost();
-+    }
-+}
-+
-+QT_END_NAMESPACE
-diff --git a/src/network/ssl/qsslsocket_openssl11_symbols_p.h b/src/network/ssl/qsslsocket_openssl11_symbols_p.h
-new file mode 100644
-index 0000000000..2980b3d23e
---- /dev/null
-+++ b/src/network/ssl/qsslsocket_openssl11_symbols_p.h
-@@ -0,0 +1,132 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
-+** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the QtNetwork module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+/****************************************************************************
-+**
-+** In addition, as a special exception, the copyright holders listed above give
-+** permission to link the code of its release of Qt with the OpenSSL project's
-+** "OpenSSL" library (or modified versions of the "OpenSSL" library that use the
-+** same license as the original version), and distribute the linked executables.
-+**
-+** You must comply with the GNU General Public License version 2 in all
-+** respects for all of the code used other than the "OpenSSL" code.  If you
-+** modify this file, you may extend this exception to your version of the file,
-+** but you are not obligated to do so.  If you do not wish to do so, delete
-+** this exception statement from your version of this file.
-+**
-+****************************************************************************/
-+
-+#ifndef QSSLSOCKET_OPENSSL11_SYMBOLS_P_H
-+#define QSSLSOCKET_OPENSSL11_SYMBOLS_P_H
-+
-+//
-+//  W A R N I N G
-+//  -------------
-+//
-+// This file is not part of the Qt API. It exists purely as an
-+// implementation detail. This header file may change from version to
-+// version without notice, or even be removed.
-+//
-+// We mean it.
-+//
-+
-+// Note: this file does not have QT_BEGIN_NAMESPACE/QT_END_NAMESPACE, it's done
-+// in qsslsocket_openssl_symbols_p.h.
-+
-+#ifndef QSSLSOCKET_OPENSSL_SYMBOLS_P_H
-+#error "You are not supposed to use this header file, include qsslsocket_openssl_symbols_p.h instead"
-+#endif
-+
-+const unsigned char * q_ASN1_STRING_get0_data(const ASN1_STRING *x);
-+
-+Q_AUTOTEST_EXPORT BIO *q_BIO_new(const BIO_METHOD *a);
-+Q_AUTOTEST_EXPORT const BIO_METHOD *q_BIO_s_mem();
-+
-+int q_DSA_bits(DSA *a);
-+int q_EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *c);
-+int q_EVP_PKEY_base_id(EVP_PKEY *a);
-+int q_RSA_bits(RSA *a);
-+int q_OPENSSL_sk_num(OPENSSL_STACK *a);
-+void q_OPENSSL_sk_pop_free(OPENSSL_STACK *a, void (*b)(void *));
-+OPENSSL_STACK *q_OPENSSL_sk_new_null();
-+void q_OPENSSL_sk_push(OPENSSL_STACK *st, void *data);
-+void q_OPENSSL_sk_free(OPENSSL_STACK *a);
-+void * q_OPENSSL_sk_value(OPENSSL_STACK *a, int b);
-+int q_SSL_session_reused(SSL *a);
-+unsigned long q_SSL_CTX_set_options(SSL_CTX *ctx, unsigned long op);
-+int q_OPENSSL_init_ssl(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
-+size_t q_SSL_get_client_random(SSL *a, unsigned char *out, size_t outlen);
-+size_t q_SSL_SESSION_get_master_key(const SSL_SESSION *session, unsigned char *out, size_t outlen);
-+int q_CRYPTO_get_ex_new_index(int class_index, long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
-+const SSL_METHOD *q_TLS_method();
-+const SSL_METHOD *q_TLS_client_method();
-+const SSL_METHOD *q_TLS_server_method();
-+ASN1_TIME *q_X509_getm_notBefore(X509 *a);
-+ASN1_TIME *q_X509_getm_notAfter(X509 *a);
-+
-+long q_X509_get_version(X509 *a);
-+EVP_PKEY *q_X509_get_pubkey(X509 *a);
-+void q_X509_STORE_set_verify_cb(X509_STORE *ctx, X509_STORE_CTX_verify_cb verify_cb);
-+STACK_OF(X509) *q_X509_STORE_CTX_get0_chain(X509_STORE_CTX *ctx);
-+void q_DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g);
-+int q_DH_bits(DH *dh);
-+
-+# define q_SSL_load_error_strings() q_OPENSSL_init_ssl(OPENSSL_INIT_LOAD_SSL_STRINGS \
-+                                                       | OPENSSL_INIT_LOAD_CRYPTO_STRINGS, NULL)
-+
-+#define q_SKM_sk_num(type, st) ((int (*)(const STACK_OF(type) *))q_OPENSSL_sk_num)(st)
-+#define q_SKM_sk_value(type, st,i) ((type * (*)(const STACK_OF(type) *, int))q_OPENSSL_sk_value)(st, i)
-+
-+#define q_OPENSSL_add_all_algorithms_conf()  q_OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \
-+                                                                   | OPENSSL_INIT_ADD_ALL_DIGESTS \
-+                                                                   | OPENSSL_INIT_LOAD_CONFIG, NULL)
-+#define  q_OPENSSL_add_all_algorithms_noconf() q_OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS \
-+                                                                    | OPENSSL_INIT_ADD_ALL_DIGESTS, NULL)
-+
-+int q_OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings);
-+void q_CRYPTO_free(void *str, const char *file, int line);
-+
-+long q_OpenSSL_version_num();
-+const char *q_OpenSSL_version(int type);
-+
-+unsigned long q_SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *session);
-+
-+#endif
-diff --git a/src/network/ssl/qsslsocket_openssl_p.h b/src/network/ssl/qsslsocket_openssl_p.h
-index b2adb3e547..7f9e884045 100644
---- a/src/network/ssl/qsslsocket_openssl_p.h
-+++ b/src/network/ssl/qsslsocket_openssl_p.h
-@@ -1,6 +1,6 @@
- /****************************************************************************
- **
--** Copyright (C) 2016 The Qt Company Ltd.
-+** Copyright (C) 2017 The Qt Company Ltd.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtNetwork module of the Qt Toolkit.
-@@ -98,8 +98,8 @@
- #include <openssl/crypto.h>
- #include <openssl/tls1.h>
- 
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--typedef _STACK STACK;
-+#if QT_CONFIG(opensslv11)
-+#include <openssl/dh.h>
- #endif
- 
- QT_BEGIN_NAMESPACE
-@@ -151,7 +151,7 @@ public:
- #endif
- 
-     Q_AUTOTEST_EXPORT static long setupOpenSslOptions(QSsl::SslProtocol protocol, QSsl::SslOptions sslOptions);
--    static QSslCipher QSslCipher_from_SSL_CIPHER(SSL_CIPHER *cipher);
-+    static QSslCipher QSslCipher_from_SSL_CIPHER(const SSL_CIPHER *cipher);
-     static QList<QSslCertificate> STACKOFX509_to_QSslCertificates(STACK_OF(X509) *x509);
-     static QList<QSslError> verify(const QList<QSslCertificate> &certificateChain, const QString &hostName);
-     static QString getErrorsFromOpenSsl();
-diff --git a/src/network/ssl/qsslsocket_openssl_symbols.cpp b/src/network/ssl/qsslsocket_openssl_symbols.cpp
-index c344a94427..0ef8bf6b5e 100644
---- a/src/network/ssl/qsslsocket_openssl_symbols.cpp
-+++ b/src/network/ssl/qsslsocket_openssl_symbols.cpp
-@@ -1,7 +1,8 @@
- /****************************************************************************
- **
--** Copyright (C) 2016 The Qt Company Ltd.
-+** Copyright (C) 2017 The Qt Company Ltd.
- ** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
-+** Copyright (C) 2016 Richard J. Moore <rich@kde.org>
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtNetwork module of the Qt Toolkit.
-@@ -136,49 +137,195 @@ void qsslSocketCannotResolveSymbolWarning(const char *functionName)
- 
- #endif // QT_LINKED_OPENSSL
- 
-+#if QT_CONFIG(opensslv11)
-+
-+// Below are the functions first introduced in version 1.1:
-+
-+DEFINEFUNC(const unsigned char *, ASN1_STRING_get0_data, const ASN1_STRING *a, a, return 0, return)
-+DEFINEFUNC2(int, OPENSSL_init_ssl, uint64_t opts, opts, const OPENSSL_INIT_SETTINGS *settings, settings, return 0, return)
-+DEFINEFUNC2(int, OPENSSL_init_crypto, uint64_t opts, opts, const OPENSSL_INIT_SETTINGS *settings, settings, return 0, return)
-+DEFINEFUNC(BIO *, BIO_new, const BIO_METHOD *a, a, return 0, return)
-+DEFINEFUNC(const BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
-+DEFINEFUNC2(int, BN_is_word, BIGNUM *a, a, BN_ULONG w, w, return 0, return)
-+DEFINEFUNC(int, EVP_CIPHER_CTX_reset, EVP_CIPHER_CTX *c, c, return 0, return)
-+DEFINEFUNC(int, EVP_PKEY_base_id, EVP_PKEY *a, a, return NID_undef, return)
-+DEFINEFUNC(int, RSA_bits, RSA *a, a, return 0, return)
-+DEFINEFUNC(int, DSA_bits, DSA *a, a, return 0, return)
-+DEFINEFUNC(int, OPENSSL_sk_num, OPENSSL_STACK *a, a, return -1, return)
-+DEFINEFUNC2(void, OPENSSL_sk_pop_free, OPENSSL_STACK *a, a, void (*b)(void*), b, return, DUMMYARG)
-+DEFINEFUNC(OPENSSL_STACK *, OPENSSL_sk_new_null, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC2(void, OPENSSL_sk_push, OPENSSL_STACK *a, a, void *b, b, return, DUMMYARG)
-+DEFINEFUNC(void, OPENSSL_sk_free, OPENSSL_STACK *a, a, return, DUMMYARG)
-+DEFINEFUNC2(void *, OPENSSL_sk_value, OPENSSL_STACK *a, a, int b, b, return 0, return)
-+DEFINEFUNC(int, SSL_session_reused, SSL *a, a, return 0, return)
-+DEFINEFUNC2(unsigned long, SSL_CTX_set_options, SSL_CTX *ctx, ctx, unsigned long op, op, return 0, return)
-+DEFINEFUNC3(size_t, SSL_get_client_random, SSL *a, a, unsigned char *out, out, size_t outlen, outlen, return 0, return)
-+DEFINEFUNC3(size_t, SSL_SESSION_get_master_key, const SSL_SESSION *ses, ses, unsigned char *out, out, size_t outlen, outlen, return 0, return)
-+DEFINEFUNC6(int, CRYPTO_get_ex_new_index, int class_index, class_index, long argl, argl, void *argp, argp, CRYPTO_EX_new *new_func, new_func, CRYPTO_EX_dup *dup_func, dup_func, CRYPTO_EX_free *free_func, free_func, return -1, return)
-+
-+DEFINEFUNC(const SSL_METHOD *, TLS_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(const SSL_METHOD *, TLS_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(const SSL_METHOD *, TLS_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(ASN1_TIME *, X509_getm_notBefore, X509 *a, a, return 0, return)
-+DEFINEFUNC(ASN1_TIME *, X509_getm_notAfter, X509 *a, a, return 0, return)
-+DEFINEFUNC(long, X509_get_version, X509 *a, a, return -1, return)
-+DEFINEFUNC(EVP_PKEY *, X509_get_pubkey, X509 *a, a, return 0, return)
-+DEFINEFUNC2(void, X509_STORE_set_verify_cb, X509_STORE *a, a, X509_STORE_CTX_verify_cb verify_cb, verify_cb, return, DUMMYARG)
-+DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get0_chain, X509_STORE_CTX *a, a, return 0, return)
-+DEFINEFUNC3(void, CRYPTO_free, void *str, str, const char *file, file, int line, line, return, DUMMYARG)
-+DEFINEFUNC(long, OpenSSL_version_num, void, DUMMYARG, return 0, return)
-+DEFINEFUNC(const char *, OpenSSL_version, int a, a, return 0, return)
-+DEFINEFUNC(unsigned long, SSL_SESSION_get_ticket_lifetime_hint, const SSL_SESSION *session, session, return 0, return)
-+DEFINEFUNC4(void, DH_get0_pqg, const DH *dh, dh, const BIGNUM **p, p, const BIGNUM **q, q, const BIGNUM **g, g, return, DUMMYARG)
-+DEFINEFUNC(int, DH_bits, DH *dh, dh, return 0, return)
-+
-+#else // QT_CONFIG(opensslv11)
-+
-+// Functions below are either deprecated or removed in OpenSSL >= 1.1:
-+
-+DEFINEFUNC(unsigned char *, ASN1_STRING_data, ASN1_STRING *a, a, return 0, return)
-+
- #ifdef SSLEAY_MACROS
- DEFINEFUNC3(void *, ASN1_dup, i2d_of_void *a, a, d2i_of_void *b, b, char *c, c, return 0, return)
- #endif
-+DEFINEFUNC2(BIO *, BIO_new_file, const char *filename, filename, const char *mode, mode, return 0, return)
-+DEFINEFUNC(void, ERR_clear_error, DUMMYARG, DUMMYARG, return, DUMMYARG)
-+DEFINEFUNC(BIO *, BIO_new, BIO_METHOD *a, a, return 0, return)
-+DEFINEFUNC(BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
-+DEFINEFUNC(int, CRYPTO_num_locks, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(void, CRYPTO_set_locking_callback, void (*a)(int, int, const char *, int), a, return, DUMMYARG)
-+DEFINEFUNC(void, CRYPTO_set_id_callback, unsigned long (*a)(), a, return, DUMMYARG)
-+DEFINEFUNC(void, CRYPTO_free, void *a, a, return, DUMMYARG)
-+DEFINEFUNC(unsigned long, ERR_peek_last_error, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(void, ERR_free_strings, void, DUMMYARG, return, DUMMYARG)
-+DEFINEFUNC(void, EVP_CIPHER_CTX_cleanup, EVP_CIPHER_CTX *a, a, return, DUMMYARG)
-+DEFINEFUNC(void, EVP_CIPHER_CTX_init, EVP_CIPHER_CTX *a, a, return, DUMMYARG)
-+
-+#ifdef SSLEAY_MACROS
-+DEFINEFUNC6(void *, PEM_ASN1_read_bio, d2i_of_void *a, a, const char *b, b, BIO *c, c, void **d, d, pem_password_cb *e, e, void *f, f, return 0, return)
-+DEFINEFUNC6(void *, PEM_ASN1_write_bio, d2i_of_void *a, a, const char *b, b, BIO *c, c, void **d, d, pem_password_cb *e, e, void *f, f, return 0, return)
-+#endif // SSLEAY_MACROS
-+
-+DEFINEFUNC(int, sk_num, STACK *a, a, return -1, return)
-+DEFINEFUNC2(void, sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG)
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+DEFINEFUNC(_STACK *, sk_new_null, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC2(void, sk_push, _STACK *a, a, void *b, b, return, DUMMYARG)
-+DEFINEFUNC(void, sk_free, _STACK *a, a, return, DUMMYARG)
-+DEFINEFUNC2(void *, sk_value, STACK *a, a, int b, b, return 0, return)
-+#else
-+DEFINEFUNC(STACK *, sk_new_null, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC2(void, sk_push, STACK *a, a, char *b, b, return, DUMMYARG)
-+DEFINEFUNC(void, sk_free, STACK *a, a, return, DUMMYARG)
-+DEFINEFUNC2(char *, sk_value, STACK *a, a, int b, b, return 0, return)
-+#endif // OPENSSL_VERSION_NUMBER >= 0x10000000L
-+
-+DEFINEFUNC(int, SSL_library_init, void, DUMMYARG, return -1, return)
-+DEFINEFUNC(void, SSL_load_error_strings, void, DUMMYARG, return, DUMMYARG)
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+DEFINEFUNC5(int, SSL_get_ex_new_index, long argl, argl, void *argp, argp, CRYPTO_EX_new *new_func, new_func, CRYPTO_EX_dup *dup_func, dup_func, CRYPTO_EX_free *free_func, free_func, return -1, return)
-+#endif // OPENSSL_VERSION_NUMBER >= 0x10001000L
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
-+#ifndef OPENSSL_NO_SSL2
-+DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+#ifndef OPENSSL_NO_SSL3_METHOD
-+DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(const SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+DEFINEFUNC(const SSL_METHOD *, TLSv1_1_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(const SSL_METHOD *, TLSv1_2_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+#ifndef OPENSSL_NO_SSL2
-+DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+#ifndef OPENSSL_NO_SSL3_METHOD
-+DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+DEFINEFUNC(const SSL_METHOD *, TLSv1_1_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(const SSL_METHOD *, TLSv1_2_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+#else
-+#ifndef OPENSSL_NO_SSL2
-+DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+#ifndef OPENSSL_NO_SSL3_METHOD
-+DEFINEFUNC(SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+DEFINEFUNC(SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
-+#ifndef OPENSSL_NO_SSL2
-+DEFINEFUNC(SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+#ifndef OPENSSL_NO_SSL3_METHOD
-+DEFINEFUNC(SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+DEFINEFUNC(SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
-+#endif
-+
-+DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get_chain, X509_STORE_CTX *a, a, return 0, return)
-+
-+#ifdef SSLEAY_MACROS
-+DEFINEFUNC2(int, i2d_DSAPrivateKey, const DSA *a, a, unsigned char **b, b, return -1, return)
-+DEFINEFUNC2(int, i2d_RSAPrivateKey, const RSA *a, a, unsigned char **b, b, return -1, return)
-+#ifndef OPENSSL_NO_EC
-+DEFINEFUNC2(int, i2d_ECPrivateKey, const EC_KEY *a, a, unsigned char **b, b, return -1, return)
-+#endif
-+DEFINEFUNC3(RSA *, d2i_RSAPrivateKey, RSA **a, a, unsigned char **b, b, long c, c, return 0, return)
-+DEFINEFUNC3(DSA *, d2i_DSAPrivateKey, DSA **a, a, unsigned char **b, b, long c, c, return 0, return)
-+#ifndef OPENSSL_NO_EC
-+DEFINEFUNC3(EC_KEY *, d2i_ECPrivateKey, EC_KEY **a, a, unsigned char **b, b, long c, c, return 0, return)
-+#endif
-+#endif
-+DEFINEFUNC(char *, CONF_get1_default_config_file, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(void, OPENSSL_add_all_algorithms_noconf, void, DUMMYARG, return, DUMMYARG)
-+DEFINEFUNC(void, OPENSSL_add_all_algorithms_conf, void, DUMMYARG, return, DUMMYARG)
-+DEFINEFUNC(long, SSLeay, void, DUMMYARG, return 0, return)
-+DEFINEFUNC(const char *, SSLeay_version, int a, a, return 0, return)
-+
-+#endif // QT_CONFIG(opensslv11)
-+
- DEFINEFUNC(long, ASN1_INTEGER_get, ASN1_INTEGER *a, a, return 0, return)
--DEFINEFUNC(unsigned char *, ASN1_STRING_data, ASN1_STRING *a, a, return 0, return)
- DEFINEFUNC(int, ASN1_STRING_length, ASN1_STRING *a, a, return 0, return)
--DEFINEFUNC2(int, ASN1_STRING_to_UTF8, unsigned char **a, a, ASN1_STRING *b, b, return 0, return);
-+DEFINEFUNC2(int, ASN1_STRING_to_UTF8, unsigned char **a, a, ASN1_STRING *b, b, return 0, return)
- DEFINEFUNC4(long, BIO_ctrl, BIO *a, a, int b, b, long c, c, void *d, d, return -1, return)
- DEFINEFUNC(int, BIO_free, BIO *a, a, return 0, return)
--DEFINEFUNC(BIO *, BIO_new, BIO_METHOD *a, a, return 0, return)
- DEFINEFUNC2(BIO *, BIO_new_mem_buf, void *a, a, int b, b, return 0, return)
- DEFINEFUNC3(int, BIO_read, BIO *a, a, void *b, b, int c, c, return -1, return)
--DEFINEFUNC(BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
-+
- DEFINEFUNC3(int, BIO_write, BIO *a, a, const void *b, b, int c, c, return -1, return)
- DEFINEFUNC(int, BN_num_bits, const BIGNUM *a, a, return 0, return)
--#if OPENSSL_VERSION_NUMBER >= 0x10100000L
--DEFINEFUNC2(int, BN_is_word, BIGNUM *a, a, BN_ULONG w, w, return 0, return)
--#endif
- DEFINEFUNC2(BN_ULONG, BN_mod_word, const BIGNUM *a, a, BN_ULONG w, w, return static_cast<BN_ULONG>(-1), return)
- #ifndef OPENSSL_NO_EC
- DEFINEFUNC(const EC_GROUP*, EC_KEY_get0_group, const EC_KEY* k, k, return 0, return)
- DEFINEFUNC(int, EC_GROUP_get_degree, const EC_GROUP* g, g, return 0, return)
- #endif
--DEFINEFUNC(int, CRYPTO_num_locks, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(void, CRYPTO_set_locking_callback, void (*a)(int, int, const char *, int), a, return, DUMMYARG)
--DEFINEFUNC(void, CRYPTO_set_id_callback, unsigned long (*a)(), a, return, DUMMYARG)
--DEFINEFUNC(void, CRYPTO_free, void *a, a, return, DUMMYARG)
- DEFINEFUNC(DSA *, DSA_new, DUMMYARG, DUMMYARG, return 0, return)
- DEFINEFUNC(void, DSA_free, DSA *a, a, return, DUMMYARG)
- DEFINEFUNC3(X509 *, d2i_X509, X509 **a, a, const unsigned char **b, b, long c, c, return 0, return)
- DEFINEFUNC2(char *, ERR_error_string, unsigned long a, a, char *b, b, return 0, return)
- DEFINEFUNC(unsigned long, ERR_get_error, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(void, ERR_free_strings, void, DUMMYARG, return, DUMMYARG)
--DEFINEFUNC(void, EVP_CIPHER_CTX_cleanup, EVP_CIPHER_CTX *a, a, return, DUMMYARG)
--DEFINEFUNC(void, EVP_CIPHER_CTX_init, EVP_CIPHER_CTX *a, a, return, DUMMYARG)
--DEFINEFUNC4(int, EVP_CIPHER_CTX_ctrl, EVP_CIPHER_CTX *ctx, ctx, int type, type, int arg, arg, void *ptr, ptr, return 0, return);
-+DEFINEFUNC(EVP_CIPHER_CTX *, EVP_CIPHER_CTX_new, void, DUMMYARG, return 0, return)
-+DEFINEFUNC(void, EVP_CIPHER_CTX_free, EVP_CIPHER_CTX *a, a, return, DUMMYARG)
-+DEFINEFUNC4(int, EVP_CIPHER_CTX_ctrl, EVP_CIPHER_CTX *ctx, ctx, int type, type, int arg, arg, void *ptr, ptr, return 0, return)
- DEFINEFUNC2(int, EVP_CIPHER_CTX_set_key_length, EVP_CIPHER_CTX *ctx, ctx, int keylen, keylen, return 0, return)
--DEFINEFUNC5(int, EVP_CipherInit, EVP_CIPHER_CTX *ctx, ctx, const EVP_CIPHER *type, type, const unsigned char *key, key, const unsigned char *iv, iv, int enc, enc, return 0, return);
--DEFINEFUNC5(int, EVP_CipherUpdate, EVP_CIPHER_CTX *ctx, ctx, unsigned char *out, out, int *outl, outl, const unsigned char *in, in, int inl, inl, return 0, return);
--DEFINEFUNC3(int, EVP_CipherFinal, EVP_CIPHER_CTX *ctx, ctx, unsigned char *out, out, int *outl, outl, return 0, return);
-+DEFINEFUNC5(int, EVP_CipherInit, EVP_CIPHER_CTX *ctx, ctx, const EVP_CIPHER *type, type, const unsigned char *key, key, const unsigned char *iv, iv, int enc, enc, return 0, return)
-+DEFINEFUNC6(int, EVP_CipherInit_ex, EVP_CIPHER_CTX *ctx, ctx, const EVP_CIPHER *cipher, cipher, ENGINE *impl, impl, const unsigned char *key, key, const unsigned char *iv, iv, int enc, enc, return 0, return)
-+DEFINEFUNC5(int, EVP_CipherUpdate, EVP_CIPHER_CTX *ctx, ctx, unsigned char *out, out, int *outl, outl, const unsigned char *in, in, int inl, inl, return 0, return)
-+DEFINEFUNC3(int, EVP_CipherFinal, EVP_CIPHER_CTX *ctx, ctx, unsigned char *out, out, int *outl, outl, return 0, return)
- DEFINEFUNC(const EVP_CIPHER *, EVP_des_cbc, DUMMYARG, DUMMYARG, return 0, return)
- DEFINEFUNC(const EVP_CIPHER *, EVP_des_ede3_cbc, DUMMYARG, DUMMYARG, return 0, return)
- DEFINEFUNC(const EVP_CIPHER *, EVP_rc2_cbc, DUMMYARG, DUMMYARG, return 0, return)
-+DEFINEFUNC(const EVP_MD *, EVP_sha1, DUMMYARG, DUMMYARG, return 0, return)
- DEFINEFUNC3(int, EVP_PKEY_assign, EVP_PKEY *a, a, int b, b, char *c, c, return -1, return)
- DEFINEFUNC2(int, EVP_PKEY_set1_RSA, EVP_PKEY *a, a, RSA *b, b, return -1, return)
- DEFINEFUNC2(int, EVP_PKEY_set1_DSA, EVP_PKEY *a, a, DSA *b, b, return -1, return)
-@@ -202,10 +349,8 @@ DEFINEFUNC3(int, i2t_ASN1_OBJECT, char *a, a, int b, b, ASN1_OBJECT *c, c, retur
- DEFINEFUNC4(int, OBJ_obj2txt, char *a, a, int b, b, ASN1_OBJECT *c, c, int d, d, return -1, return)
- 
- DEFINEFUNC(int, OBJ_obj2nid, const ASN1_OBJECT *a, a, return NID_undef, return)
--#ifdef SSLEAY_MACROS
--DEFINEFUNC6(void *, PEM_ASN1_read_bio, d2i_of_void *a, a, const char *b, b, BIO *c, c, void **d, d, pem_password_cb *e, e, void *f, f, return 0, return)
--DEFINEFUNC6(void *, PEM_ASN1_write_bio, d2i_of_void *a, a, const char *b, b, BIO *c, c, void **d, d, pem_password_cb *e, e, void *f, f, return 0, return)
--#else
-+
-+#ifndef SSLEAY_MACROS
- DEFINEFUNC4(EVP_PKEY *, PEM_read_bio_PrivateKey, BIO *a, a, EVP_PKEY **b, b, pem_password_cb *c, c, void *d, d, return 0, return)
- DEFINEFUNC4(DSA *, PEM_read_bio_DSAPrivateKey, BIO *a, a, DSA **b, b, pem_password_cb *c, c, void *d, d, return 0, return)
- DEFINEFUNC4(RSA *, PEM_read_bio_RSAPrivateKey, BIO *a, a, RSA **b, b, pem_password_cb *c, c, void *d, d, return 0, return)
-@@ -218,7 +363,7 @@ DEFINEFUNC7(int, PEM_write_bio_RSAPrivateKey, BIO *a, a, RSA *b, b, const EVP_CI
- #ifndef OPENSSL_NO_EC
- DEFINEFUNC7(int, PEM_write_bio_ECPrivateKey, BIO *a, a, EC_KEY *b, b, const EVP_CIPHER *c, c, unsigned char *d, d, int e, e, pem_password_cb *f, f, void *g, g, return 0, return)
- #endif
--#endif
-+#endif // !SSLEAY_MACROS
- DEFINEFUNC4(EVP_PKEY *, PEM_read_bio_PUBKEY, BIO *a, a, EVP_PKEY **b, b, pem_password_cb *c, c, void *d, d, return 0, return)
- DEFINEFUNC4(DSA *, PEM_read_bio_DSA_PUBKEY, BIO *a, a, DSA **b, b, pem_password_cb *c, c, void *d, d, return 0, return)
- DEFINEFUNC4(RSA *, PEM_read_bio_RSA_PUBKEY, BIO *a, a, RSA **b, b, pem_password_cb *c, c, void *d, d, return 0, return)
-@@ -234,23 +379,10 @@ DEFINEFUNC2(void, RAND_seed, const void *a, a, int b, b, return, DUMMYARG)
- DEFINEFUNC(int, RAND_status, void, DUMMYARG, return -1, return)
- DEFINEFUNC(RSA *, RSA_new, DUMMYARG, DUMMYARG, return 0, return)
- DEFINEFUNC(void, RSA_free, RSA *a, a, return, DUMMYARG)
--DEFINEFUNC(int, sk_num, STACK *a, a, return -1, return)
--DEFINEFUNC2(void, sk_pop_free, STACK *a, a, void (*b)(void*), b, return, DUMMYARG)
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--DEFINEFUNC(_STACK *, sk_new_null, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC2(void, sk_push, _STACK *a, a, void *b, b, return, DUMMYARG)
--DEFINEFUNC(void, sk_free, _STACK *a, a, return, DUMMYARG)
--DEFINEFUNC2(void *, sk_value, STACK *a, a, int b, b, return 0, return)
--#else
--DEFINEFUNC(STACK *, sk_new_null, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC2(void, sk_push, STACK *a, a, char *b, b, return, DUMMYARG)
--DEFINEFUNC(void, sk_free, STACK *a, a, return, DUMMYARG)
--DEFINEFUNC2(char *, sk_value, STACK *a, a, int b, b, return 0, return)
--#endif
- DEFINEFUNC(int, SSL_accept, SSL *a, a, return -1, return)
- DEFINEFUNC(int, SSL_clear, SSL *a, a, return -1, return)
--DEFINEFUNC3(char *, SSL_CIPHER_description, SSL_CIPHER *a, a, char *b, b, int c, c, return 0, return)
--DEFINEFUNC2(int, SSL_CIPHER_get_bits, SSL_CIPHER *a, a, int *b, b, return 0, return)
-+DEFINEFUNC3(char *, SSL_CIPHER_description, const SSL_CIPHER *a, a, char *b, b, int c, c, return 0, return)
-+DEFINEFUNC2(int, SSL_CIPHER_get_bits, const SSL_CIPHER *a, a, int *b, b, return 0, return)
- DEFINEFUNC(int, SSL_connect, SSL *a, a, return -1, return)
- DEFINEFUNC(int, SSL_CTX_check_private_key, const SSL_CTX *a, a, return -1, return)
- DEFINEFUNC4(long, SSL_CTX_ctrl, SSL_CTX *a, a, int b, b, long c, c, void *d, d, return -1, return)
-@@ -287,8 +419,6 @@ DEFINEFUNC(long, SSL_get_verify_result, const SSL *a, a, return -1, return)
- #else
- DEFINEFUNC(long, SSL_get_verify_result, SSL *a, a, return -1, return)
- #endif
--DEFINEFUNC(int, SSL_library_init, void, DUMMYARG, return -1, return)
--DEFINEFUNC(void, SSL_load_error_strings, void, DUMMYARG, return, DUMMYARG)
- DEFINEFUNC(SSL *, SSL_new, SSL_CTX *a, a, return 0, return)
- DEFINEFUNC4(long, SSL_ctrl, SSL *a, a, int cmd, cmd, long larg, larg, void *parg, parg, return -1, return)
- DEFINEFUNC3(int, SSL_read, SSL *a, a, void *b, b, int c, c, return -1, return)
-@@ -301,7 +431,6 @@ DEFINEFUNC(void, SSL_SESSION_free, SSL_SESSION *ses, ses, return, DUMMYARG)
- DEFINEFUNC(SSL_SESSION*, SSL_get1_session, SSL *ssl, ssl, return 0, return)
- DEFINEFUNC(SSL_SESSION*, SSL_get_session, const SSL *ssl, ssl, return 0, return)
- #if OPENSSL_VERSION_NUMBER >= 0x10001000L
--DEFINEFUNC5(int, SSL_get_ex_new_index, long argl, argl, void *argp, argp, CRYPTO_EX_new *new_func, new_func, CRYPTO_EX_dup *dup_func, dup_func, CRYPTO_EX_free *free_func, free_func, return -1, return)
- DEFINEFUNC3(int, SSL_set_ex_data, SSL *ssl, ssl, int idx, idx, void *arg, arg, return 0, return)
- DEFINEFUNC2(void *, SSL_get_ex_data, const SSL *ssl, ssl, int idx, idx, return NULL, return)
- #endif
-@@ -310,51 +439,9 @@ DEFINEFUNC2(void, SSL_set_psk_client_callback, SSL* ssl, ssl, q_psk_client_callb
- DEFINEFUNC2(void, SSL_set_psk_server_callback, SSL* ssl, ssl, q_psk_server_callback_t callback, callback, return, DUMMYARG)
- DEFINEFUNC2(int, SSL_CTX_use_psk_identity_hint, SSL_CTX* ctx, ctx, const char *hint, hint, return 0, return)
- #endif
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--#ifndef OPENSSL_NO_SSL2
--DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(const SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L
--DEFINEFUNC(const SSL_METHOD *, TLSv1_1_client_method, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(const SSL_METHOD *, TLSv1_2_client_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--#ifndef OPENSSL_NO_SSL2
--DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L
--DEFINEFUNC(const SSL_METHOD *, TLSv1_1_server_method, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(const SSL_METHOD *, TLSv1_2_server_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--#else
--#ifndef OPENSSL_NO_SSL2
--DEFINEFUNC(SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--DEFINEFUNC(SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--DEFINEFUNC(SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
--#ifndef OPENSSL_NO_SSL2
--DEFINEFUNC(SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--DEFINEFUNC(SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
--DEFINEFUNC(SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
--DEFINEFUNC(SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
--#endif
- DEFINEFUNC3(int, SSL_write, SSL *a, a, const void *b, b, int c, c, return -1, return)
- DEFINEFUNC2(int, X509_cmp, X509 *a, a, X509 *b, b, return -1, return)
-+DEFINEFUNC4(int, X509_digest, const X509 *x509, x509, const EVP_MD *type, type, unsigned char *md, md, unsigned int *len, len, return -1, return)
- #ifndef SSLEAY_MACROS
- DEFINEFUNC(X509 *, X509_dup, X509 *a, a, return 0, return)
- #endif
-@@ -378,6 +465,7 @@ DEFINEFUNC2(int, ASN1_STRING_print, BIO *a, a, ASN1_STRING *b, b, return 0, retu
- DEFINEFUNC2(int, X509_check_issued, X509 *a, a, X509 *b, b, return -1, return)
- DEFINEFUNC(X509_NAME *, X509_get_issuer_name, X509 *a, a, return 0, return)
- DEFINEFUNC(X509_NAME *, X509_get_subject_name, X509 *a, a, return 0, return)
-+DEFINEFUNC(ASN1_INTEGER *, X509_get_serialNumber, X509 *a, a, return 0, return)
- DEFINEFUNC(int, X509_verify_cert, X509_STORE_CTX *a, a, return -1, return)
- DEFINEFUNC(int, X509_NAME_entry_count, X509_NAME *a, a, return 0, return)
- DEFINEFUNC2(X509_NAME_ENTRY *, X509_NAME_get_entry, X509_NAME *a, a, int b, b, return 0, return)
-@@ -393,25 +481,8 @@ DEFINEFUNC2(int, X509_STORE_CTX_set_purpose, X509_STORE_CTX *a, a, int b, b, ret
- DEFINEFUNC(int, X509_STORE_CTX_get_error, X509_STORE_CTX *a, a, return -1, return)
- DEFINEFUNC(int, X509_STORE_CTX_get_error_depth, X509_STORE_CTX *a, a, return -1, return)
- DEFINEFUNC(X509 *, X509_STORE_CTX_get_current_cert, X509_STORE_CTX *a, a, return 0, return)
--DEFINEFUNC(STACK_OF(X509) *, X509_STORE_CTX_get_chain, X509_STORE_CTX *a, a, return 0, return)
- DEFINEFUNC(X509_STORE_CTX *, X509_STORE_CTX_new, DUMMYARG, DUMMYARG, return 0, return)
--#ifdef SSLEAY_MACROS
--DEFINEFUNC2(int, i2d_DSAPrivateKey, const DSA *a, a, unsigned char **b, b, return -1, return)
--DEFINEFUNC2(int, i2d_RSAPrivateKey, const RSA *a, a, unsigned char **b, b, return -1, return)
--#ifndef OPENSSL_NO_EC
--DEFINEFUNC2(int, i2d_ECPrivateKey, const EC_KEY *a, a, unsigned char **b, b, return -1, return)
--#endif
--DEFINEFUNC3(RSA *, d2i_RSAPrivateKey, RSA **a, a, unsigned char **b, b, long c, c, return 0, return)
--DEFINEFUNC3(DSA *, d2i_DSAPrivateKey, DSA **a, a, unsigned char **b, b, long c, c, return 0, return)
--#ifndef OPENSSL_NO_EC
--DEFINEFUNC3(EC_KEY *, d2i_ECPrivateKey, EC_KEY **a, a, unsigned char **b, b, long c, c, return 0, return)
--#endif
--#endif
--DEFINEFUNC(void, OPENSSL_add_all_algorithms_noconf, void, DUMMYARG, return, DUMMYARG)
--DEFINEFUNC(void, OPENSSL_add_all_algorithms_conf, void, DUMMYARG, return, DUMMYARG)
- DEFINEFUNC3(int, SSL_CTX_load_verify_locations, SSL_CTX *ctx, ctx, const char *CAfile, CAfile, const char *CApath, CApath, return 0, return)
--DEFINEFUNC(long, SSLeay, void, DUMMYARG, return 0, return)
--DEFINEFUNC(const char *, SSLeay_version, int a, a, return 0, return)
- DEFINEFUNC2(int, i2d_SSL_SESSION, SSL_SESSION *in, in, unsigned char **pp, pp, return 0, return)
- DEFINEFUNC3(SSL_SESSION *, d2i_SSL_SESSION, SSL_SESSION **a, a, const unsigned char **pp, pp, long length, length, return 0, return)
- #if OPENSSL_VERSION_NUMBER >= 0x1000100fL && !defined(OPENSSL_NO_NEXTPROTONEG)
-@@ -694,8 +765,8 @@ static QPair<QLibrary*, QLibrary*> loadOpenSsl()
- #ifndef Q_OS_DARWIN
-     // second attempt: find the development files libssl.so and libcrypto.so
-     //
--    // disabled on OS X/iOS:
--    //  OS X's /usr/lib/libssl.dylib, /usr/lib/libcrypto.dylib will be picked up in the third
-+    // disabled on macOS/iOS:
-+    //  macOS's /usr/lib/libssl.dylib, /usr/lib/libcrypto.dylib will be picked up in the third
-     //    attempt, _after_ <bundle>/Contents/Frameworks has been searched.
-     //  iOS does not ship a system libssl.dylib, libcrypto.dylib in the first place.
-     libssl->setFileNameAndVersion(QLatin1String("ssl"), -1);
-@@ -754,7 +825,11 @@ bool q_resolveOpenSslSymbols()
-     static bool symbolsResolved = false;
-     static bool triedToResolveSymbols = false;
- #ifndef QT_NO_THREAD
-+#if QT_CONFIG(opensslv11)
-+    QMutexLocker locker(QMutexPool::globalInstanceGet((void *)&q_OPENSSL_init_ssl));
-+#else
-     QMutexLocker locker(QMutexPool::globalInstanceGet((void *)&q_SSL_library_init));
-+#endif
- #endif
-     if (symbolsResolved)
-         return true;
-@@ -771,11 +846,145 @@ bool q_resolveOpenSslSymbols()
-         // failed to load them
-         return false;
- 
-+#if QT_CONFIG(opensslv11)
-+
-+    RESOLVEFUNC(OPENSSL_init_ssl)
-+    RESOLVEFUNC(OPENSSL_init_crypto)
-+    RESOLVEFUNC(ASN1_STRING_get0_data)
-+    RESOLVEFUNC(EVP_CIPHER_CTX_reset)
-+    RESOLVEFUNC(EVP_PKEY_base_id)
-+    RESOLVEFUNC(RSA_bits)
-+    RESOLVEFUNC(OPENSSL_sk_new_null)
-+    RESOLVEFUNC(OPENSSL_sk_push)
-+    RESOLVEFUNC(OPENSSL_sk_free)
-+    RESOLVEFUNC(OPENSSL_sk_num)
-+    RESOLVEFUNC(OPENSSL_sk_pop_free)
-+    RESOLVEFUNC(OPENSSL_sk_value)
-+    RESOLVEFUNC(DH_get0_pqg)
-+    RESOLVEFUNC(SSL_CTX_set_options)
-+    RESOLVEFUNC(SSL_get_client_random)
-+    RESOLVEFUNC(SSL_SESSION_get_master_key)
-+    RESOLVEFUNC(SSL_session_reused)
-+    RESOLVEFUNC(SSL_get_session)
-+    RESOLVEFUNC(CRYPTO_get_ex_new_index)
-+    RESOLVEFUNC(TLS_method)
-+    RESOLVEFUNC(TLS_client_method)
-+    RESOLVEFUNC(TLS_server_method)
-+    RESOLVEFUNC(X509_STORE_CTX_get0_chain)
-+    RESOLVEFUNC(X509_getm_notBefore)
-+    RESOLVEFUNC(X509_getm_notAfter)
-+    RESOLVEFUNC(X509_get_version)
-+    RESOLVEFUNC(X509_get_pubkey)
-+    RESOLVEFUNC(X509_STORE_set_verify_cb)
-+    RESOLVEFUNC(CRYPTO_free)
-+    RESOLVEFUNC(OpenSSL_version_num)
-+    RESOLVEFUNC(OpenSSL_version)
-+    if (!_q_OpenSSL_version) {
-+        // Apparently, we were built with OpenSSL 1.1 enabled but are now using
-+        // a wrong library.
-+        delete libs.first;
-+        delete libs.second;
-+        qCWarning(lcSsl, "Incompatible version of OpenSSL");
-+        return false;
-+    }
-+
-+    RESOLVEFUNC(SSL_SESSION_get_ticket_lifetime_hint)
-+    RESOLVEFUNC(DH_bits)
-+    RESOLVEFUNC(DSA_bits)
-+
-+#else // !opensslv11
-+
-+    RESOLVEFUNC(ASN1_STRING_data)
-+
- #ifdef SSLEAY_MACROS
-     RESOLVEFUNC(ASN1_dup)
-+#endif // SSLEAY_MACROS
-+    RESOLVEFUNC(BIO_new_file)
-+    RESOLVEFUNC(ERR_clear_error)
-+    RESOLVEFUNC(CRYPTO_free)
-+    RESOLVEFUNC(CRYPTO_num_locks)
-+    RESOLVEFUNC(CRYPTO_set_id_callback)
-+    RESOLVEFUNC(CRYPTO_set_locking_callback)
-+    RESOLVEFUNC(ERR_peek_last_error)
-+    RESOLVEFUNC(ERR_free_strings)
-+    RESOLVEFUNC(EVP_CIPHER_CTX_cleanup)
-+    RESOLVEFUNC(EVP_CIPHER_CTX_init)
-+
-+#ifdef SSLEAY_MACROS // ### verify
-+    RESOLVEFUNC(PEM_ASN1_read_bio)
-+#endif // SSLEAY_MACROS
-+
-+    RESOLVEFUNC(sk_new_null)
-+    RESOLVEFUNC(sk_push)
-+    RESOLVEFUNC(sk_free)
-+    RESOLVEFUNC(sk_num)
-+    RESOLVEFUNC(sk_pop_free)
-+    RESOLVEFUNC(sk_value)
-+    RESOLVEFUNC(SSL_library_init)
-+    RESOLVEFUNC(SSL_load_error_strings)
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+    RESOLVEFUNC(SSL_get_ex_new_index)
-+#endif
-+#ifndef OPENSSL_NO_SSL2
-+    RESOLVEFUNC(SSLv2_client_method)
- #endif
-+#ifndef OPENSSL_NO_SSL3_METHOD
-+    RESOLVEFUNC(SSLv3_client_method)
-+#endif
-+    RESOLVEFUNC(SSLv23_client_method)
-+    RESOLVEFUNC(TLSv1_client_method)
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+    RESOLVEFUNC(TLSv1_1_client_method)
-+    RESOLVEFUNC(TLSv1_2_client_method)
-+#endif
-+#ifndef OPENSSL_NO_SSL2
-+    RESOLVEFUNC(SSLv2_server_method)
-+#endif
-+#ifndef OPENSSL_NO_SSL3_METHOD
-+    RESOLVEFUNC(SSLv3_server_method)
-+#endif
-+    RESOLVEFUNC(SSLv23_server_method)
-+    RESOLVEFUNC(TLSv1_server_method)
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+    RESOLVEFUNC(TLSv1_1_server_method)
-+    RESOLVEFUNC(TLSv1_2_server_method)
-+#endif
-+    RESOLVEFUNC(X509_STORE_CTX_get_chain)
-+#ifdef SSLEAY_MACROS
-+    RESOLVEFUNC(i2d_DSAPrivateKey)
-+    RESOLVEFUNC(i2d_RSAPrivateKey)
-+    RESOLVEFUNC(d2i_DSAPrivateKey)
-+    RESOLVEFUNC(d2i_RSAPrivateKey)
-+#endif
-+    RESOLVEFUNC(CONF_get1_default_config_file)
-+    RESOLVEFUNC(OPENSSL_add_all_algorithms_noconf)
-+    RESOLVEFUNC(OPENSSL_add_all_algorithms_conf)
-+    RESOLVEFUNC(SSLeay)
-+
-+    if (!_q_SSLeay || q_SSLeay() >= 0x10100000L) {
-+        // OpenSSL 1.1 has deprecated and removed SSLeay. We consider a failure to
-+        // resolve this symbol as a failure to resolve symbols.
-+        // The right operand of '||' above is ... a bit of paranoia.
-+        delete libs.first;
-+        delete libs.second;
-+        qCWarning(lcSsl, "Incompatible version of OpenSSL");
-+        return false;
-+    }
-+
-+
-+    RESOLVEFUNC(SSLeay_version)
-+
-+#ifndef OPENSSL_NO_EC
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L
-+    if (q_SSLeay() >= 0x10002000L)
-+        RESOLVEFUNC(EC_curve_nist2nid)
-+#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L
-+#endif // OPENSSL_NO_EC
-+
-+
-+#endif // !opensslv11
-+
-     RESOLVEFUNC(ASN1_INTEGER_get)
--    RESOLVEFUNC(ASN1_STRING_data)
-     RESOLVEFUNC(ASN1_STRING_length)
-     RESOLVEFUNC(ASN1_STRING_to_UTF8)
-     RESOLVEFUNC(BIO_ctrl)
-@@ -794,25 +1003,22 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(BN_is_word)
- #endif
-     RESOLVEFUNC(BN_mod_word)
--    RESOLVEFUNC(CRYPTO_free)
--    RESOLVEFUNC(CRYPTO_num_locks)
--    RESOLVEFUNC(CRYPTO_set_id_callback)
--    RESOLVEFUNC(CRYPTO_set_locking_callback)
-     RESOLVEFUNC(DSA_new)
-     RESOLVEFUNC(DSA_free)
-     RESOLVEFUNC(ERR_error_string)
-     RESOLVEFUNC(ERR_get_error)
--    RESOLVEFUNC(ERR_free_strings)
--    RESOLVEFUNC(EVP_CIPHER_CTX_cleanup)
--    RESOLVEFUNC(EVP_CIPHER_CTX_init)
-+    RESOLVEFUNC(EVP_CIPHER_CTX_new)
-+    RESOLVEFUNC(EVP_CIPHER_CTX_free)
-     RESOLVEFUNC(EVP_CIPHER_CTX_ctrl)
-     RESOLVEFUNC(EVP_CIPHER_CTX_set_key_length)
-     RESOLVEFUNC(EVP_CipherInit)
-+    RESOLVEFUNC(EVP_CipherInit_ex)
-     RESOLVEFUNC(EVP_CipherUpdate)
-     RESOLVEFUNC(EVP_CipherFinal)
-     RESOLVEFUNC(EVP_des_cbc)
-     RESOLVEFUNC(EVP_des_ede3_cbc)
-     RESOLVEFUNC(EVP_rc2_cbc)
-+    RESOLVEFUNC(EVP_sha1)
-     RESOLVEFUNC(EVP_PKEY_assign)
-     RESOLVEFUNC(EVP_PKEY_set1_RSA)
-     RESOLVEFUNC(EVP_PKEY_set1_DSA)
-@@ -834,9 +1040,8 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(i2t_ASN1_OBJECT)
-     RESOLVEFUNC(OBJ_obj2txt)
-     RESOLVEFUNC(OBJ_obj2nid)
--#ifdef SSLEAY_MACROS // ### verify
--    RESOLVEFUNC(PEM_ASN1_read_bio)
--#else
-+
-+#ifndef SSLEAY_MACROS
-     RESOLVEFUNC(PEM_read_bio_PrivateKey)
-     RESOLVEFUNC(PEM_read_bio_DSAPrivateKey)
-     RESOLVEFUNC(PEM_read_bio_RSAPrivateKey)
-@@ -849,7 +1054,8 @@ bool q_resolveOpenSslSymbols()
- #ifndef OPENSSL_NO_EC
-     RESOLVEFUNC(PEM_write_bio_ECPrivateKey)
- #endif
--#endif
-+#endif // !SSLEAY_MACROS
-+
-     RESOLVEFUNC(PEM_read_bio_PUBKEY)
-     RESOLVEFUNC(PEM_read_bio_DSA_PUBKEY)
-     RESOLVEFUNC(PEM_read_bio_RSA_PUBKEY)
-@@ -865,12 +1071,6 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(RAND_status)
-     RESOLVEFUNC(RSA_new)
-     RESOLVEFUNC(RSA_free)
--    RESOLVEFUNC(sk_new_null)
--    RESOLVEFUNC(sk_push)
--    RESOLVEFUNC(sk_free)
--    RESOLVEFUNC(sk_num)
--    RESOLVEFUNC(sk_pop_free)
--    RESOLVEFUNC(sk_value)
-     RESOLVEFUNC(SSL_CIPHER_description)
-     RESOLVEFUNC(SSL_CIPHER_get_bits)
-     RESOLVEFUNC(SSL_CTX_check_private_key)
-@@ -898,8 +1098,6 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(SSL_get_peer_cert_chain)
-     RESOLVEFUNC(SSL_get_peer_certificate)
-     RESOLVEFUNC(SSL_get_verify_result)
--    RESOLVEFUNC(SSL_library_init)
--    RESOLVEFUNC(SSL_load_error_strings)
-     RESOLVEFUNC(SSL_new)
-     RESOLVEFUNC(SSL_ctrl)
-     RESOLVEFUNC(SSL_read)
-@@ -912,7 +1110,6 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(SSL_get1_session)
-     RESOLVEFUNC(SSL_get_session)
- #if OPENSSL_VERSION_NUMBER >= 0x10001000L
--    RESOLVEFUNC(SSL_get_ex_new_index)
-     RESOLVEFUNC(SSL_set_ex_data)
-     RESOLVEFUNC(SSL_get_ex_data)
- #endif
-@@ -922,30 +1119,6 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(SSL_CTX_use_psk_identity_hint)
- #endif
-     RESOLVEFUNC(SSL_write)
--#ifndef OPENSSL_NO_SSL2
--    RESOLVEFUNC(SSLv2_client_method)
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--    RESOLVEFUNC(SSLv3_client_method)
--#endif
--    RESOLVEFUNC(SSLv23_client_method)
--    RESOLVEFUNC(TLSv1_client_method)
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L
--    RESOLVEFUNC(TLSv1_1_client_method)
--    RESOLVEFUNC(TLSv1_2_client_method)
--#endif
--#ifndef OPENSSL_NO_SSL2
--    RESOLVEFUNC(SSLv2_server_method)
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--    RESOLVEFUNC(SSLv3_server_method)
--#endif
--    RESOLVEFUNC(SSLv23_server_method)
--    RESOLVEFUNC(TLSv1_server_method)
--#if OPENSSL_VERSION_NUMBER >= 0x10001000L
--    RESOLVEFUNC(TLSv1_1_server_method)
--    RESOLVEFUNC(TLSv1_2_server_method)
--#endif
-     RESOLVEFUNC(X509_NAME_entry_count)
-     RESOLVEFUNC(X509_NAME_get_entry)
-     RESOLVEFUNC(X509_NAME_ENTRY_get_data)
-@@ -961,12 +1134,12 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(X509_STORE_CTX_get_error)
-     RESOLVEFUNC(X509_STORE_CTX_get_error_depth)
-     RESOLVEFUNC(X509_STORE_CTX_get_current_cert)
--    RESOLVEFUNC(X509_STORE_CTX_get_chain)
-     RESOLVEFUNC(X509_cmp)
- #ifndef SSLEAY_MACROS
-     RESOLVEFUNC(X509_dup)
- #endif
-     RESOLVEFUNC(X509_print)
-+    RESOLVEFUNC(X509_digest)
-     RESOLVEFUNC(X509_EXTENSION_get_object)
-     RESOLVEFUNC(X509_free)
-     RESOLVEFUNC(X509_get_ext)
-@@ -982,20 +1155,11 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(X509_check_issued)
-     RESOLVEFUNC(X509_get_issuer_name)
-     RESOLVEFUNC(X509_get_subject_name)
-+    RESOLVEFUNC(X509_get_serialNumber)
-     RESOLVEFUNC(X509_verify_cert)
-     RESOLVEFUNC(d2i_X509)
-     RESOLVEFUNC(i2d_X509)
--#ifdef SSLEAY_MACROS
--    RESOLVEFUNC(i2d_DSAPrivateKey)
--    RESOLVEFUNC(i2d_RSAPrivateKey)
--    RESOLVEFUNC(d2i_DSAPrivateKey)
--    RESOLVEFUNC(d2i_RSAPrivateKey)
--#endif
--    RESOLVEFUNC(OPENSSL_add_all_algorithms_noconf)
--    RESOLVEFUNC(OPENSSL_add_all_algorithms_conf)
-     RESOLVEFUNC(SSL_CTX_load_verify_locations)
--    RESOLVEFUNC(SSLeay)
--    RESOLVEFUNC(SSLeay_version)
-     RESOLVEFUNC(i2d_SSL_SESSION)
-     RESOLVEFUNC(d2i_SSL_SESSION)
- #if OPENSSL_VERSION_NUMBER >= 0x1000100fL && !defined(OPENSSL_NO_NEXTPROTONEG)
-@@ -1019,27 +1183,14 @@ bool q_resolveOpenSslSymbols()
-     RESOLVEFUNC(EC_KEY_new_by_curve_name)
-     RESOLVEFUNC(EC_KEY_free)
-     RESOLVEFUNC(EC_get_builtin_curves)
--#if OPENSSL_VERSION_NUMBER >= 0x10002000L
--    if (q_SSLeay() >= 0x10002000L)
--        RESOLVEFUNC(EC_curve_nist2nid)
--#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L
- #endif // OPENSSL_NO_EC
-     RESOLVEFUNC(PKCS12_parse)
-     RESOLVEFUNC(d2i_PKCS12_bio)
-     RESOLVEFUNC(PKCS12_free)
- 
-+    symbolsResolved = true;
-     delete libs.first;
-     delete libs.second;
--    if (!_q_SSLeay || q_SSLeay() >= 0x10100000L) {
--        // OpenSSL 1.1 deprecated and removed SSLeay. We consider a failure to
--        // resolve this symbol as a failure to resolve symbols.
--        // The right operand of '||' above ... a bit of paranoia.
--        qCWarning(lcSsl, "Incompatible version of OpenSSL");
--        return false;
--    }
--
--    symbolsResolved = true;
--
-     return true;
- }
- #endif // QT_CONFIG(library)
-diff --git a/src/network/ssl/qsslsocket_openssl_symbols_p.h b/src/network/ssl/qsslsocket_openssl_symbols_p.h
-index b35a895d38..796bf2d4f5 100644
---- a/src/network/ssl/qsslsocket_openssl_symbols_p.h
-+++ b/src/network/ssl/qsslsocket_openssl_symbols_p.h
-@@ -1,6 +1,6 @@
- /****************************************************************************
- **
--** Copyright (C) 2016 The Qt Company Ltd.
-+** Copyright (C) 2017 The Qt Company Ltd.
- ** Copyright (C) 2014 BlackBerry Limited. All rights reserved.
- ** Contact: https://www.qt.io/licensing/
- **
-@@ -56,6 +56,7 @@
- #ifndef QSSLSOCKET_OPENSSL_SYMBOLS_P_H
- #define QSSLSOCKET_OPENSSL_SYMBOLS_P_H
- 
-+
- //
- //  W A R N I N G
- //  -------------
-@@ -215,17 +216,20 @@ QT_BEGIN_NAMESPACE
- 
- #endif // !defined QT_LINKED_OPENSSL
- 
-+#if QT_CONFIG(opensslv11)
-+#include "qsslsocket_openssl11_symbols_p.h"
-+#else
-+#include "qsslsocket_opensslpre11_symbols_p.h"
-+#endif // QT_CONFIG
-+
- bool q_resolveOpenSslSymbols();
- long q_ASN1_INTEGER_get(ASN1_INTEGER *a);
--unsigned char * q_ASN1_STRING_data(ASN1_STRING *a);
- int q_ASN1_STRING_length(ASN1_STRING *a);
- int q_ASN1_STRING_to_UTF8(unsigned char **a, ASN1_STRING *b);
- long q_BIO_ctrl(BIO *a, int b, long c, void *d);
- Q_AUTOTEST_EXPORT int q_BIO_free(BIO *a);
--Q_AUTOTEST_EXPORT BIO *q_BIO_new(BIO_METHOD *a);
- BIO *q_BIO_new_mem_buf(void *a, int b);
- int q_BIO_read(BIO *a, void *b, int c);
--Q_AUTOTEST_EXPORT BIO_METHOD *q_BIO_s_mem();
- Q_AUTOTEST_EXPORT int q_BIO_write(BIO *a, const void *b, int c);
- int q_BN_num_bits(const BIGNUM *a);
- #if OPENSSL_VERSION_NUMBER >= 0x10100000L
-@@ -247,26 +251,23 @@ BN_ULONG q_BN_mod_word(const BIGNUM *a, BN_ULONG w);
- const EC_GROUP* q_EC_KEY_get0_group(const EC_KEY* k);
- int q_EC_GROUP_get_degree(const EC_GROUP* g);
- #endif
--int q_CRYPTO_num_locks();
--void q_CRYPTO_set_locking_callback(void (*a)(int, int, const char *, int));
--void q_CRYPTO_set_id_callback(unsigned long (*a)());
--void q_CRYPTO_free(void *a);
- DSA *q_DSA_new();
- void q_DSA_free(DSA *a);
- X509 *q_d2i_X509(X509 **a, const unsigned char **b, long c);
- char *q_ERR_error_string(unsigned long a, char *b);
- unsigned long q_ERR_get_error();
--void q_ERR_free_strings();
--void q_EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *a);
--void q_EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *a);
-+EVP_CIPHER_CTX *q_EVP_CIPHER_CTX_new();
-+void q_EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *a);
- int q_EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr);
- int q_EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x, int keylen);
- int q_EVP_CipherInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, const unsigned char *key, const unsigned char *iv, int enc);
-+int q_EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher, ENGINE *impl, const unsigned char *key, const unsigned char *iv, int enc);
- int q_EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, const unsigned char *in, int inl);
- int q_EVP_CipherFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl);
- const EVP_CIPHER *q_EVP_des_cbc();
- const EVP_CIPHER *q_EVP_des_ede3_cbc();
- const EVP_CIPHER *q_EVP_rc2_cbc();
-+const EVP_MD *q_EVP_sha1();
- int q_EVP_PKEY_assign(EVP_PKEY *a, int b, char *c);
- Q_AUTOTEST_EXPORT int q_EVP_PKEY_set1_RSA(EVP_PKEY *a, RSA *b);
- int q_EVP_PKEY_set1_DSA(EVP_PKEY *a, DSA *b);
-@@ -310,7 +311,7 @@ int q_PEM_write_bio_RSAPrivateKey(BIO *a, RSA *b, const EVP_CIPHER *c, unsigned
- int q_PEM_write_bio_ECPrivateKey(BIO *a, EC_KEY *b, const EVP_CIPHER *c, unsigned char *d,
-                                   int e, pem_password_cb *f, void *g);
- #endif
--#endif
-+#endif // SSLEAY_MACROS
- Q_AUTOTEST_EXPORT EVP_PKEY *q_PEM_read_bio_PUBKEY(BIO *a, EVP_PKEY **b, pem_password_cb *c, void *d);
- DSA *q_PEM_read_bio_DSA_PUBKEY(BIO *a, DSA **b, pem_password_cb *c, void *d);
- RSA *q_PEM_read_bio_RSA_PUBKEY(BIO *a, RSA **b, pem_password_cb *c, void *d);
-@@ -326,23 +327,10 @@ void q_RAND_seed(const void *a, int b);
- int q_RAND_status();
- RSA *q_RSA_new();
- void q_RSA_free(RSA *a);
--int q_sk_num(STACK *a);
--void q_sk_pop_free(STACK *a, void (*b)(void *));
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--_STACK *q_sk_new_null();
--void q_sk_push(_STACK *st, void *data);
--void q_sk_free(_STACK *a);
--void * q_sk_value(STACK *a, int b);
--#else
--STACK *q_sk_new_null();
--void q_sk_push(STACK *st, char *data);
--void q_sk_free(STACK *a);
--char * q_sk_value(STACK *a, int b);
--#endif
- int q_SSL_accept(SSL *a);
- int q_SSL_clear(SSL *a);
--char *q_SSL_CIPHER_description(SSL_CIPHER *a, char *b, int c);
--int q_SSL_CIPHER_get_bits(SSL_CIPHER *a, int *b);
-+char *q_SSL_CIPHER_description(const SSL_CIPHER *a, char *b, int c);
-+int q_SSL_CIPHER_get_bits(const SSL_CIPHER *a, int *b);
- int q_SSL_connect(SSL *a);
- int q_SSL_CTX_check_private_key(const SSL_CTX *a);
- long q_SSL_CTX_ctrl(SSL_CTX *a, int b, long c, void *d);
-@@ -374,8 +362,6 @@ int q_SSL_get_error(SSL *a, int b);
- STACK_OF(X509) *q_SSL_get_peer_cert_chain(SSL *a);
- X509 *q_SSL_get_peer_certificate(SSL *a);
- long q_SSL_get_verify_result(const SSL *a);
--int q_SSL_library_init();
--void q_SSL_load_error_strings();
- SSL *q_SSL_new(SSL_CTX *a);
- long q_SSL_ctrl(SSL *ssl,int cmd, long larg, void *parg);
- int q_SSL_read(SSL *a, void *b, int c);
-@@ -388,7 +374,6 @@ void q_SSL_SESSION_free(SSL_SESSION *ses);
- SSL_SESSION *q_SSL_get1_session(SSL *ssl);
- SSL_SESSION *q_SSL_get_session(const SSL *ssl);
- #if OPENSSL_VERSION_NUMBER >= 0x10001000L
--int q_SSL_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
- int q_SSL_set_ex_data(SSL *ssl, int idx, void *arg);
- void *q_SSL_get_ex_data(const SSL *ssl, int idx);
- #endif
-@@ -399,49 +384,6 @@ typedef unsigned int (*q_psk_server_callback_t)(SSL *ssl, const char *identity,
- void q_SSL_set_psk_server_callback(SSL *ssl, q_psk_server_callback_t callback);
- int q_SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *hint);
- #endif // OPENSSL_VERSION_NUMBER >= 0x10001000L && !defined(OPENSSL_NO_PSK)
--#if OPENSSL_VERSION_NUMBER >= 0x10000000L
--#ifndef OPENSSL_NO_SSL2
--const SSL_METHOD *q_SSLv2_client_method();
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--const SSL_METHOD *q_SSLv3_client_method();
--#endif
--const SSL_METHOD *q_SSLv23_client_method();
--const SSL_METHOD *q_TLSv1_client_method();
--const SSL_METHOD *q_TLSv1_1_client_method();
--const SSL_METHOD *q_TLSv1_2_client_method();
--#ifndef OPENSSL_NO_SSL2
--const SSL_METHOD *q_SSLv2_server_method();
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--const SSL_METHOD *q_SSLv3_server_method();
--#endif
--const SSL_METHOD *q_SSLv23_server_method();
--const SSL_METHOD *q_TLSv1_server_method();
--const SSL_METHOD *q_TLSv1_1_server_method();
--const SSL_METHOD *q_TLSv1_2_server_method();
--#else
--#ifndef OPENSSL_NO_SSL2
--SSL_METHOD *q_SSLv2_client_method();
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--SSL_METHOD *q_SSLv3_client_method();
--#endif
--SSL_METHOD *q_SSLv23_client_method();
--SSL_METHOD *q_TLSv1_client_method();
--SSL_METHOD *q_TLSv1_1_client_method();
--SSL_METHOD *q_TLSv1_2_client_method();
--#ifndef OPENSSL_NO_SSL2
--SSL_METHOD *q_SSLv2_server_method();
--#endif
--#ifndef OPENSSL_NO_SSL3_METHOD
--SSL_METHOD *q_SSLv3_server_method();
--#endif
--SSL_METHOD *q_SSLv23_server_method();
--SSL_METHOD *q_TLSv1_server_method();
--SSL_METHOD *q_TLSv1_1_server_method();
--SSL_METHOD *q_TLSv1_2_server_method();
--#endif
- int q_SSL_write(SSL *a, const void *b, int c);
- int q_X509_cmp(X509 *a, X509 *b);
- #ifdef SSLEAY_MACROS
-@@ -452,6 +394,7 @@ void *q_ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, char *x);
- X509 *q_X509_dup(X509 *a);
- #endif
- void q_X509_print(BIO *a, X509*b);
-+int q_X509_digest(const X509 *x509, const EVP_MD *type, unsigned char *md, unsigned int *len);
- ASN1_OBJECT *q_X509_EXTENSION_get_object(X509_EXTENSION *a);
- void q_X509_free(X509 *a);
- X509_EXTENSION *q_X509_get_ext(X509 *a, int b);
-@@ -471,6 +414,7 @@ int q_ASN1_STRING_print(BIO *a, ASN1_STRING *b);
- int q_X509_check_issued(X509 *a, X509 *b);
- X509_NAME *q_X509_get_issuer_name(X509 *a);
- X509_NAME *q_X509_get_subject_name(X509 *a);
-+ASN1_INTEGER *q_X509_get_serialNumber(X509 *a);
- int q_X509_verify_cert(X509_STORE_CTX *ctx);
- int q_X509_NAME_entry_count(X509_NAME *a);
- X509_NAME_ENTRY *q_X509_NAME_get_entry(X509_NAME *a,int b);
-@@ -488,7 +432,6 @@ int q_X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose);
- int q_X509_STORE_CTX_get_error(X509_STORE_CTX *ctx);
- int q_X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx);
- X509 *q_X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx);
--STACK_OF(X509) *q_X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx);
- 
- // Diffie-Hellman support
- DH *q_DH_new();
-@@ -522,34 +465,9 @@ int q_PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert,
- PKCS12 *q_d2i_PKCS12_bio(BIO *bio, PKCS12 **pkcs12);
- void q_PKCS12_free(PKCS12 *pkcs12);
- 
--
- #define q_BIO_get_mem_data(b, pp) (int)q_BIO_ctrl(b,BIO_CTRL_INFO,0,(char *)pp)
- #define q_BIO_pending(b) (int)q_BIO_ctrl(b,BIO_CTRL_PENDING,0,NULL)
--#ifdef SSLEAY_MACROS
--int     q_i2d_DSAPrivateKey(const DSA *a, unsigned char **pp);
--int     q_i2d_RSAPrivateKey(const RSA *a, unsigned char **pp);
--RSA *q_d2i_RSAPrivateKey(RSA **a, unsigned char **pp, long length);
--DSA *q_d2i_DSAPrivateKey(DSA **a, unsigned char **pp, long length);
--#define q_PEM_read_bio_RSAPrivateKey(bp, x, cb, u) \
--        (RSA *)q_PEM_ASN1_read_bio( \
--        (void *(*)(void**, const unsigned char**, long int))q_d2i_RSAPrivateKey, PEM_STRING_RSA, bp, (void **)x, cb, u)
--#define q_PEM_read_bio_DSAPrivateKey(bp, x, cb, u) \
--        (DSA *)q_PEM_ASN1_read_bio( \
--        (void *(*)(void**, const unsigned char**, long int))q_d2i_DSAPrivateKey, PEM_STRING_DSA, bp, (void **)x, cb, u)
--#define q_PEM_write_bio_RSAPrivateKey(bp,x,enc,kstr,klen,cb,u) \
--        PEM_ASN1_write_bio((int (*)(void*, unsigned char**))q_i2d_RSAPrivateKey,PEM_STRING_RSA,\
--                           bp,(char *)x,enc,kstr,klen,cb,u)
--#define q_PEM_write_bio_DSAPrivateKey(bp,x,enc,kstr,klen,cb,u) \
--        PEM_ASN1_write_bio((int (*)(void*, unsigned char**))q_i2d_DSAPrivateKey,PEM_STRING_DSA,\
--                           bp,(char *)x,enc,kstr,klen,cb,u)
--#define q_PEM_read_bio_DHparams(bp, dh, cb, u) \
--        (DH *)q_PEM_ASN1_read_bio( \
--        (void *(*)(void**, const unsigned char**, long int))q_d2i_DHparams, PEM_STRING_DHPARAMS, bp, (void **)x, cb, u)
--#endif
--#define q_SSL_CTX_set_options(ctx,op) q_SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL)
- #define q_SSL_CTX_set_mode(ctx,op) q_SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,(op),NULL)
--#define q_SKM_sk_num(type, st) ((int (*)(const STACK_OF(type) *))q_sk_num)(st)
--#define q_SKM_sk_value(type, st,i) ((type * (*)(const STACK_OF(type) *, int))q_sk_value)(st, i)
- #define q_sk_GENERAL_NAME_num(st) q_SKM_sk_num(GENERAL_NAME, (st))
- #define q_sk_GENERAL_NAME_value(st, i) q_SKM_sk_value(GENERAL_NAME, (st), (i))
- #define q_sk_X509_num(st) q_SKM_sk_num(X509, (st))
-@@ -558,18 +476,12 @@ DSA *q_d2i_DSAPrivateKey(DSA **a, unsigned char **pp, long length);
- #define q_sk_SSL_CIPHER_value(st, i) q_SKM_sk_value(SSL_CIPHER, (st), (i))
- #define q_SSL_CTX_add_extra_chain_cert(ctx,x509) \
-         q_SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)x509)
--#define q_X509_get_notAfter(x) X509_get_notAfter(x)
--#define q_X509_get_notBefore(x) X509_get_notBefore(x)
- #define q_EVP_PKEY_assign_RSA(pkey,rsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\
-                                         (char *)(rsa))
- #define q_EVP_PKEY_assign_DSA(pkey,dsa) q_EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\
-                                         (char *)(dsa))
- #define q_OpenSSL_add_all_algorithms() q_OPENSSL_add_all_algorithms_conf()
--void q_OPENSSL_add_all_algorithms_noconf();
--void q_OPENSSL_add_all_algorithms_conf();
- int q_SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, const char *CApath);
--long q_SSLeay();
--const char *q_SSLeay_version(int type);
- int q_i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp);
- SSL_SESSION *q_d2i_SSL_SESSION(SSL_SESSION **a, const unsigned char **pp, long length);
- 
-diff --git a/src/network/ssl/qsslsocket_opensslpre11.cpp b/src/network/ssl/qsslsocket_opensslpre11.cpp
-new file mode 100644
-index 0000000000..e51888c5f2
---- /dev/null
-+++ b/src/network/ssl/qsslsocket_opensslpre11.cpp
-@@ -0,0 +1,424 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2017 The Qt Company Ltd.
-+** Copyright (C) 2014 Governikus GmbH & Co. KG
-+** Contact: https://www.qt.io/licensing/
-+**
-+** This file is part of the QtNetwork module of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and The Qt Company. For licensing terms
-+** and conditions see https://www.qt.io/terms-conditions. For further
-+** information use the contact form at https://www.qt.io/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 3 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL3 included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 3 requirements
-+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 2.0 or (at your option) the GNU General
-+** Public license version 3 or any later version approved by the KDE Free
-+** Qt Foundation. The licenses are as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-+** included in the packaging of this file. Please review the following
-+** information to ensure the GNU General Public License requirements will
-+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-+** https://www.gnu.org/licenses/gpl-3.0.html.
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+/****************************************************************************
-+**
-+** In addition, as a special exception, the copyright holders listed above give
-+** permission to link the code of its release of Qt with the OpenSSL project's
-+** "OpenSSL" library (or modified versions of the "OpenSSL" library that use the
-+** same license as the original version), and distribute the linked executables.
-+**
-+** You must comply with the GNU General Public License version 2 in all
-+** respects for all of the code used other than the "OpenSSL" code.  If you
-+** modify this file, you may extend this exception to your version of the file,
-+** but you are not obligated to do so.  If you do not wish to do so, delete
-+** this exception statement from your version of this file.
-+**
-+****************************************************************************/
-+
-+//#define QT_DECRYPT_SSL_TRAFFIC
-+
-+#include "qssl_p.h"
-+#include "qsslsocket_openssl_p.h"
-+#include "qsslsocket_openssl_symbols_p.h"
-+#include "qsslsocket.h"
-+#include "qsslkey.h"
-+
-+#include <QtCore/qdebug.h>
-+#include <QtCore/qdir.h>
-+#include <QtCore/qdiriterator.h>
-+#include <QtCore/qthread.h>
-+#include <QtCore/qfile.h>
-+#include <QtCore/qmutex.h>
-+#include <QtCore/qlibrary.h>
-+
-+QT_BEGIN_NAMESPACE
-+
-+/* \internal
-+
-+    From OpenSSL's thread(3) manual page:
-+
-+    OpenSSL can safely be used in multi-threaded applications provided that at
-+    least two callback functions are set.
-+
-+    locking_function(int mode, int n, const char *file, int line) is needed to
-+    perform locking on shared data structures.  (Note that OpenSSL uses a
-+    number of global data structures that will be implicitly shared
-+    whenever multiple threads use OpenSSL.)  Multi-threaded
-+    applications will crash at random if it is not set.  ...
-+    ...
-+    id_function(void) is a function that returns a thread ID. It is not
-+    needed on Windows nor on platforms where getpid() returns a different
-+    ID for each thread (most notably Linux)
-+*/
-+
-+class QOpenSslLocks
-+{
-+public:
-+    QOpenSslLocks()
-+        : initLocker(QMutex::Recursive),
-+          locksLocker(QMutex::Recursive)
-+    {
-+        QMutexLocker locker(&locksLocker);
-+        int numLocks = q_CRYPTO_num_locks();
-+        locks = new QMutex *[numLocks];
-+        memset(locks, 0, numLocks * sizeof(QMutex *));
-+    }
-+    ~QOpenSslLocks()
-+    {
-+        QMutexLocker locker(&locksLocker);
-+        for (int i = 0; i < q_CRYPTO_num_locks(); ++i)
-+            delete locks[i];
-+        delete [] locks;
-+
-+        QSslSocketPrivate::deinitialize();
-+    }
-+    QMutex *lock(int num)
-+    {
-+        QMutexLocker locker(&locksLocker);
-+        QMutex *tmp = locks[num];
-+        if (!tmp)
-+            tmp = locks[num] = new QMutex(QMutex::Recursive);
-+        return tmp;
-+    }
-+
-+    QMutex *globalLock()
-+    {
-+        return &locksLocker;
-+    }
-+
-+    QMutex *initLock()
-+    {
-+        return &initLocker;
-+    }
-+
-+private:
-+    QMutex initLocker;
-+    QMutex locksLocker;
-+    QMutex **locks;
-+};
-+
-+Q_GLOBAL_STATIC(QOpenSslLocks, openssl_locks)
-+
-+extern "C" {
-+static void locking_function(int mode, int lockNumber, const char *, int)
-+{
-+    QMutex *mutex = openssl_locks()->lock(lockNumber);
-+
-+    // Lock or unlock it
-+    if (mode & CRYPTO_LOCK)
-+        mutex->lock();
-+    else
-+        mutex->unlock();
-+}
-+static unsigned long id_function()
-+{
-+    return (quintptr)QThread::currentThreadId();
-+}
-+
-+} // extern "C"
-+
-+static void q_OpenSSL_add_all_algorithms_safe()
-+{
-+#ifdef Q_OS_WIN
-+    // Prior to version 1.0.1m an attempt to call OpenSSL_add_all_algorithms on
-+    // Windows could result in 'exit' call from OPENSSL_config (QTBUG-43843).
-+    // We can predict this and avoid OPENSSL_add_all_algorithms call.
-+    // From OpenSSL docs:
-+    // "An application does not need to add algorithms to use them explicitly,
-+    // for example by EVP_sha1(). It just needs to add them if it (or any of
-+    // the functions it calls) needs to lookup algorithms.
-+    // The cipher and digest lookup functions are used in many parts of the
-+    // library. If the table is not initialized several functions will
-+    // misbehave and complain they cannot find algorithms. This includes the
-+    // PEM, PKCS#12, SSL and S/MIME libraries. This is a common query in
-+    // the OpenSSL mailing lists."
-+    //
-+    // Anyway, as a result, we chose not to call this function if it would exit.
-+
-+    if (q_SSLeay() < 0x100010DFL)
-+    {
-+        // Now, before we try to call it, check if an attempt to open config file
-+        // will result in exit:
-+        if (char *confFileName = q_CONF_get1_default_config_file()) {
-+            BIO *confFile = q_BIO_new_file(confFileName, "r");
-+            const auto lastError = q_ERR_peek_last_error();
-+            q_CRYPTO_free(confFileName);
-+            if (confFile) {
-+                q_BIO_free(confFile);
-+            } else {
-+                q_ERR_clear_error();
-+                if (ERR_GET_REASON(lastError) == ERR_R_SYS_LIB) {
-+                    qCWarning(lcSsl, "failed to open openssl.conf file");
-+                    return;
-+                }
-+            }
-+        }
-+    }
-+#endif // Q_OS_WIN
-+
-+    q_OpenSSL_add_all_algorithms();
-+}
-+
-+
-+/*!
-+    \internal
-+*/
-+void QSslSocketPrivate::deinitialize()
-+{
-+    q_CRYPTO_set_id_callback(0);
-+    q_CRYPTO_set_locking_callback(0);
-+    q_ERR_free_strings();
-+}
-+
-+
-+bool QSslSocketPrivate::ensureLibraryLoaded()
-+{
-+    if (!q_resolveOpenSslSymbols())
-+        return false;
-+
-+    // Check if the library itself needs to be initialized.
-+    QMutexLocker locker(openssl_locks()->initLock());
-+
-+    if (!s_libraryLoaded) {
-+        s_libraryLoaded = true;
-+
-+        // Initialize OpenSSL.
-+        q_CRYPTO_set_id_callback(id_function);
-+        q_CRYPTO_set_locking_callback(locking_function);
-+        if (q_SSL_library_init() != 1)
-+            return false;
-+        q_SSL_load_error_strings();
-+        q_OpenSSL_add_all_algorithms_safe();
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10001000L
-+        if (q_SSLeay() >= 0x10001000L)
-+            QSslSocketBackendPrivate::s_indexForSSLExtraData = q_SSL_get_ex_new_index(0L, NULL, NULL, NULL, NULL);
-+#endif
-+
-+        // Initialize OpenSSL's random seed.
-+        if (!q_RAND_status()) {
-+            qWarning("Random number generator not seeded, disabling SSL support");
-+            return false;
-+        }
-+    }
-+    return true;
-+}
-+
-+void QSslSocketPrivate::ensureCiphersAndCertsLoaded()
-+{
-+    QMutexLocker locker(openssl_locks()->initLock());
-+    if (s_loadedCiphersAndCerts)
-+        return;
-+    s_loadedCiphersAndCerts = true;
-+
-+    resetDefaultCiphers();
-+    resetDefaultEllipticCurves();
-+
-+#if QT_CONFIG(library)
-+    //load symbols needed to receive certificates from system store
-+#if defined(Q_OS_WIN)
-+    HINSTANCE hLib = LoadLibraryW(L"Crypt32");
-+    if (hLib) {
-+        ptrCertOpenSystemStoreW = (PtrCertOpenSystemStoreW)GetProcAddress(hLib, "CertOpenSystemStoreW");
-+        ptrCertFindCertificateInStore = (PtrCertFindCertificateInStore)GetProcAddress(hLib, "CertFindCertificateInStore");
-+        ptrCertCloseStore = (PtrCertCloseStore)GetProcAddress(hLib, "CertCloseStore");
-+        if (!ptrCertOpenSystemStoreW || !ptrCertFindCertificateInStore || !ptrCertCloseStore)
-+            qCWarning(lcSsl, "could not resolve symbols in crypt32 library"); // should never happen
-+    } else {
-+        qCWarning(lcSsl, "could not load crypt32 library"); // should never happen
-+    }
-+#elif defined(Q_OS_QNX)
-+    s_loadRootCertsOnDemand = true;
-+#elif defined(Q_OS_UNIX) && !defined(Q_OS_MACOS)
-+    // check whether we can enable on-demand root-cert loading (i.e. check whether the sym links are there)
-+    QList<QByteArray> dirs = unixRootCertDirectories();
-+    QStringList symLinkFilter;
-+    symLinkFilter << QLatin1String("[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f].[0-9]");
-+    for (int a = 0; a < dirs.count(); ++a) {
-+        QDirIterator iterator(QLatin1String(dirs.at(a)), symLinkFilter, QDir::Files);
-+        if (iterator.hasNext()) {
-+            s_loadRootCertsOnDemand = true;
-+            break;
-+        }
-+    }
-+#endif
-+#endif // QT_CONFIG(library)
-+    // if on-demand loading was not enabled, load the certs now
-+    if (!s_loadRootCertsOnDemand)
-+        setDefaultCaCertificates(systemCaCertificates());
-+#ifdef Q_OS_WIN
-+    //Enabled for fetching additional root certs from windows update on windows 6+
-+    //This flag is set false by setDefaultCaCertificates() indicating the app uses
-+    //its own cert bundle rather than the system one.
-+    //Same logic that disables the unix on demand cert loading.
-+    //Unlike unix, we do preload the certificates from the cert store.
-+    if ((QSysInfo::windowsVersion() & QSysInfo::WV_NT_based) >= QSysInfo::WV_6_0)
-+        s_loadRootCertsOnDemand = true;
-+#endif
-+}
-+
-+long QSslSocketPrivate::sslLibraryVersionNumber()
-+{
-+    if (!supportsSsl())
-+        return 0;
-+
-+    return q_SSLeay();
-+}
-+
-+QString QSslSocketPrivate::sslLibraryVersionString()
-+{
-+    if (!supportsSsl())
-+        return QString();
-+
-+    const char *versionString = q_SSLeay_version(SSLEAY_VERSION);
-+    if (!versionString)
-+        return QString();
-+
-+    return QString::fromLatin1(versionString);
-+}
-+
-+void QSslSocketBackendPrivate::continueHandshake()
-+{
-+    Q_Q(QSslSocket);
-+    // if we have a max read buffer size, reset the plain socket's to match
-+    if (readBufferMaxSize)
-+        plainSocket->setReadBufferSize(readBufferMaxSize);
-+
-+    if (q_SSL_ctrl((ssl), SSL_CTRL_GET_SESSION_REUSED, 0, NULL))
-+        configuration.peerSessionShared = true;
-+
-+#ifdef QT_DECRYPT_SSL_TRAFFIC
-+    if (ssl->session && ssl->s3) {
-+        const char *mk = reinterpret_cast<const char *>(ssl->session->master_key);
-+        QByteArray masterKey(mk, ssl->session->master_key_length);
-+        const char *random = reinterpret_cast<const char *>(ssl->s3->client_random);
-+        QByteArray clientRandom(random, SSL3_RANDOM_SIZE);
-+
-+        // different format, needed for e.g. older Wireshark versions:
-+//        const char *sid = reinterpret_cast<const char *>(ssl->session->session_id);
-+//        QByteArray sessionID(sid, ssl->session->session_id_length);
-+//        QByteArray debugLineRSA("RSA Session-ID:");
-+//        debugLineRSA.append(sessionID.toHex().toUpper());
-+//        debugLineRSA.append(" Master-Key:");
-+//        debugLineRSA.append(masterKey.toHex().toUpper());
-+//        debugLineRSA.append("\n");
-+
-+        QByteArray debugLineClientRandom("CLIENT_RANDOM ");
-+        debugLineClientRandom.append(clientRandom.toHex().toUpper());
-+        debugLineClientRandom.append(" ");
-+        debugLineClientRandom.append(masterKey.toHex().toUpper());
-+        debugLineClientRandom.append("\n");
-+
-+        QString sslKeyFile = QDir::tempPath() + QLatin1String("/qt-ssl-keys");
-+        QFile file(sslKeyFile);
-+        if (!file.open(QIODevice::Append))
-+            qCWarning(lcSsl) << "could not open file" << sslKeyFile << "for appending";
-+        if (!file.write(debugLineClientRandom))
-+            qCWarning(lcSsl) << "could not write to file" << sslKeyFile;
-+        file.close();
-+    } else {
-+        qCWarning(lcSsl, "could not decrypt SSL traffic");
-+    }
-+#endif
-+
-+    // Cache this SSL session inside the QSslContext
-+    if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionSharing)) {
-+        if (!sslContextPointer->cacheSession(ssl)) {
-+            sslContextPointer.clear(); // we could not cache the session
-+        } else {
-+            // Cache the session for permanent usage as well
-+            if (!(configuration.sslOptions & QSsl::SslOptionDisableSessionPersistence)) {
-+                if (!sslContextPointer->sessionASN1().isEmpty())
-+                    configuration.sslSession = sslContextPointer->sessionASN1();
-+                configuration.sslSessionTicketLifeTimeHint = sslContextPointer->sessionTicketLifeTimeHint();
-+            }
-+        }
-+    }
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x1000100fL && !defined(OPENSSL_NO_NEXTPROTONEG)
-+
-+    configuration.nextProtocolNegotiationStatus = sslContextPointer->npnContext().status;
-+    if (sslContextPointer->npnContext().status == QSslConfiguration::NextProtocolNegotiationUnsupported) {
-+        // we could not agree -> be conservative and use HTTP/1.1
-+        configuration.nextNegotiatedProtocol = QByteArrayLiteral("http/1.1");
-+    } else {
-+        const unsigned char *proto = 0;
-+        unsigned int proto_len = 0;
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L
-+        if (q_SSLeay() >= 0x10002000L) {
-+            q_SSL_get0_alpn_selected(ssl, &proto, &proto_len);
-+            if (proto_len && mode == QSslSocket::SslClientMode) {
-+                // Client does not have a callback that sets it ...
-+                configuration.nextProtocolNegotiationStatus = QSslConfiguration::NextProtocolNegotiationNegotiated;
-+            }
-+        }
-+
-+        if (!proto_len) { // Test if NPN was more lucky ...
-+#else
-+        {
-+#endif
-+            q_SSL_get0_next_proto_negotiated(ssl, &proto, &proto_len);
-+        }
-+
-+        if (proto_len)
-+            configuration.nextNegotiatedProtocol = QByteArray(reinterpret_cast<const char *>(proto), proto_len);
-+        else
-+            configuration.nextNegotiatedProtocol.clear();
-+    }
-+#endif // OPENSSL_VERSION_NUMBER >= 0x1000100fL ...
-+
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L
-+    if (q_SSLeay() >= 0x10002000L && mode == QSslSocket::SslClientMode) {
-+        EVP_PKEY *key;
-+        if (q_SSL_get_server_tmp_key(ssl, &key))
-+            configuration.ephemeralServerKey = QSslKey(key, QSsl::PublicKey);
-+    }
-+#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L ...
-+
-+    connectionEncrypted = true;
-+    emit q->encrypted();
-+    if (autoStartHandshake && pendingClose) {
-+        pendingClose = false;
-+        q->disconnectFromHost();
-+    }
-+}
-+
-+QT_END_NAMESPACE
-diff --git a/src/network/ssl/ssl.pri b/src/network/ssl/ssl.pri
-index d2b0c2d60d..2783effaf1 100644
---- a/src/network/ssl/ssl.pri
-+++ b/src/network/ssl/ssl.pri
-@@ -60,13 +60,25 @@ qtConfig(ssl) {
-         HEADERS += ssl/qsslcontext_openssl_p.h \
-                    ssl/qsslsocket_openssl_p.h \
-                    ssl/qsslsocket_openssl_symbols_p.h
--        SOURCES += ssl/qsslcertificate_openssl.cpp \
--                   ssl/qsslcontext_openssl.cpp \
-+        SOURCES += ssl/qsslsocket_openssl_symbols.cpp \
-                    ssl/qssldiffiehellmanparameters_openssl.cpp \
-+                   ssl/qsslcertificate_openssl.cpp \
-                    ssl/qsslellipticcurve_openssl.cpp \
-                    ssl/qsslkey_openssl.cpp \
-                    ssl/qsslsocket_openssl.cpp \
--                   ssl/qsslsocket_openssl_symbols.cpp
-+                   ssl/qsslcontext_openssl.cpp
-+
-+        qtConfig(opensslv11) {
-+            HEADERS += ssl/qsslsocket_openssl11_symbols_p.h
-+            SOURCES += ssl/qsslsocket_openssl11.cpp \
-+                       ssl/qsslcontext_openssl11.cpp
-+
-+            QMAKE_CXXFLAGS += -DOPENSSL_API_COMPAT=0x10100000L
-+        } else {
-+            HEADERS += ssl/qsslsocket_opensslpre11_symbols_p.h
-+            SOURCES += ssl/qsslsocket_opensslpre11.cpp \
-+                       ssl/qsslcontext_opensslpre11.cpp
-+        }
- 
-         darwin:SOURCES += ssl/qsslsocket_mac_shared.cpp
- 
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase.patch b/pkgs/development/libraries/qt-5/5.9/qtbase.patch
deleted file mode 100644
index f87c508a3800..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase.patch
+++ /dev/null
@@ -1,1119 +0,0 @@
-diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf
-index 5208379f9a..92fe29a0ac 100644
---- a/mkspecs/common/mac.conf
-+++ b/mkspecs/common/mac.conf
-@@ -23,7 +23,7 @@ QMAKE_INCDIR_OPENGL     = \
- 
- QMAKE_FIX_RPATH         = install_name_tool -id
- 
--QMAKE_LFLAGS_RPATH      = -Wl,-rpath,
-+QMAKE_LFLAGS_RPATH      =
- QMAKE_LFLAGS_GCSECTIONS = -Wl,-dead_strip
- 
- QMAKE_LFLAGS_REL_RPATH  =
-diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
-index bb5083c925..77034f9bb6 100644
---- a/mkspecs/features/create_cmake.prf
-+++ b/mkspecs/features/create_cmake.prf
-@@ -21,7 +21,7 @@ load(cmake_functions)
- # at cmake time whether package has been found via a symlink, and correct
- # that to an absolute path. This is only done for installations to
- # the /usr or / prefix.
--CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$[QT_INSTALL_LIBS])
-+CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$NIX_OUTPUT_OUT/lib/)
- contains(CMAKE_INSTALL_LIBS_DIR, ^(/usr)?/lib(64)?.*): CMAKE_USR_MOVE_WORKAROUND = $$CMAKE_INSTALL_LIBS_DIR
- 
- CMAKE_OUT_DIR = $$MODULE_BASE_OUTDIR/lib/cmake
-@@ -47,47 +47,22 @@ split_incpath {
-         $$cmake_extra_source_includes.output
- }
- 
--CMAKE_INCLUDE_DIR = $$cmakeRelativePath($$[QT_INSTALL_HEADERS], $$[QT_INSTALL_PREFIX])
--contains(CMAKE_INCLUDE_DIR, "^\\.\\./.*") {
--    CMAKE_INCLUDE_DIR = $$[QT_INSTALL_HEADERS]/
--    CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True
--}
-+CMAKE_INCLUDE_DIR = $$NIX_OUTPUT_DEV/include/
-+CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True
- 
- !exists($$first(QT.$${MODULE}_private.includes)): CMAKE_NO_PRIVATE_INCLUDES = true
- 
--CMAKE_LIB_DIR = $$cmakeRelativePath($$[QT_INSTALL_LIBS], $$[QT_INSTALL_PREFIX])
--contains(CMAKE_LIB_DIR,"^\\.\\./.*") {
--    CMAKE_LIB_DIR = $$[QT_INSTALL_LIBS]/
--    CMAKE_LIB_DIR_IS_ABSOLUTE = True
--} else {
--    CMAKE_RELATIVE_INSTALL_LIBS_DIR = $$cmakeRelativePath($$[QT_INSTALL_PREFIX], $$[QT_INSTALL_LIBS])
--    # We need to go up another two levels because the CMake files are
--    # installed in $${CMAKE_LIB_DIR}/cmake/Qt5$${CMAKE_MODULE_NAME}
--    CMAKE_RELATIVE_INSTALL_DIR = "$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}../../"
--}
-+CMAKE_LIB_DIR = $$NIX_OUTPUT_OUT/lib/
-+CMAKE_LIB_DIR_IS_ABSOLUTE = True
- 
--CMAKE_BIN_DIR = $$cmakeRelativePath($$[QT_HOST_BINS], $$[QT_INSTALL_PREFIX])
--contains(CMAKE_BIN_DIR, "^\\.\\./.*") {
--    CMAKE_BIN_DIR = $$[QT_HOST_BINS]/
--    CMAKE_BIN_DIR_IS_ABSOLUTE = True
--}
-+CMAKE_BIN_DIR = $$NIX_OUTPUT_BIN/bin/
-+CMAKE_BIN_DIR_IS_ABSOLUTE = True
- 
--CMAKE_PLUGIN_DIR = $$cmakeRelativePath($$[QT_INSTALL_PLUGINS], $$[QT_INSTALL_PREFIX])
--contains(CMAKE_PLUGIN_DIR, "^\\.\\./.*") {
--    CMAKE_PLUGIN_DIR = $$[QT_INSTALL_PLUGINS]/
--    CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True
--}
-+CMAKE_PLUGIN_DIR = $$NIX_OUTPUT_PLUGIN/
-+CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True
- 
--win32:!static:!staticlib {
--    CMAKE_DLL_DIR = $$cmakeRelativePath($$[QT_INSTALL_BINS], $$[QT_INSTALL_PREFIX])
--    contains(CMAKE_DLL_DIR, "^\\.\\./.*") {
--        CMAKE_DLL_DIR = $$[QT_INSTALL_BINS]/
--        CMAKE_DLL_DIR_IS_ABSOLUTE = True
--    }
--} else {
--    CMAKE_DLL_DIR = $$CMAKE_LIB_DIR
--    CMAKE_DLL_DIR_IS_ABSOLUTE = $$CMAKE_LIB_DIR_IS_ABSOLUTE
--}
-+CMAKE_DLL_DIR = $$NIX_OUTPUT_OUT/lib/
-+CMAKE_DLL_DIR_IS_ABSOLUTE = True
- 
- static|staticlib:CMAKE_STATIC_TYPE = true
- 
-@@ -167,7 +142,7 @@ contains(CONFIG, plugin) {
-       cmake_target_file
- 
-     cmake_qt5_plugin_file.files = $$cmake_target_file.output
--    cmake_qt5_plugin_file.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME}
-+    cmake_qt5_plugin_file.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME}
-     INSTALLS += cmake_qt5_plugin_file
- 
-     return()
-@@ -314,7 +289,7 @@ exists($$cmake_macros_file.input) {
-     cmake_qt5_module_files.files += $$cmake_macros_file.output
- }
- 
--cmake_qt5_module_files.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME}
-+cmake_qt5_module_files.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME}
- 
- # We are generating cmake files. Most developers of Qt are not aware of cmake,
- # so we require automatic tests to be available. The only module which should
-diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-index 55c74aad66..0bbc8718eb 100644
---- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-+++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-@@ -9,30 +9,6 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0)
- endif()
- !!ENDIF
- 
--!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND)
--!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
--!!ELSE
--get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH)
--# Use original install prefix when loaded through a
--# cross-prefix symbolic link such as /lib -> /usr/lib.
--get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH)
--get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH)
--if(_realCurr STREQUAL _realOrig)
--    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE)
--else()
--    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
--endif()
--unset(_realOrig)
--unset(_realCurr)
--unset(_IMPORT_PREFIX)
--!!ENDIF
--!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
--!!ELSE
--set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
--!!ENDIF
--
- !!IF !equals(TEMPLATE, aux)
- # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead.
- set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.VERSION)")
-@@ -58,11 +34,7 @@ endmacro()
- macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATION IMPLIB_LOCATION)
-     set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
--!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
--!!ELSE
-     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
--!!ENDIF
-     _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
-     set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
-         \"INTERFACE_LINK_LIBRARIES\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\"
-@@ -75,11 +47,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
-     )
- 
- !!IF !isEmpty(CMAKE_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
--!!ELSE
-     set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
--!!ENDIF
-     _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib})
-     if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\")
-         set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
-@@ -95,24 +63,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
- !!IF !no_module_headers
- !!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
-     set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS
--      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\"
--      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\"
-+      \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\"
-+      \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\"
-     )
- !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
--    )
--!!ELSE
--    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
--!!ENDIF
--!!ELSE
--!!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
--    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\")
--!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
--    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\"
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\"
-+        \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
-+        \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
-     )
- !!ELSE
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
-@@ -128,7 +85,6 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
- !!ENDIF
- !!ENDIF
--!!ENDIF
- !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS)
-     include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL)
- !!ENDIF
-@@ -280,25 +236,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
- !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
- !!IF isEmpty(CMAKE_DEBUG_TYPE)
- !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
-     if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" )
- !!ELSE // CMAKE_STATIC_WINDOWS_BUILD
-     if (EXISTS
--!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
--!!ELSE
-         \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
--!!ENDIF
-       AND EXISTS
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ELSE
-         \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ENDIF
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
- !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
-     endif()
-@@ -317,25 +261,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
- !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
- !!IF isEmpty(CMAKE_RELEASE_TYPE)
- !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
-     if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" )
- !!ELSE // CMAKE_STATIC_WINDOWS_BUILD
-     if (EXISTS
--!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
--!!ELSE
-         \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
--!!ENDIF
-       AND EXISTS
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ELSE
-         \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ENDIF
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
- !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
-     endif()
-@@ -354,11 +286,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
-     macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION)
-         set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
--!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
--        set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
--!!ELSE
-         set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
--!!ENDIF
-         _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
-         set_target_properties(Qt5::${Plugin} PROPERTIES
-             \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
-diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf
-index e645ba5803..a0e5c68b7e 100644
---- a/mkspecs/features/mac/default_post.prf
-+++ b/mkspecs/features/mac/default_post.prf
-@@ -24,166 +24,3 @@ qt {
-         }
-     }
- }
--
--# Add the same default rpaths as Xcode does for new projects.
--# This is especially important for iOS/tvOS/watchOS where no other option is possible.
--!no_default_rpath {
--    QMAKE_RPATHDIR += @executable_path/Frameworks
--    equals(TEMPLATE, lib):!plugin:lib_bundle: QMAKE_RPATHDIR += @loader_path/Frameworks
--}
--
--# Don't pass -headerpad_max_install_names when using Bitcode.
--# In that case the linker emits a warning stating that the flag is ignored when
--# used with bitcode, for reasons that cannot be determined (rdar://problem/20748962).
--# Using this flag is also unnecessary in practice on UIKit platforms since they
--# are sandboxed, and only UIKit platforms support bitcode to begin with.
--!bitcode: QMAKE_LFLAGS += $$QMAKE_LFLAGS_HEADERPAD
--
--app_extension_api_only {
--    QMAKE_CFLAGS              += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--    QMAKE_CXXFLAGS            += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--    QMAKE_CXXFLAGS_PRECOMPILE += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--    QMAKE_LFLAGS              += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--}
--
--macx-xcode {
--    !isEmpty(QMAKE_XCODE_DEBUG_INFORMATION_FORMAT) {
--        debug_information_format.name = DEBUG_INFORMATION_FORMAT
--        debug_information_format.value = $$QMAKE_XCODE_DEBUG_INFORMATION_FORMAT
--        debug_information_format.build = debug
--        QMAKE_MAC_XCODE_SETTINGS += debug_information_format
--    }
--
--    QMAKE_XCODE_ARCHS =
--
--    arch_device.name = "ARCHS[sdk=$${device.sdk}*]"
--    arch_device.value = $$QMAKE_APPLE_DEVICE_ARCHS
--    QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_DEVICE_ARCHS
--    QMAKE_MAC_XCODE_SETTINGS += arch_device
--
--    simulator {
--        arch_simulator.name = "ARCHS[sdk=$${simulator.sdk}*]"
--        arch_simulator.value = $$QMAKE_APPLE_SIMULATOR_ARCHS
--        QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_SIMULATOR_ARCHS
--        QMAKE_MAC_XCODE_SETTINGS += arch_simulator
--    }
--
--    only_active_arch.name = ONLY_ACTIVE_ARCH
--    only_active_arch.value = YES
--    only_active_arch.build = debug
--    QMAKE_MAC_XCODE_SETTINGS += only_active_arch
--} else {
--    device|!simulator: VALID_DEVICE_ARCHS = $$QMAKE_APPLE_DEVICE_ARCHS
--    simulator: VALID_SIMULATOR_ARCHS = $$QMAKE_APPLE_SIMULATOR_ARCHS
--    VALID_ARCHS = $$VALID_DEVICE_ARCHS $$VALID_SIMULATOR_ARCHS
--
--    isEmpty(VALID_ARCHS): \
--        error("QMAKE_APPLE_DEVICE_ARCHS or QMAKE_APPLE_SIMULATOR_ARCHS must contain at least one architecture")
--
--    single_arch: VALID_ARCHS = $$first(VALID_ARCHS)
--
--    ACTIVE_ARCHS = $(filter $(EXPORT_VALID_ARCHS), $(ARCHS))
--    ARCH_ARGS = $(foreach arch, $(if $(EXPORT_ACTIVE_ARCHS), $(EXPORT_ACTIVE_ARCHS), $(EXPORT_VALID_ARCHS)), -arch $(arch))
--
--    QMAKE_EXTRA_VARIABLES += VALID_ARCHS ACTIVE_ARCHS ARCH_ARGS
--
--    arch_flags = $(EXPORT_ARCH_ARGS)
--
--    QMAKE_CFLAGS += $$arch_flags
--    QMAKE_CXXFLAGS += $$arch_flags
--    QMAKE_LFLAGS += $$arch_flags
--
--    QMAKE_PCH_ARCHS = $$VALID_ARCHS
--
--    macos: deployment_target = $$QMAKE_MACOSX_DEPLOYMENT_TARGET
--    ios: deployment_target = $$QMAKE_IOS_DEPLOYMENT_TARGET
--    tvos: deployment_target = $$QMAKE_TVOS_DEPLOYMENT_TARGET
--    watchos: deployment_target = $$QMAKE_WATCHOS_DEPLOYMENT_TARGET
--
--    # If we're doing a simulator and device build, device and simulator
--    # architectures use different paths and flags for the sysroot and
--    # deployment target switch, so we must multiplex them across multiple
--    # architectures using -Xarch. Otherwise we fall back to the simple path.
--    # This is not strictly necessary, but results in cleaner command lines
--    # and makes it easier for people to override EXPORT_VALID_ARCHS to limit
--    # individual rules to a different set of architecture(s) from the overall
--    # build (such as machtest in QtCore).
--    simulator:device {
--        QMAKE_XARCH_CFLAGS =
--        QMAKE_XARCH_LFLAGS =
--        QMAKE_EXTRA_VARIABLES += QMAKE_XARCH_CFLAGS QMAKE_XARCH_LFLAGS
--
--        for (arch, VALID_ARCHS) {
--            contains(VALID_SIMULATOR_ARCHS, $$arch) {
--                sdk = $$simulator.sdk
--                version_identifier = $$simulator.deployment_identifier
--            } else {
--                sdk = $$device.sdk
--                version_identifier = $$device.deployment_identifier
--            }
--
--            version_min_flags = \
--                -Xarch_$${arch} \
--                -m$${version_identifier}-version-min=$$deployment_target
--            QMAKE_XARCH_CFLAGS_$${arch} = $$version_min_flags \
--                -Xarch_$${arch} \
--                -isysroot$$xcodeSDKInfo(Path, $$sdk)
--            QMAKE_XARCH_LFLAGS_$${arch} = $$version_min_flags \
--                -Xarch_$${arch} \
--                -Wl,-syslibroot,$$xcodeSDKInfo(Path, $$sdk)
--
--            QMAKE_XARCH_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS_$${arch})
--            QMAKE_XARCH_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS_$${arch})
--
--            QMAKE_EXTRA_VARIABLES += \
--                QMAKE_XARCH_CFLAGS_$${arch} \
--                QMAKE_XARCH_LFLAGS_$${arch}
--        }
--
--        QMAKE_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS)
--        QMAKE_CXXFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS)
--        QMAKE_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS)
--    } else {
--        simulator: \
--            version_identifier = $$simulator.deployment_identifier
--        else: \
--            version_identifier = $$device.deployment_identifier
--        version_min_flag = -m$${version_identifier}-version-min=$$deployment_target
--        QMAKE_CFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag
--        QMAKE_CXXFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag
--        QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_MAC_SDK_PATH $$version_min_flag
--    }
--
--    # Enable precompiled headers for multiple architectures
--    QMAKE_CFLAGS_USE_PRECOMPILE =
--    for (arch, VALID_ARCHS) {
--        icc_pch_style: \
--            use_flag = "-pch-use "
--        else: \
--            use_flag = -include
--
--        # Only use Xarch with multi-arch, as the option confuses ccache
--        count(VALID_ARCHS, 1, greaterThan): \
--            QMAKE_CFLAGS_USE_PRECOMPILE += \
--                -Xarch_$${arch}
--
--        QMAKE_CFLAGS_USE_PRECOMPILE += \
--            $${use_flag}${QMAKE_PCH_OUTPUT_$${arch}}
--    }
--    icc_pch_style {
--        QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -include ${QMAKE_PCH_INPUT}
--        QMAKE_CFLAGS_USE_PRECOMPILE =
--    } else {
--        QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
--        QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
--        QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
--    }
--
--    QMAKE_PCH_OUTPUT_EXT = _${QMAKE_PCH_ARCH}$${QMAKE_PCH_OUTPUT_EXT}
--}
--
--cache(QMAKE_XCODE_DEVELOPER_PATH, stash)
--!isEmpty(QMAKE_XCODE_VERSION): \
--    cache(QMAKE_XCODE_VERSION, stash)
--
--QMAKE_XCODE_LIBRARY_SUFFIX = $$qtPlatformTargetSuffix()
-diff --git a/mkspecs/features/mac/default_pre.prf b/mkspecs/features/mac/default_pre.prf
-index 44636f2288..3b01424e67 100644
---- a/mkspecs/features/mac/default_pre.prf
-+++ b/mkspecs/features/mac/default_pre.prf
-@@ -1,56 +1,2 @@
- CONFIG = asset_catalogs rez $$CONFIG
- load(default_pre)
--
--isEmpty(QMAKE_XCODE_DEVELOPER_PATH) {
--    # Get path of Xcode's Developer directory
--    QMAKE_XCODE_DEVELOPER_PATH = $$system("/usr/bin/xcode-select --print-path 2>/dev/null")
--    isEmpty(QMAKE_XCODE_DEVELOPER_PATH): \
--        error("Xcode path is not set. Please use xcode-select to choose Xcode installation path.")
--
--    # Make sure Xcode path is valid
--    !exists($$QMAKE_XCODE_DEVELOPER_PATH): \
--        error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.")
--}
--
--isEmpty(QMAKE_XCODEBUILD_PATH): \
--    QMAKE_XCODEBUILD_PATH = $$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")
--
--!isEmpty(QMAKE_XCODEBUILD_PATH) {
--    # Make sure Xcode is set up properly
--    !system("/usr/bin/xcrun xcodebuild -license check 2>/dev/null"): \
--        error("Xcode not set up properly. You need to confirm the license agreement by running 'sudo xcrun xcodebuild -license accept'.")
--
--    isEmpty(QMAKE_XCODE_VERSION) {
--        # Extract Xcode version using xcodebuild
--        xcode_version = $$system("/usr/bin/xcrun xcodebuild -version")
--        QMAKE_XCODE_VERSION = $$member(xcode_version, 1)
--        isEmpty(QMAKE_XCODE_VERSION): error("Could not resolve Xcode version.")
--        unset(xcode_version)
--    }
--}
--
--isEmpty(QMAKE_TARGET_BUNDLE_PREFIX) {
--    QMAKE_XCODE_PREFERENCES_FILE = $$(HOME)/Library/Preferences/com.apple.dt.Xcode.plist
--    exists($$QMAKE_XCODE_PREFERENCES_FILE): \
--        QMAKE_TARGET_BUNDLE_PREFIX = $$system("/usr/libexec/PlistBuddy -c 'print IDETemplateOptions:bundleIdentifierPrefix' $$QMAKE_XCODE_PREFERENCES_FILE 2>/dev/null")
--
--    !isEmpty(_QMAKE_CACHE_):!isEmpty(QMAKE_TARGET_BUNDLE_PREFIX): \
--        cache(QMAKE_TARGET_BUNDLE_PREFIX)
--}
--
--QMAKE_ASSET_CATALOGS_APP_ICON = AppIcon
--
--# Make the default debug info format for static debug builds
--# DWARF instead of DWARF with dSYM. This cuts down build times
--# for application debug builds significantly, as Xcode doesn't
--# have to pull out all the DWARF info from the Qt static libs
--# and put it into a dSYM file. We don't need that dSYM file in
--# the first place, since the information is available in the
--# object files inside the archives (static libraries).
--macx-xcode:qtConfig(static): \
--    QMAKE_XCODE_DEBUG_INFORMATION_FORMAT = dwarf
--
--# This variable is used by the xcode_dynamic_library_suffix
--# feature, which allows Xcode to choose the Qt libraries to link to
--# at build time, depending on the current Xcode SDK and configuration.
--QMAKE_XCODE_LIBRARY_SUFFIX_SETTING = QT_LIBRARY_SUFFIX
-diff --git a/mkspecs/features/mac/sdk.prf b/mkspecs/features/mac/sdk.prf
-index 3f6dc076ca..e69de29bb2 100644
---- a/mkspecs/features/mac/sdk.prf
-+++ b/mkspecs/features/mac/sdk.prf
-@@ -1,58 +0,0 @@
--
--isEmpty(QMAKE_MAC_SDK): \
--    error("QMAKE_MAC_SDK must be set when using CONFIG += sdk.")
--
--contains(QMAKE_MAC_SDK, .*/.*): \
--    error("QMAKE_MAC_SDK can only contain short-form SDK names (eg. macosx, iphoneos)")
--
--defineReplace(xcodeSDKInfo) {
--    info = $$1
--    equals(info, "Path"): \
--        info = --show-sdk-path
--    equals(info, "PlatformPath"): \
--        info = --show-sdk-platform-path
--    equals(info, "SDKVersion"): \
--        info = --show-sdk-version
--    sdk = $$2
--    isEmpty(sdk): \
--        sdk = $$QMAKE_MAC_SDK
--
--    isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}) {
--        QMAKE_MAC_SDK.$${sdk}.$${info} = $$system("/usr/bin/xcrun --sdk $$sdk $$info 2>/dev/null")
--        # --show-sdk-platform-path won't work for Command Line Tools; this is fine
--        # only used by the XCTest backend to testlib
--        isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}):if(!isEmpty(QMAKE_XCODEBUILD_PATH)|!equals(info, "--show-sdk-platform-path")): \
--            error("Could not resolve SDK $$info for \'$$sdk\'")
--        cache(QMAKE_MAC_SDK.$${sdk}.$${info}, set stash, QMAKE_MAC_SDK.$${sdk}.$${info})
--    }
--
--    return($$eval(QMAKE_MAC_SDK.$${sdk}.$${info}))
--}
--
--QMAKE_MAC_SDK_PATH = $$xcodeSDKInfo(Path)
--QMAKE_MAC_SDK_PLATFORM_PATH = $$xcodeSDKInfo(PlatformPath)
--QMAKE_MAC_SDK_VERSION = $$xcodeSDKInfo(SDKVersion)
--
--sysrootified =
--for(val, QMAKE_INCDIR_OPENGL): sysrootified += $${QMAKE_MAC_SDK_PATH}$$val
--QMAKE_INCDIR_OPENGL = $$sysrootified
--
--QMAKESPEC_NAME = $$basename(QMAKESPEC)
--
--# Resolve SDK version of various tools
--for(tool, $$list(QMAKE_CC QMAKE_CXX QMAKE_FIX_RPATH QMAKE_AR QMAKE_RANLIB QMAKE_LINK QMAKE_LINK_SHLIB QMAKE_ACTOOL)) {
--    tool_variable = QMAKE_MAC_SDK.$${QMAKESPEC_NAME}.$${QMAKE_MAC_SDK}.$${tool}
--    !isEmpty($$tool_variable) {
--        $$tool = $$eval($$tool_variable)
--        next()
--    }
--
--    value = $$eval($$tool)
--    isEmpty(value): next()
--
--    sysrooted = $$system("/usr/bin/xcrun -sdk $$QMAKE_MAC_SDK -find $$first(value) 2>/dev/null")
--    isEmpty(sysrooted): next()
--
--    $$tool = $$sysrooted $$member(value, 1, -1)
--    cache($$tool_variable, set stash, $$tool)
--}
-diff --git a/mkspecs/features/qml_module.prf b/mkspecs/features/qml_module.prf
-index 4db0040dc5..65d6da1f4d 100644
---- a/mkspecs/features/qml_module.prf
-+++ b/mkspecs/features/qml_module.prf
-@@ -23,13 +23,8 @@ for(qmlf, AUX_QML_FILES): fq_aux_qml_files += $$absolute_path($$qmlf, $$_PRO_FIL
- 
- load(qt_build_paths)
- 
--qml1_target {
--    DESTDIR = $$MODULE_BASE_OUTDIR/imports/$$TARGETPATH
--    instbase = $$[QT_INSTALL_IMPORTS]
--} else {
--    DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
--    instbase = $$[QT_INSTALL_QML]
--}
-+DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
-+instbase = $$NIX_OUTPUT_QML
- 
- !qml1_target:static: CONFIG += builtin_resources
- 
-diff --git a/mkspecs/features/qml_plugin.prf b/mkspecs/features/qml_plugin.prf
-index d49f4c49c1..097dcd7d39 100644
---- a/mkspecs/features/qml_plugin.prf
-+++ b/mkspecs/features/qml_plugin.prf
-@@ -48,13 +48,8 @@ exists($$QMLTYPEFILE): AUX_QML_FILES += $$QMLTYPEFILE
- 
- load(qt_build_paths)
- 
--qml1_target {
--    DESTDIR = $$MODULE_BASE_OUTDIR/imports/$$TARGETPATH
--    instbase = $$[QT_INSTALL_IMPORTS]
--} else {
--    DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
--    instbase = $$[QT_INSTALL_QML]
--}
-+DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
-+instbase = $$NIX_OUTPUT_QML
- 
- target.path = $$instbase/$$TARGETPATH
- INSTALLS += target
-diff --git a/mkspecs/features/qt_app.prf b/mkspecs/features/qt_app.prf
-index 883f8ca215..81db8eb2d4 100644
---- a/mkspecs/features/qt_app.prf
-+++ b/mkspecs/features/qt_app.prf
-@@ -33,7 +33,7 @@ host_build:force_bootstrap {
-     target.path = $$[QT_HOST_BINS]
- } else {
-     !build_pass:qtConfig(debug_and_release): CONFIG += release
--    target.path = $$[QT_INSTALL_BINS]
-+    target.path = $$NIX_OUTPUT_BIN/bin
-     CONFIG += relative_qt_rpath  # Qt's tools and apps should be relocatable
- }
- INSTALLS += target
-diff --git a/mkspecs/features/qt_build_paths.prf b/mkspecs/features/qt_build_paths.prf
-index 1848f00e90..2af93675c5 100644
---- a/mkspecs/features/qt_build_paths.prf
-+++ b/mkspecs/features/qt_build_paths.prf
-@@ -23,6 +23,6 @@ exists($$MODULE_BASE_INDIR/.git): \
- !force_independent {
-     # If the module is not built independently, everything ends up in qtbase.
-     # This is the case in non-prefix builds, except for selected modules.
--    MODULE_BASE_OUTDIR = $$[QT_HOST_PREFIX]
--    MODULE_QMAKE_OUTDIR = $$[QT_HOST_PREFIX]
-+    MODULE_BASE_OUTDIR = $$NIX_OUTPUT_OUT
-+    MODULE_QMAKE_OUTDIR = $$NIX_OUTPUT_OUT
- }
-diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf
-index fb96d1b6a0..508ed17d30 100644
---- a/mkspecs/features/qt_common.prf
-+++ b/mkspecs/features/qt_common.prf
-@@ -32,8 +32,8 @@ contains(TEMPLATE, .*lib) {
-         qqt_libdir = \$\$\$\$[QT_HOST_LIBS]
-         qt_libdir = $$[QT_HOST_LIBS]
-     } else {
--        qqt_libdir = \$\$\$\$[QT_INSTALL_LIBS]
--        qt_libdir = $$[QT_INSTALL_LIBS]
-+        qqt_libdir = \$\$\$\$NIX_OUTPUT_OUT/lib
-+        qt_libdir = $$NIX_OUTPUT_OUT/lib
-     }
-     contains(QMAKE_DEFAULT_LIBDIRS, $$qt_libdir) {
-         lib_replace.match = "[^ ']*$$rplbase/lib"
-diff --git a/mkspecs/features/qt_docs.prf b/mkspecs/features/qt_docs.prf
-index 72dde61a40..f891a2baed 100644
---- a/mkspecs/features/qt_docs.prf
-+++ b/mkspecs/features/qt_docs.prf
-@@ -45,7 +45,7 @@ QMAKE_DOCS_OUTPUTDIR = $$QMAKE_DOCS_BASE_OUTDIR/$$QMAKE_DOCS_TARGETDIR
- 
- QDOC += -outputdir $$shell_quote($$QMAKE_DOCS_OUTPUTDIR)
- !build_online_docs: \
--    QDOC += -installdir $$shell_quote($$[QT_INSTALL_DOCS])
-+    QDOC += -installdir $$shell_quote($$NIX_OUTPUT_DOC)
- PREP_DOC_INDEXES =
- DOC_INDEXES =
- !isEmpty(QTREPOS) {
-@@ -64,8 +64,8 @@ DOC_INDEXES =
-         DOC_INDEXES += -indexdir $$shell_quote($$qrep/doc)
- } else {
-     prepare_docs: \
--        PREP_DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get])
--    DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get])
-+        PREP_DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC)
-+    DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC)
- }
- 
- qtattributionsscanner.target = qtattributionsscanner
-@@ -88,12 +88,12 @@ prepare_docs {
-     qch_docs.commands = $$QHELPGENERATOR $$shell_quote($$QMAKE_DOCS_OUTPUTDIR/$${QMAKE_DOCS_TARGET}.qhp) -o $$shell_quote($$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch)
- 
-     inst_html_docs.files = $$QMAKE_DOCS_OUTPUTDIR
--    inst_html_docs.path = $$[QT_INSTALL_DOCS]
-+    inst_html_docs.path = $$NIX_OUTPUT_DOC
-     inst_html_docs.CONFIG += no_check_exist directory no_default_install no_build
-     INSTALLS += inst_html_docs
- 
-     inst_qch_docs.files = $$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch
--    inst_qch_docs.path = $$[QT_INSTALL_DOCS]
-+    inst_qch_docs.path = $$NIX_OUTPUT_DOC
-     inst_qch_docs.CONFIG += no_check_exist no_default_install no_build
-     INSTALLS += inst_qch_docs
- 
-diff --git a/mkspecs/features/qt_example_installs.prf b/mkspecs/features/qt_example_installs.prf
-index 668669e4cd..eb4840a0aa 100644
---- a/mkspecs/features/qt_example_installs.prf
-+++ b/mkspecs/features/qt_example_installs.prf
-@@ -82,7 +82,7 @@ sourcefiles += \
-     $$SOURCES $$HEADERS $$FORMS $$RESOURCES $$TRANSLATIONS \
-     $$DBUS_ADAPTORS $$DBUS_INTERFACES
- addInstallFiles(sources.files, $$sourcefiles)
--sources.path = $$[QT_INSTALL_EXAMPLES]/$$probase
-+sources.path = $$NIX_OUTPUT_DEV/share/examples/$$probase
- INSTALLS += sources
- 
- check_examples {
-diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
-index 1903e509c8..ae7b585989 100644
---- a/mkspecs/features/qt_functions.prf
-+++ b/mkspecs/features/qt_functions.prf
-@@ -69,7 +69,7 @@ defineTest(qtHaveModule) {
- defineTest(qtPrepareTool) {
-     cmd = $$eval(QT_TOOL.$${2}.binary)
-     isEmpty(cmd) {
--        cmd = $$[QT_HOST_BINS]/$$2
-+        cmd = $$system("command -v $$2")
-         exists($${cmd}.pl) {
-             $${1}_EXE = $${cmd}.pl
-             cmd = perl -w $$system_path($${cmd}.pl)
-diff --git a/mkspecs/features/qt_installs.prf b/mkspecs/features/qt_installs.prf
-index 0d3dfb6b93..5f935b4424 100644
---- a/mkspecs/features/qt_installs.prf
-+++ b/mkspecs/features/qt_installs.prf
-@@ -12,16 +12,10 @@
- #library
- !qt_no_install_library {
-     win32 {
--       host_build: \
--           dlltarget.path = $$[QT_HOST_BINS]
--       else: \
--           dlltarget.path = $$[QT_INSTALL_BINS]
-+        dlltarget.path = $$NIX_OUTPUT_BIN/bin
-        INSTALLS += dlltarget
-     }
--    host_build: \
--        target.path = $$[QT_HOST_LIBS]
--    else: \
--        target.path = $$[QT_INSTALL_LIBS]
-+    target.path = $$NIX_OUTPUT_OUT/lib
-     !static: target.CONFIG = no_dll
-     INSTALLS += target
- }
-@@ -29,33 +23,33 @@
- #headers
- qt_install_headers {
-     class_headers.files = $$SYNCQT.HEADER_CLASSES
--    class_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
-+    class_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME
-     INSTALLS += class_headers
- 
-     targ_headers.files = $$SYNCQT.HEADER_FILES
--    targ_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
-+    targ_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME
-     INSTALLS += targ_headers
- 
-     private_headers.files = $$SYNCQT.PRIVATE_HEADER_FILES $$SYNCQT.INJECTED_PRIVATE_HEADER_FILES
--    private_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private
-+    private_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private
-     INSTALLS += private_headers
- 
-     qpa_headers.files = $$SYNCQT.QPA_HEADER_FILES
--    qpa_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa
-+    qpa_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa
-     INSTALLS += qpa_headers
- }
- 
- #module
- qt_install_module {
-     !isEmpty(MODULE_PRI) {
--        pritarget.path = $$[QT_HOST_DATA]/mkspecs/modules
-+        pritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules
-         pritarget.files = $$MODULE_PRI
-         INSTALLS += pritarget
-     } else: isEmpty(MODULE_PRIVATE_PRI) {
-         warning("Project $$basename(_PRO_FILE_) is a module, but has not defined MODULE_PRI, which is required for Qt to expose the module to other projects.")
-     }
-     !isEmpty(MODULE_PRIVATE_PRI) {
--        privpritarget.path = $$[QT_HOST_DATA]/mkspecs/modules
-+        privpritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules
-         privpritarget.files = $$MODULE_PRIVATE_PRI
-         INSTALLS += privpritarget
-     }
-diff --git a/mkspecs/features/qt_plugin.prf b/mkspecs/features/qt_plugin.prf
-index 62e1b69fde..abd63123f9 100644
---- a/mkspecs/features/qt_plugin.prf
-+++ b/mkspecs/features/qt_plugin.prf
-@@ -88,7 +88,7 @@ CONFIG(static, static|shared)|prefix_build {
-     }
- }
- 
--target.path = $$[QT_INSTALL_PLUGINS]/$$PLUGIN_TYPE
-+target.path = $$NIX_OUTPUT_PLUGIN/$$PLUGIN_TYPE
- INSTALLS += target
- 
- TARGET = $$qt5LibraryTarget($$TARGET)
-diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in
-index 545b9a3d1e..6ac0cdefe4 100644
---- a/src/corelib/Qt5CoreConfigExtras.cmake.in
-+++ b/src/corelib/Qt5CoreConfigExtras.cmake.in
-@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qmake)
-     add_executable(Qt5::qmake IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::moc)
-     add_executable(Qt5::moc IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -35,7 +35,7 @@ if (NOT TARGET Qt5::rcc)
-     add_executable(Qt5::rcc IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -133,7 +133,7 @@ if (NOT TARGET Qt5::WinMain)
- !!IF !isEmpty(CMAKE_RELEASE_TYPE)
-     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
- !!ENDIF
-@@ -147,7 +147,7 @@ if (NOT TARGET Qt5::WinMain)
-     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
- 
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
- !!ENDIF
-diff --git a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-index c357237d0e..6f0c75de3c 100644
---- a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-+++ b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-@@ -1,6 +1,6 @@
- 
- !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE)
--set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
-+set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
- !!ELSE
- set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
- !!ENDIF
-diff --git a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-index 706304cf34..546420f6ad 100644
---- a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-+++ b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-@@ -1,6 +1,6 @@
- 
- !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE)
--set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
-+set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
- !!ELSE
- set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
- !!ENDIF
-diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
-index cba279c184..5ae3fd62e5 100644
---- a/src/corelib/kernel/qcoreapplication.cpp
-+++ b/src/corelib/kernel/qcoreapplication.cpp
-@@ -2533,6 +2533,15 @@ QStringList QCoreApplication::libraryPaths()
-         QStringList *app_libpaths = new QStringList;
-         coreappdata()->app_libpaths.reset(app_libpaths);
- 
-+        // Add library paths derived from PATH
-+        const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':');
-+        const QString plugindir = QStringLiteral("../" NIXPKGS_QT_PLUGIN_PREFIX);
-+        for (const QString &path: paths) {
-+            if (!path.isEmpty()) {
-+                app_libpaths->append(QDir::cleanPath(path + QDir::separator() + plugindir));
-+            }
-+        }
-+
-         const QByteArray libPathEnv = qgetenv("QT_PLUGIN_PATH");
-         if (!libPathEnv.isEmpty()) {
-             QStringList paths = QFile::decodeName(libPathEnv).split(QDir::listSeparator(), QString::SkipEmptyParts);
-diff --git a/src/corelib/tools/qtimezoneprivate_tz.cpp b/src/corelib/tools/qtimezoneprivate_tz.cpp
-index 4fdc2e36ac..d3ec222543 100644
---- a/src/corelib/tools/qtimezoneprivate_tz.cpp
-+++ b/src/corelib/tools/qtimezoneprivate_tz.cpp
-@@ -70,7 +70,11 @@ typedef QHash<QByteArray, QTzTimeZone> QTzTimeZoneHash;
- // Parse zone.tab table, assume lists all installed zones, if not will need to read directories
- static QTzTimeZoneHash loadTzTimeZones()
- {
--    QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
-+    // Try TZDIR first, in case we're running on NixOS.
-+    QString path = QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/zone.tab");
-+    // Fallback to traditional paths in case we are not on NixOS.
-+    if (!QFile::exists(path))
-+        path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
-     if (!QFile::exists(path))
-         path = QStringLiteral("/usr/lib/zoneinfo/zone.tab");
- 
-@@ -645,12 +649,16 @@ void QTzTimeZonePrivate::init(const QByteArray &ianaId)
-         if (!tzif.open(QIODevice::ReadOnly))
-             return;
-     } else {
--        // Open named tz, try modern path first, if fails try legacy path
--        tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+        // Try TZDIR first, in case we're running on NixOS
-+        tzif.setFileName(QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/") + QString::fromLocal8Bit(ianaId));
-         if (!tzif.open(QIODevice::ReadOnly)) {
--            tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
--            if (!tzif.open(QIODevice::ReadOnly))
--                return;
-+            // Open named tz, try modern path first, if fails try legacy path
-+            tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+            if (!tzif.open(QIODevice::ReadOnly)) {
-+                tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+                if (!tzif.open(QIODevice::ReadOnly))
-+                    return;
-+            }
-         }
-     }
- 
-diff --git a/src/dbus/Qt5DBusConfigExtras.cmake.in b/src/dbus/Qt5DBusConfigExtras.cmake.in
-index 1d947159e2..b36865fc48 100644
---- a/src/dbus/Qt5DBusConfigExtras.cmake.in
-+++ b/src/dbus/Qt5DBusConfigExtras.cmake.in
-@@ -2,11 +2,7 @@
- if (NOT TARGET Qt5::qdbuscpp2xml)
-     add_executable(Qt5::qdbuscpp2xml IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
-     _qt5_DBus_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qdbuscpp2xml PROPERTIES
-@@ -17,11 +13,7 @@ endif()
- if (NOT TARGET Qt5::qdbusxml2cpp)
-     add_executable(Qt5::qdbusxml2cpp IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
-     _qt5_DBus_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qdbusxml2cpp PROPERTIES
-diff --git a/src/gui/Qt5GuiConfigExtras.cmake.in b/src/gui/Qt5GuiConfigExtras.cmake.in
-index 07869efd7d..fb4183bada 100644
---- a/src/gui/Qt5GuiConfigExtras.cmake.in
-+++ b/src/gui/Qt5GuiConfigExtras.cmake.in
-@@ -2,7 +2,7 @@
- !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
- 
- !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
--set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\")
-+set(Qt5Gui_EGL_INCLUDE_DIRS \"$$NIX_OUTPUT_DEV/$$CMAKE_INCLUDE_DIR/QtANGLE\")
- !!ELSE
- set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\")
- !!ENDIF
-@@ -17,13 +17,13 @@ macro(_populate_qt5gui_gl_target_properties TargetName Configuration LIB_LOCATIO
-     set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
- !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-+    set(imported_location \"$$NIX_OUTPUT_OUT/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ENDIF
- 
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
-+    set(imported_implib \"$$NIX_OUTPUT_OUT/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
- !!ELSE
-     set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
- !!ENDIF
-diff --git a/src/network/kernel/qdnslookup_unix.cpp b/src/network/kernel/qdnslookup_unix.cpp
-index 1da00813ce..0bf877afcb 100644
---- a/src/network/kernel/qdnslookup_unix.cpp
-+++ b/src/network/kernel/qdnslookup_unix.cpp
-@@ -92,7 +92,7 @@ static bool resolveLibraryInternal()
-     if (!lib.load())
- #endif
-     {
--        lib.setFileName(QLatin1String("resolv"));
-+        lib.setFileName(QLatin1String(NIXPKGS_LIBRESOLV));
-         if (!lib.load())
-             return false;
-     }
-diff --git a/src/network/kernel/qhostinfo_unix.cpp b/src/network/kernel/qhostinfo_unix.cpp
-index 9a24938284..74962b4ae2 100644
---- a/src/network/kernel/qhostinfo_unix.cpp
-+++ b/src/network/kernel/qhostinfo_unix.cpp
-@@ -102,7 +102,7 @@ static bool resolveLibraryInternal()
-     if (!lib.load())
- #endif
-     {
--        lib.setFileName(QLatin1String("resolv"));
-+        lib.setFileName(QLatin1String(NIXPKGS_LIBRESOLV));
-         if (!lib.load())
-             return false;
-     }
-diff --git a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp b/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
-index b5a0a5bbeb..6c20305f4d 100644
---- a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
-+++ b/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
-@@ -265,12 +265,9 @@ void TableGenerator::initPossibleLocations()
-     m_possibleLocations.reserve(7);
-     if (qEnvironmentVariableIsSet("QTCOMPOSE"))
-         m_possibleLocations.append(QString::fromLocal8Bit(qgetenv("QTCOMPOSE")));
--    m_possibleLocations.append(QStringLiteral("/usr/share/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/local/share/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/lib/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/local/lib/X11/locale"));
-     m_possibleLocations.append(QStringLiteral(X11_PREFIX "/share/X11/locale"));
-     m_possibleLocations.append(QStringLiteral(X11_PREFIX "/lib/X11/locale"));
-+    m_possibleLocations.append(QLatin1String(NIXPKGS_QTCOMPOSE));
- }
- 
- QString TableGenerator::findComposeFile()
-diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
-index e2e573f0e1..1c8289f81e 100644
---- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
-+++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
-@@ -580,7 +580,14 @@ QFunctionPointer QGLXContext::getProcAddress(const char *procName)
- #if QT_CONFIG(library)
-                 extern const QString qt_gl_library_name();
- //                QLibrary lib(qt_gl_library_name());
-+                // Check system library paths first
-                 QLibrary lib(QLatin1String("GL"));
-+#ifdef NIXPKGS_MESA_GL
-+                if (!lib.load()) {
-+                    // Fallback to Mesa driver
-+                    lib.setFileName(QLatin1String(NIXPKGS_MESA_GL));
-+                }
-+#endif // NIXPKGS_MESA_GL
-                 glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
- #endif
-             }
-diff --git a/src/plugins/platforms/xcb/qxcbcursor.cpp b/src/plugins/platforms/xcb/qxcbcursor.cpp
-index 7c62c2e2b3..fefa40e0f6 100644
---- a/src/plugins/platforms/xcb/qxcbcursor.cpp
-+++ b/src/plugins/platforms/xcb/qxcbcursor.cpp
-@@ -311,10 +311,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *conn, QXcbScreen *screen)
- #if QT_CONFIG(xcb_xlib) && QT_CONFIG(library)
-     static bool function_ptrs_not_initialized = true;
-     if (function_ptrs_not_initialized) {
--        QLibrary xcursorLib(QLatin1String("Xcursor"), 1);
-+        QLibrary xcursorLib(QLatin1String(NIXPKGS_LIBXCURSOR), 1);
-         bool xcursorFound = xcursorLib.load();
-         if (!xcursorFound) { // try without the version number
--            xcursorLib.setFileName(QLatin1String("Xcursor"));
-+            xcursorLib.setFileName(QLatin1String(NIXPKGS_LIBXCURSOR));
-             xcursorFound = xcursorLib.load();
-         }
-         if (xcursorFound) {
-diff --git a/src/plugins/platformthemes/gtk3/main.cpp b/src/plugins/platformthemes/gtk3/main.cpp
-index c4cd66c33b..b6f2691587 100644
---- a/src/plugins/platformthemes/gtk3/main.cpp
-+++ b/src/plugins/platformthemes/gtk3/main.cpp
-@@ -39,6 +39,7 @@
- 
- #include <qpa/qplatformthemeplugin.h>
- #include "qgtk3theme.h"
-+#include <QFile>
- 
- QT_BEGIN_NAMESPACE
- 
-@@ -54,8 +55,22 @@ public:
- QPlatformTheme *QGtk3ThemePlugin::create(const QString &key, const QStringList &params)
- {
-     Q_UNUSED(params);
--    if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive))
-+    if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive)) {
-+
-+#ifdef NIXPKGS_QGTK3_XDG_DATA_DIRS
-+        QStringList XDG_DATA_DIRS = QFile::decodeName(qgetenv("XDG_DATA_DIRS")).split(':');
-+        XDG_DATA_DIRS << QLatin1String(NIXPKGS_QGTK3_XDG_DATA_DIRS);
-+        qputenv("XDG_DATA_DIRS", QFile::encodeName(XDG_DATA_DIRS.join(':')));
-+#endif
-+
-+#ifdef NIXPKGS_QGTK3_GIO_EXTRA_MODULES
-+        QStringList GIO_EXTRA_MODULES = QFile::decodeName(qgetenv("GIO_EXTRA_MODULES")).split(':');
-+        GIO_EXTRA_MODULES << QLatin1String(NIXPKGS_QGTK3_GIO_EXTRA_MODULES);
-+        qputenv("GIO_EXTRA_MODULES", QFile::encodeName(GIO_EXTRA_MODULES.join(':')));
-+#endif
-+
-         return new QGtk3Theme;
-+    }
- 
-     return 0;
- }
-diff --git a/src/testlib/qtestassert.h b/src/testlib/qtestassert.h
-index 6498ea84ef..d821ced7fc 100644
---- a/src/testlib/qtestassert.h
-+++ b/src/testlib/qtestassert.h
-@@ -44,10 +44,13 @@
- 
- QT_BEGIN_NAMESPACE
- 
--
-+#if defined(QT_NO_DEBUG) && !defined(QT_FORCE_ASSERTS)
-+#define QTEST_ASSERT(cond) do { } while ((false) && (cond))
-+#define QTEST_ASSERT_X(cond, where, what) do { } while ((false) && (cond))
-+#else
- #define QTEST_ASSERT(cond) do { if (!(cond)) qt_assert(#cond,__FILE__,__LINE__); } while (false)
--
- #define QTEST_ASSERT_X(cond, where, what) do { if (!(cond)) qt_assert_x(where, what,__FILE__,__LINE__); } while (false)
-+#endif
- 
- QT_END_NAMESPACE
- 
-diff --git a/src/widgets/Qt5WidgetsConfigExtras.cmake.in b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-index 99d87e2e46..a4eab2aa72 100644
---- a/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-+++ b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic)
-     add_executable(Qt5::uic IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
diff --git a/pkgs/development/libraries/qt-5/5.9/qtdeclarative.patch b/pkgs/development/libraries/qt-5/5.9/qtdeclarative.patch
deleted file mode 100644
index bb1bbbeb05e0..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtdeclarative.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp
-index ee5b38717..bbccef8c4 100644
---- a/src/qml/qml/qqmlimport.cpp
-+++ b/src/qml/qml/qqmlimport.cpp
-@@ -1678,6 +1678,15 @@ QQmlImportDatabase::QQmlImportDatabase(QQmlEngine *e)
-     QString installImportsPath =  QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath);
-     addImportPath(installImportsPath);
- 
-+    // Add import paths derived from PATH
-+    const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':');
-+    const QString qmldir = QStringLiteral("../" NIXPKGS_QML2_IMPORT_PREFIX);
-+    for (const QString &path: paths) {
-+        if (!path.isEmpty()) {
-+            addImportPath(QDir::cleanPath(path + QDir::separator() + qmldir));
-+        }
-+    }
-+
-     // env import paths
-     if (Q_UNLIKELY(!qEnvironmentVariableIsEmpty("QML2_IMPORT_PATH"))) {
-         const QByteArray envImportPath = qgetenv("QML2_IMPORT_PATH");
-diff --git a/tools/qmlcachegen/qmlcache.prf b/tools/qmlcachegen/qmlcache.prf
-index 330da358b..cdf570205 100644
---- a/tools/qmlcachegen/qmlcache.prf
-+++ b/tools/qmlcachegen/qmlcache.prf
-@@ -44,7 +44,7 @@ defineReplace(qmlCacheOutputFileName) {
- }
- 
- qmlcacheinst.base = $$QMLCACHE_DESTDIR
--qmlcacheinst.path = $$[QT_INSTALL_QML]/$$TARGETPATH
-+qmlcacheinst.path = $$NIX_OUTPUT_QML/$$TARGETPATH
- qmlcacheinst.CONFIG = no_check_exist
- 
- qmlcachegen.input = CACHEGEN_FILES
diff --git a/pkgs/development/libraries/qt-5/5.9/qtscript.patch b/pkgs/development/libraries/qt-5/5.9/qtscript.patch
deleted file mode 100644
index 5508dec1280e..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtscript.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-index 1f6d25e..087c3fb 100644
---- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-+++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
-@@ -81,7 +81,7 @@
- #include <pthread.h>
- #elif PLATFORM(GTK)
- #include <wtf/gtk/GOwnPtr.h>
--typedef struct _GMutex GMutex;
-+typedef union _GMutex GMutex;
- typedef struct _GCond GCond;
- #endif
- 
diff --git a/pkgs/development/libraries/qt-5/5.9/qtserialport.patch b/pkgs/development/libraries/qt-5/5.9/qtserialport.patch
deleted file mode 100644
index f25524e80bcf..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtserialport.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/src/serialport/qtudev_p.h b/src/serialport/qtudev_p.h
-index af2dab2..8e17f64 100644
---- a/src/serialport/qtudev_p.h
-+++ b/src/serialport/qtudev_p.h
-@@ -111,9 +111,17 @@ inline QFunctionPointer resolveSymbol(QLibrary *udevLibrary, const char *symbolN
- inline bool resolveSymbols(QLibrary *udevLibrary)
- {
-     if (!udevLibrary->isLoaded()) {
-+#ifdef NIXPKGS_LIBUDEV
-+        udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 1);
-+#else
-         udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1);
-+#endif
-         if (!udevLibrary->load()) {
-+#ifdef NIXPKGS_LIBUDEV
-+            udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 0);
-+#else
-             udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0);
-+#endif
-             if (!udevLibrary->load()) {
-                 qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0);
-                 return false;
diff --git a/pkgs/development/libraries/qt-5/5.9/qttools.patch b/pkgs/development/libraries/qt-5/5.9/qttools.patch
deleted file mode 100644
index fbba439ef7a5..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qttools.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-diff --git a/src/assistant/help/Qt5HelpConfigExtras.cmake.in b/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-index 3b97923a..63336bd5 100644
---- a/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-+++ b/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-@@ -2,11 +2,10 @@
- if (NOT TARGET Qt5::qcollectiongenerator)
-     add_executable(Qt5::qcollectiongenerator IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
-+    endif()
-     _qt5_Help_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qcollectiongenerator PROPERTIES
-@@ -17,11 +16,7 @@ endif()
- if (NOT TARGET Qt5::qhelpgenerator)
-     add_executable(Qt5::qhelpgenerator IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-     _qt5_Help_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qhelpgenerator PROPERTIES
-diff --git a/src/linguist/Qt5LinguistToolsConfig.cmake.in b/src/linguist/Qt5LinguistToolsConfig.cmake.in
-index 4318b16f..d60db4ff 100644
---- a/src/linguist/Qt5LinguistToolsConfig.cmake.in
-+++ b/src/linguist/Qt5LinguistToolsConfig.cmake.in
-@@ -44,11 +44,7 @@ endmacro()
- if (NOT TARGET Qt5::lrelease)
-     add_executable(Qt5::lrelease IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lrelease PROPERTIES
-@@ -59,11 +55,7 @@ endif()
- if (NOT TARGET Qt5::lupdate)
-     add_executable(Qt5::lupdate IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lupdate PROPERTIES
-@@ -74,11 +66,7 @@ endif()
- if (NOT TARGET Qt5::lconvert)
-     add_executable(Qt5::lconvert IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
--!!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lconvert PROPERTIES
diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebengine-clang-fix.patch b/pkgs/development/libraries/qt-5/5.9/qtwebengine-clang-fix.patch
deleted file mode 100644
index cf082cddd11a..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtwebengine-clang-fix.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Fix a following build error:
-
-In file included from ../../3rdparty/chromium/device/bluetooth/bluetooth_remote_gatt_characteristic_mac.mm:7:
-In file included from ../../3rdparty/chromium/base/bind.h:8:
-../../3rdparty/chromium/base/bind_internal.h:214:31: error: cannot initialize a parameter of type 'NSError *' with an lvalue of type 'const long'
-    return (receiver.*method)(std::forward<RunArgs>(args)...);
-                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
-../../3rdparty/chromium/base/bind_internal.h:285:20: note: in instantiation of function template specialization 'base::internal::FunctorTraits<void (device::BluetoothRemoteGat
-tCharacteristicMac::*)(NSError *), void>::Invoke<device::BluetoothRemoteGattCharacteristicMac *, const long &>' requested here
-    return Traits::Invoke(std::forward<Functor>(functor),
-                   ^
-../../3rdparty/chromium/base/bind_internal.h:361:43: note: in instantiation of function template specialization 'base::internal::InvokeHelper<false, void>::MakeItSo<void (devi
-ce::BluetoothRemoteGattCharacteristicMac::*const &)(NSError *), device::BluetoothRemoteGattCharacteristicMac *, const long &>' requested here
-    return InvokeHelper<is_weak_call, R>::MakeItSo(
-                                          ^
-../../3rdparty/chromium/base/bind_internal.h:339:12: note: in instantiation of function template specialization 'base::internal::Invoker<base::internal::BindState<void (device::BluetoothRemoteGattCharacteristicMac::*)(NSError *), base::internal::UnretainedWrapper<device::BluetoothRemoteGattCharacteristicMac>, long>, void ()>::RunImpl<void (device::BluetoothRemoteGattCharacteristicMac::*const &)(NSError *), const std::__1::tuple<base::internal::UnretainedWrapper<device::BluetoothRemoteGattCharacteristicMac>, long> &, 0, 1>' requested here
-    return RunImpl(storage->functor_,
-           ^
-../../3rdparty/chromium/base/bind.h:62:45: note: in instantiation of member function 'base::internal::Invoker<base::internal::BindState<void (device::BluetoothRemoteGattCharacteristicMac::*)(NSError *), base::internal::UnretainedWrapper<device::BluetoothRemoteGattCharacteristicMac>, long>, void ()>::Run' requested here
-  PolymorphicInvoke invoke_func = &Invoker::Run;
-                                            ^
-../../3rdparty/chromium/base/bind.h:77:10: note: in instantiation of function template specialization 'base::BindRepeating<void (device::BluetoothRemoteGattCharacteristicMac::*)(NSError *), base::internal::UnretainedWrapper<device::BluetoothRemoteGattCharacteristicMac>, long>' requested here
-  return BindRepeating(std::forward<Functor>(functor),
-         ^
-../../3rdparty/chromium/device/bluetooth/bluetooth_remote_gatt_characteristic_mac.mm:241:15: note: in instantiation of function template specialization 'base::Bind<void (device::BluetoothRemoteGattCharacteristicMac::*)(NSError *), base::internal::UnretainedWrapper<device::BluetoothRemoteGattCharacteristicMac>, long>' requested here
-        base::Bind(&BluetoothRemoteGattCharacteristicMac::DidWriteValue,
-
---- a/src/3rdparty/chromium/device/bluetooth/bluetooth_remote_gatt_characteristic_mac.mm
-+++ b/src/3rdparty/chromium/device/bluetooth/bluetooth_remote_gatt_characteristic_mac.mm
-@@ -239,7 +239,7 @@ void BluetoothRemoteGattCharacteristicMac::WriteRemoteCharacteristic(
-     base::ThreadTaskRunnerHandle::Get()->PostTask(
-         FROM_HERE,
-         base::Bind(&BluetoothRemoteGattCharacteristicMac::DidWriteValue,
--                   base::Unretained(this), nil));
-+                   base::Unretained(this), nullptr));
-   }
- }
- 
diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebengine-darwin-no-platform-check.patch b/pkgs/development/libraries/qt-5/5.9/qtwebengine-darwin-no-platform-check.patch
deleted file mode 100644
index 7156c41c5ec1..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtwebengine-darwin-no-platform-check.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf
---- a/mkspecs/features/configure.prf
-+++ b/mkspecs/features/configure.prf
-@@ -194,9 +194,6 @@ defineTest(runConfigure) {
-         } else {
-             log("Native Spellchecker .............. Not enabled         (Default, enable with WEBENGINE_CONFIG+=use_native_spellchecker)$${EOL}")
-         }
--        !isMinOSXSDKVersion(10, 10, 3) {
--            log("  Force Touch API usage .............. Not enabled         (Because the OS X SDK version to be used \"$${WEBENGINE_OSX_SDK_PRODUCT_VERSION}\" is lower than the required \"10.10.3\")$${EOL}")
--        }
-     }
- }
- 
-diff --git a/mkspecs/features/functions.prf b/mkspecs/features/functions.prf
---- a/mkspecs/features/functions.prf
-+++ b/mkspecs/features/functions.prf
-@@ -38,10 +38,6 @@ defineTest(isPlatformSupported) {
-       return(false)
-     }
-   } else:osx {
--    !isMinXcodeVersion(5, 1) {
--      skipBuild("Using XCode version $$QMAKE_XCODE_VERSION, but at least version 5.1 is required to build Qt WebEngine.")
--      return(false)
--    }
-     !clang|intel_icc {
-         skipBuild("Qt WebEngine on macOS requires Clang.")
-         return(false)
-@@ -52,10 +48,6 @@ defineTest(isPlatformSupported) {
-       skipBuild("Qt WebEngine requires OS X version 10.10 or newer.")
-       return(false)
-     }
--    !isMinOSXSDKVersion(10, 10): {
--      skipBuild("Qt WebEngine requires an OS X SDK version of 10.10 or newer. Current version is $${WEBENGINE_OSX_SDK_PRODUCT_VERSION}.")
--      return(false)
--    }
-   } else {
-     skipBuild("Unknown platform. Qt WebEngine only supports Linux, Windows, and OS X.")
-     return(false)
-diff --git a/src/core/config/mac_osx.pri b/src/core/config/mac_osx.pri
---- a/src/core/config/mac_osx.pri
-+++ b/src/core/config/mac_osx.pri
-@@ -5,8 +5,6 @@ load(functions)
- # otherwise query for it.
- QMAKE_MAC_SDK_VERSION = $$eval(QMAKE_MAC_SDK.$${QMAKE_MAC_SDK}.SDKVersion)
- isEmpty(QMAKE_MAC_SDK_VERSION) {
--     QMAKE_MAC_SDK_VERSION = $$system("/usr/bin/xcodebuild -sdk $${QMAKE_MAC_SDK} -version SDKVersion 2>/dev/null")
--     isEmpty(QMAKE_MAC_SDK_VERSION): error("Could not resolve SDK version for \'$${QMAKE_MAC_SDK}\'")
- }
- 
- QMAKE_CLANG_DIR = "/usr"
diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebengine-no-build-skip.patch b/pkgs/development/libraries/qt-5/5.9/qtwebengine-no-build-skip.patch
deleted file mode 100644
index f332d5e1bb2b..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtwebengine-no-build-skip.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/qtwebengine.pro b/qtwebengine.pro
---- a/qtwebengine.pro
-+++ b/qtwebengine.pro
-@@ -5,7 +5,7 @@ runConfigure()
- 
- !isEmpty(skipBuildReason) {
-     SUBDIRS =
--    log($${skipBuildReason}$${EOL})
-+    error($${skipBuildReason}$${EOL})
-     log(QtWebEngine will not be built.$${EOL})
- }
- 
diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebkit.patch b/pkgs/development/libraries/qt-5/5.9/qtwebkit.patch
deleted file mode 100644
index 718bda361943..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtwebkit.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-diff --git a/Source/WebCore/plugins/qt/PluginPackageQt.cpp b/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-index a923d49aa..46772a4bb 100644
---- a/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-+++ b/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-@@ -136,7 +136,11 @@ static void initializeGtk(QLibrary* module = 0)
-         }
-     }
- 
-+#ifdef NIXPKGS_LIBGTK2
-+    QLibrary library(QLatin1String(NIXPKGS_LIBGTK2), 0);
-+#else
-     QLibrary library(QLatin1String("libgtk-x11-2.0"), 0);
-+#endif
-     if (library.load()) {
-         typedef void *(*gtk_init_check_ptr)(int*, char***);
-         gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check");
-diff --git a/Source/WebCore/plugins/qt/PluginViewQt.cpp b/Source/WebCore/plugins/qt/PluginViewQt.cpp
-index de06a2fea..86fe39ef1 100644
---- a/Source/WebCore/plugins/qt/PluginViewQt.cpp
-+++ b/Source/WebCore/plugins/qt/PluginViewQt.cpp
-@@ -697,7 +697,11 @@ static Display *getPluginDisplay()
-     // support gdk based plugins (like flash) that use a different X connection.
-     // The code below has the same effect as this one:
-     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
-+#ifdef NIXPKGS_LIBGDK2
-+    QLibrary library(QLatin1String(NIXPKGS_LIBGDK2), 0);
-+#else
-     QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
-+#endif
-     if (!library.load())
-         return 0;
- 
-diff --git a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-index 8de65216b..38f5c05e5 100644
---- a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-+++ b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-@@ -53,7 +53,11 @@ static void messageHandler(QtMsgType type, const QMessageLogContext&, const QStr
- 
- static bool initializeGtk()
- {
-+#ifdef NIXPKGS_LIBGTK2
-+    QLibrary gtkLibrary(QLatin1String(NIXPKGS_LIBGTK2), 0);
-+#else
-     QLibrary gtkLibrary(QLatin1String("libgtk-x11-2.0"), 0);
-+#endif
-     if (!gtkLibrary.load())
-         return false;
-     typedef void* (*gtk_init_ptr)(void*, void*);
-diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-index d734ff684..0f6ff63d1 100644
---- a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-@@ -64,7 +64,11 @@ static Display* getPluginDisplay()
-     // The code below has the same effect as this one:
-     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
- 
-+#ifdef NIXPKGS_LIBGDK2
-+    QLibrary library(QLatin1String(NIXPKGS_LIBGDK2), 0);
-+#else
-     QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
-+#endif
-     if (!library.load())
-         return 0;
- 
diff --git a/pkgs/development/libraries/qt-5/5.9/srcs.nix b/pkgs/development/libraries/qt-5/5.9/srcs.nix
deleted file mode 100644
index 09b6293daebc..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/srcs.nix
+++ /dev/null
@@ -1,333 +0,0 @@
-# DO NOT EDIT! This file is generated automatically by fetch-kde-qt.sh
-{ fetchurl, mirror }:
-
-{
-  qt3d = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qt3d-opensource-src-5.9.7.tar.xz";
-      sha256 = "0skdp72jlfy97cw9lpa3l2ivs6f5x9w53978sf2xbkl9k1ai268l";
-      name = "qt3d-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtactiveqt = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtactiveqt-opensource-src-5.9.7.tar.xz";
-      sha256 = "01yp0railyc80ldvpiy36lpsdk26rs8vfp78xca9jy1glm4cmaik";
-      name = "qtactiveqt-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtandroidextras = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtandroidextras-opensource-src-5.9.7.tar.xz";
-      sha256 = "1bl05hr0zm23z7qig3kxhzyvm440wfrjfgsxvpmlvk9pbb8h2q63";
-      name = "qtandroidextras-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtbase = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtbase-opensource-src-5.9.7.tar.xz";
-      sha256 = "004gs95ig51jv2wz64kwzl4rvqqzs4rln3kqmzjs3sh6y1s9bp9n";
-      name = "qtbase-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtcanvas3d = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtcanvas3d-opensource-src-5.9.7.tar.xz";
-      sha256 = "131zwqddjns7cpkdbr33jahqgvnw6f8gdcr1b2hmadi0p2shrcwq";
-      name = "qtcanvas3d-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtcharts = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtcharts-opensource-src-5.9.7.tar.xz";
-      sha256 = "1rkj4lkpgdqk4ygxivkj7gc8mlccb5sgi9mfr0xwvq5j85r3dk8n";
-      name = "qtcharts-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtconnectivity = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtconnectivity-opensource-src-5.9.7.tar.xz";
-      sha256 = "0f7g2lfnfgsjka7y5hdf0lbzpfxlxh8bfhdxix44cwlmwzjizy3l";
-      name = "qtconnectivity-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtdatavis3d = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtdatavis3d-opensource-src-5.9.7.tar.xz";
-      sha256 = "08anm8byxcym7h1n49j3cbxkh3kh3xjlxd3b8vi8fxyqqhvll4lv";
-      name = "qtdatavis3d-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtdeclarative = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtdeclarative-opensource-src-5.9.7.tar.xz";
-      sha256 = "0p26c96fb33khbf7ws91ha73n72lwmn714v8spg0bla9m1jkfhk8";
-      name = "qtdeclarative-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtdoc = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtdoc-opensource-src-5.9.7.tar.xz";
-      sha256 = "1vs6dy0mdcn65fhpl8nib0pjw9bliqkjnaahqm833ayvxr15vzyj";
-      name = "qtdoc-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtgamepad = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtgamepad-opensource-src-5.9.7.tar.xz";
-      sha256 = "0242683h9jz6b0n11s4m4ii2691dbws0gkj45n6sx6z513blfx9f";
-      name = "qtgamepad-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtgraphicaleffects = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtgraphicaleffects-opensource-src-5.9.7.tar.xz";
-      sha256 = "1yhxa3i3jvfnc9l6a3q3pyk7y702a3pp87ypshb63607xvrxrv2d";
-      name = "qtgraphicaleffects-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtimageformats = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtimageformats-opensource-src-5.9.7.tar.xz";
-      sha256 = "1an0k3rzxjc4x4rscnibdk36zff6g1n41lh5dasys4jc05k3w1b2";
-      name = "qtimageformats-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtlocation = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtlocation-opensource-src-5.9.7.tar.xz";
-      sha256 = "0lp6zn630px1lj7623shq47dlv02nr0aj7iqscrk0yzhygbv7dc2";
-      name = "qtlocation-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtmacextras = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtmacextras-opensource-src-5.9.7.tar.xz";
-      sha256 = "0b0znccbach41la226cmps9aaigpz8mj940xj890arjf8hn4jd97";
-      name = "qtmacextras-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtmultimedia = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtmultimedia-opensource-src-5.9.7.tar.xz";
-      sha256 = "060gic3gl27r7k4vw4n550384b4wadqfn3biajbq6lbyj3zhgxxx";
-      name = "qtmultimedia-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtnetworkauth = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtnetworkauth-opensource-src-5.9.7.tar.xz";
-      sha256 = "14n8wzsyq7bw67r1k442widfvszawgi5sh0b10h2jcrp5aikqr0p";
-      name = "qtnetworkauth-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtpurchasing = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtpurchasing-opensource-src-5.9.7.tar.xz";
-      sha256 = "1qvxsi0ar04qy0zajbhvwj5blldhfq2mn3laq15g0xxy1xh4m46i";
-      name = "qtpurchasing-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtquickcontrols = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtquickcontrols-opensource-src-5.9.7.tar.xz";
-      sha256 = "1jkz2b2wzxzmskvwwb4afqxz0yp0siaf3yhj2i01y865sp6q1wz0";
-      name = "qtquickcontrols-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtquickcontrols2 = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtquickcontrols2-opensource-src-5.9.7.tar.xz";
-      sha256 = "0w9rq77a8vc9avhbwbx7swg7zw7jn21wd7si59822rw9ln1p6zb0";
-      name = "qtquickcontrols2-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtremoteobjects = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtremoteobjects-opensource-src-5.9.7.tar.xz";
-      sha256 = "1ninscf4jkframv585zzi76fml1lyz0mhb091r2r54lrf66wl3lw";
-      name = "qtremoteobjects-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtscript = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtscript-opensource-src-5.9.7.tar.xz";
-      sha256 = "0mv33a1mjaahq7ixfasvjasc881bprfbkjhx8pn3z5f0l8213m67";
-      name = "qtscript-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtscxml = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtscxml-opensource-src-5.9.7.tar.xz";
-      sha256 = "0xz2q2bl1n43gxx00nrzyc0bsnq4wch0k2rkj3prc9gsgmpq0bih";
-      name = "qtscxml-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtsensors = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtsensors-opensource-src-5.9.7.tar.xz";
-      sha256 = "0pfh4lr9zxsh9winzx1lmcgl2hgp9lr45smcvslr4an93z6mbf8r";
-      name = "qtsensors-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtserialbus = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtserialbus-opensource-src-5.9.7.tar.xz";
-      sha256 = "0n6z56axm0gbrxmnwbz8fv40ar9mw1rlfvmpqvpg5xb9031qil1b";
-      name = "qtserialbus-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtserialport = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtserialport-opensource-src-5.9.7.tar.xz";
-      sha256 = "05qy4m1p5j5bh6af7d97iblsmgy9kppm5wif3bl63p6yghn319sh";
-      name = "qtserialport-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtspeech = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtspeech-opensource-src-5.9.7.tar.xz";
-      sha256 = "0nnbqnh18vw26vphancs38vjr816xha8m6wl389kjqi01kjrcz70";
-      name = "qtspeech-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtsvg = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtsvg-opensource-src-5.9.7.tar.xz";
-      sha256 = "0r2mqy6lb2ypmilf83zyp73v5d9ars314jfm6f0fv5if8yw253v2";
-      name = "qtsvg-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qttools = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qttools-opensource-src-5.9.7.tar.xz";
-      sha256 = "18b7jg25434p80yr929nfihk0i124bxpd2dv9mqdcicnv5q0ybnn";
-      name = "qttools-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qttranslations = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qttranslations-opensource-src-5.9.7.tar.xz";
-      sha256 = "051a3igp1qnd7d7bg2dvjaqwh6f67fvkn19jdfjzrdis7kcsfvdk";
-      name = "qttranslations-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtvirtualkeyboard = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtvirtualkeyboard-opensource-src-5.9.7.tar.xz";
-      sha256 = "1qcj6ncg53rv4pg4ijdq7vbkzgzfr9bn40aif7g4dndykj0zwla7";
-      name = "qtvirtualkeyboard-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtwayland = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtwayland-opensource-src-5.9.7.tar.xz";
-      sha256 = "0y6ky1ipg42gq390ibgr4nns9i4j648yb7bkmx6b7lhsi7mvnp2n";
-      name = "qtwayland-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtwebchannel = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtwebchannel-opensource-src-5.9.7.tar.xz";
-      sha256 = "189qkfxixddfblwkaf46yrqjp91vhmw90gpafjryqfmd2141r8qj";
-      name = "qtwebchannel-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtwebengine = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtwebengine-opensource-src-5.9.7.tar.xz";
-      sha256 = "0kzpgks5h19rm7gbhr688lr5f5d9ykf062kj91q7wf6fk7qd72v2";
-      name = "qtwebengine-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtwebkit = {
-    version = "5.9.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtwebkit-opensource-src-5.9.1.tar.xz";
-      sha256 = "1ksjn1vjbfhdm4y4rg08ag4krk87ahp7qcdcpwll42l0rnz61998";
-      name = "qtwebkit-opensource-src-5.9.1.tar.xz";
-    };
-  };
-  qtwebkit-examples = {
-    version = "5.9.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtwebkit-examples-opensource-src-5.9.1.tar.xz";
-      sha256 = "1l2l7ycgqql6rf4gx6sjhsqjapdhvy6vxaxssax3l938nkk4vkp4";
-      name = "qtwebkit-examples-opensource-src-5.9.1.tar.xz";
-    };
-  };
-  qtwebsockets = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtwebsockets-opensource-src-5.9.7.tar.xz";
-      sha256 = "1qqvd6qf7m2xq71mdaidwabj5c03cbbi1hwc7p95fvbnz9crz79x";
-      name = "qtwebsockets-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtwebview = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtwebview-opensource-src-5.9.7.tar.xz";
-      sha256 = "1zwqkmzik4f83hdffmw0hz90mzga34hkyz7d0skfbdp25y278r12";
-      name = "qtwebview-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtwinextras = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtwinextras-opensource-src-5.9.7.tar.xz";
-      sha256 = "1a57v7krglfdi4gizm402jn9pg7fqpcma7xk6sm68zg1siv11a6x";
-      name = "qtwinextras-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtx11extras = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtx11extras-opensource-src-5.9.7.tar.xz";
-      sha256 = "02jdiw94dasnkszi5w1pysfgz8xrr71pzah37nbnqg0knn4dzich";
-      name = "qtx11extras-opensource-src-5.9.7.tar.xz";
-    };
-  };
-  qtxmlpatterns = {
-    version = "5.9.7";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.7/submodules/qtxmlpatterns-opensource-src-5.9.7.tar.xz";
-      sha256 = "0j0rxkpyww5cgcjhy0332jsyka1d811wf6zmr16d5fdkbryp7d65";
-      name = "qtxmlpatterns-opensource-src-5.9.7.tar.xz";
-    };
-  };
-}
diff --git a/pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh b/pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh
index d9e5880289dc..f591ef2fb422 100644
--- a/pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh
+++ b/pkgs/development/libraries/qt-5/hooks/wrap-qt-apps-hook.sh
@@ -1,5 +1,5 @@
 # Inherit arguments given in mkDerivation
-qtWrapperArgs=( $qtWrapperArgs )
+qtWrapperArgs=( ${qtWrapperArgs-} )
 
 qtHostPathSeen=()
 
diff --git a/pkgs/development/libraries/quesoglc/default.nix b/pkgs/development/libraries/quesoglc/default.nix
index 2e47a2135657..fe24d0fcddfd 100644
--- a/pkgs/development/libraries/quesoglc/default.nix
+++ b/pkgs/development/libraries/quesoglc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libGLU_combined, glew, freetype, fontconfig, fribidi, libX11 }:
+{ stdenv, fetchurl, libGLU, libGL, glew, freetype, fontconfig, fribidi, libX11 }:
 stdenv.mkDerivation rec {
   pname = "quesoglc";
   version = "0.7.2";
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
     sha256 = "0cf9ljdzii5d4i2m23gdmf3kn521ljcldzq69lsdywjid3pg5zjl";
   };
-  buildInputs = [ libGLU_combined glew freetype fontconfig fribidi libX11 ];
+  buildInputs = [ libGLU libGL glew freetype fontconfig fribidi libX11 ];
   # FIXME: Configure fails to use system glew.
   meta = with stdenv.lib; {
     description = "A free implementation of the OpenGL Character Renderer";
diff --git a/pkgs/development/libraries/rocksdb/default.nix b/pkgs/development/libraries/rocksdb/default.nix
index 2bb56bec8c0a..ac70d6ec0f2c 100644
--- a/pkgs/development/libraries/rocksdb/default.nix
+++ b/pkgs/development/libraries/rocksdb/default.nix
@@ -1,4 +1,8 @@
-{ stdenv, fetchFromGitHub, lib, bzip2, cmake, lz4, snappy, zlib, zstd, enableLite ? false }:
+{ stdenv, fetchFromGitHub, fetchpatch
+, cmake, ninja
+, bzip2, lz4, snappy, zlib, zstd
+, enableLite ? false
+}:
 
 stdenv.mkDerivation rec {
   pname = "rocksdb";
@@ -11,9 +15,17 @@ stdenv.mkDerivation rec {
     sha256 = "0s0n4p1b4jzmslz9d2xd4ajra0m6l9x26mjwlbgw0klxjggmy8qn";
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake ninja ];
   buildInputs = [ bzip2 lz4 snappy zlib zstd ];
 
+  patches = [
+    # https://github.com/facebook/rocksdb/pull/6076
+    (fetchpatch {
+      url = "https://github.com/facebook/rocksdb/commit/c0be4b2ff1a5393419673fab961cb9b09ba38752.diff";
+      sha256 = "1f2wg9kqlmf2hiiihmbp8m5fr2wnn7896g6i9yg9hdgi40pw30w6";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace CMakeLists.txt --replace "find_package(zlib " "find_package(ZLIB "
   '';
@@ -31,13 +43,17 @@ stdenv.mkDerivation rec {
     "-DWITH_ZSTD=1"
     "-DWITH_GFLAGS=0"
     "-DUSE_RTTI=1"
-    (lib.optional
-        (stdenv.hostPlatform.system == "i686-linux"
-         || stdenv.hostPlatform.system == "x86_64-linux")
+    "-DROCKSDB_INSTALL_ON_WINDOWS=YES" # harmless elsewhere
+    (stdenv.lib.optional
+        (stdenv.hostPlatform.isx86 && stdenv.hostPlatform.isLinux)
         "-DFORCE_SSE42=1")
-    (lib.optional enableLite "-DROCKSDB_LITE=1")
+    (stdenv.lib.optional enableLite "-DROCKSDB_LITE=1")
+    "-DFAIL_ON_WARNINGS=${if stdenv.hostPlatform.isMinGW then "NO" else "YES"}"
   ];
 
+  # otherwise "cc1: error: -Wformat-security ignored without -Wformat [-Werror=format-security]"
+  hardeningDisable = stdenv.lib.optional stdenv.hostPlatform.isWindows "format";
+
   meta = with stdenv.lib; {
     homepage = https://rocksdb.org;
     description = "A library that provides an embeddable, persistent key-value store for fast storage";
diff --git a/pkgs/development/libraries/schroedinger/default.nix b/pkgs/development/libraries/schroedinger/default.nix
index 25126edbc0f4..f78ed0f7925d 100644
--- a/pkgs/development/libraries/schroedinger/default.nix
+++ b/pkgs/development/libraries/schroedinger/default.nix
@@ -4,10 +4,7 @@ stdenv.mkDerivation {
   name = "schroedinger-1.0.11";
 
   src = fetchurl {
-    urls = [
-      http://diracvideo.org/download/schroedinger/schroedinger-1.0.11.tar.gz
-      https://download.videolan.org/contrib/schroedinger-1.0.11.tar.gz
-    ];
+    url = https://download.videolan.org/contrib/schroedinger-1.0.11.tar.gz;
     sha256 = "04prr667l4sn4zx256v1z36a0nnkxfdqyln48rbwlamr6l3jlmqy";
   };
 
@@ -27,7 +24,8 @@ stdenv.mkDerivation {
   ];
 
   meta = with stdenv.lib; {
-    homepage = http://diracvideo.org/;
+    description = "An implementation of the Dirac video codec in ANSI C";
+    homepage = "https://sourceforge.net/projects/schrodinger/";
     maintainers = [ maintainers.spwhitt ];
     license = [ licenses.mpl11 licenses.lgpl2 licenses.mit ];
     platforms = platforms.unix;
diff --git a/pkgs/development/libraries/science/biology/elastix/default.nix b/pkgs/development/libraries/science/biology/elastix/default.nix
index 9105b1c52acf..4cfc07c1cbaa 100644
--- a/pkgs/development/libraries/science/biology/elastix/default.nix
+++ b/pkgs/development/libraries/science/biology/elastix/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchurl, cmake, itk, python }:
+{ stdenv, fetchFromGitHub, cmake, itk, python }:
 
 stdenv.mkDerivation rec {
   pname    = "elastix";
-  pversion = "4.9.0";
-  name  = "${pname}-${pversion}";
+  version = "5.0.0";
 
-  src = fetchurl {
-    url    = "https://github.com/SuperElastix/${pname}/archive/${pversion}.tar.gz";
-    sha256 = "02pbln36nq98xxfyqwlxg7b6gmigdq4fgfqr9mym1qn58aj04shg";
+  src = fetchFromGitHub {
+    owner  = "SuperElastix";
+    repo   = pname;
+    rev    = version;
+    sha256 = "1zrl7rz4lwsx88b2shnl985f3a97lmp4ksbd437h9y0hfjq8l0lj";
   };
-
   nativeBuildInputs = [ cmake python ];
   buildInputs = [ itk ];
 
@@ -19,6 +19,5 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ bcdarwin ];
     platforms = platforms.linux;
     license = licenses.asl20;
-    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/science/biology/nifticlib/default.nix b/pkgs/development/libraries/science/biology/nifticlib/default.nix
index 51eed36312dd..8c7da7968f5c 100644
--- a/pkgs/development/libraries/science/biology/nifticlib/default.nix
+++ b/pkgs/development/libraries/science/biology/nifticlib/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     homepage = https://sourceforge.net/projects/niftilib;
     description = "Medical imaging format C API";
     maintainers = with maintainers; [ bcdarwin ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     license = licenses.publicDomain;
   };
 }
diff --git a/pkgs/development/libraries/science/math/caffe2/default.nix b/pkgs/development/libraries/science/math/caffe2/default.nix
index 26ec1237601f..a5c373ecde97 100644
--- a/pkgs/development/libraries/science/math/caffe2/default.nix
+++ b/pkgs/development/libraries/science/math/caffe2/default.nix
@@ -57,7 +57,7 @@ let
     dst = "pybind11";
   };
 
-  ccVersion = (builtins.parseDrvName stdenv.cc.name).version;
+  ccVersion = lib.getVersion stdenv.cc;
 in
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/libraries/science/math/liblapack/default.nix b/pkgs/development/libraries/science/math/liblapack/default.nix
index 076376dc3c15..a7d01e22d962 100644
--- a/pkgs/development/libraries/science/math/liblapack/default.nix
+++ b/pkgs/development/libraries/science/math/liblapack/default.nix
@@ -1,6 +1,6 @@
 {
   stdenv,
-  fetchurl,
+  fetchFromGitHub,
   gfortran,
   cmake,
   python2,
@@ -8,19 +8,22 @@
 }:
 let
   inherit (stdenv.lib) optional;
-  version = "3.8.0";
+  version = "3.9.0";
 in
 
 stdenv.mkDerivation {
   pname = "liblapack";
   inherit version;
-  src = fetchurl {
-    url = "http://www.netlib.org/lapack/lapack-${version}.tar.gz";
-    sha256 = "1xmwi2mqmipvg950gb0rhgprcps8gy8sjm8ic9rgy2qjlv22rcny";
+
+  src = fetchFromGitHub {
+    owner = "Reference-LAPACK";
+    repo = "lapack";
+    rev = "v${version}";
+    sha256 = "0sxnc97z67i7phdmcnq8f8lmxgw10wdwvr8ami0w3pb179cgrbpb";
   };
 
-  buildInputs = [ gfortran cmake ];
-  nativeBuildInputs = [ python2 ];
+  buildInputs = [ gfortran ];
+  nativeBuildInputs = [ python2 cmake ];
 
   cmakeFlags = [
     "-DCMAKE_Fortran_FLAGS=-fPIC"
diff --git a/pkgs/development/libraries/science/math/mkl/default.nix b/pkgs/development/libraries/science/math/mkl/default.nix
index c1a5ea2969e1..382d2c303e3c 100644
--- a/pkgs/development/libraries/science/math/mkl/default.nix
+++ b/pkgs/development/libraries/science/math/mkl/default.nix
@@ -46,6 +46,7 @@ in stdenvNoCC.mkDerivation {
       tar xzvf $f
     done
   '' else ''
+    rpmextract rpm/intel-mkl-cluster-rt-${rpm-ver}.x86_64.rpm
     rpmextract rpm/intel-mkl-common-c-${rpm-ver}.noarch.rpm
     rpmextract rpm/intel-mkl-core-${rpm-ver}.x86_64.rpm
     rpmextract rpm/intel-mkl-core-rt-${rpm-ver}.x86_64.rpm
diff --git a/pkgs/development/libraries/science/math/scalapack/default.nix b/pkgs/development/libraries/science/math/scalapack/default.nix
index 14277c8c6318..bff0d9a85fa2 100644
--- a/pkgs/development/libraries/science/math/scalapack/default.nix
+++ b/pkgs/development/libraries/science/math/scalapack/default.nix
@@ -1,20 +1,19 @@
-{ stdenv, fetchurl, cmake, openssh
+{ stdenv, fetchFromGitHub, cmake, openssh
 , gfortran, mpi, openblasCompat
 } :
 
 
 stdenv.mkDerivation rec {
   pname = "scalapack";
-  version = "2.0.2";
+  version = "2.1";
 
-  src = fetchurl {
-    url = "http://www.netlib.org/scalapack/scalapack-${version}.tgz";
-    sha256 = "0p1r61ss1fq0bs8ynnx7xq4wwsdvs32ljvwjnx6yxr8gd6pawx0c";
+  src = fetchFromGitHub {
+    owner = "Reference-ScaLAPACK";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "042q9kc383h7y0had9a37702z4s0szavss063ljvfdsbjy07gzb1";
   };
 
-  # patch to rename outdated MPI functions
-  patches = [ ./openmpi4.patch ];
-
   nativeBuildInputs = [ cmake openssh ];
   buildInputs = [ mpi gfortran openblasCompat ];
 
diff --git a/pkgs/development/libraries/science/math/scalapack/openmpi4.patch b/pkgs/development/libraries/science/math/scalapack/openmpi4.patch
deleted file mode 100644
index 5d0afb58c027..000000000000
--- a/pkgs/development/libraries/science/math/scalapack/openmpi4.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-diff --git a/BLACS/SRC/blacs_get_.c b/BLACS/SRC/blacs_get_.c
-index e979767..d4b04cf 100644
---- a/BLACS/SRC/blacs_get_.c
-+++ b/BLACS/SRC/blacs_get_.c
-@@ -23,7 +23,7 @@ F_VOID_FUNC blacs_get_(int *ConTxt, int *what, int *val)
-    case SGET_MSGIDS:
-       if (BI_COMM_WORLD == NULL) Cblacs_pinfo(val, &val[1]);
-       iptr = &val[1];
--      ierr=MPI_Attr_get(MPI_COMM_WORLD, MPI_TAG_UB, (BVOID **) &iptr,val);
-+      ierr=MPI_Comm_get_attr(MPI_COMM_WORLD, MPI_TAG_UB, (BVOID **) &iptr,val);
-       val[0] = 0;
-       val[1] = *iptr;
-       break;
-diff --git a/BLACS/SRC/cgamn2d_.c b/BLACS/SRC/cgamn2d_.c
-index 2db6ccb..6958f32 100644
---- a/BLACS/SRC/cgamn2d_.c
-+++ b/BLACS/SRC/cgamn2d_.c
-@@ -221,7 +221,7 @@ F_VOID_FUNC cgamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
-       {
- #endif
-       i = 2;
--      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
-+      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
-       ierr=MPI_Type_commit(&MyType);
-       bp->N = bp2->N = 1;
-       bp->dtype = bp2->dtype = MyType;
-diff --git a/BLACS/SRC/cgamx2d_.c b/BLACS/SRC/cgamx2d_.c
-index 707c0b6..f802d01 100644
---- a/BLACS/SRC/cgamx2d_.c
-+++ b/BLACS/SRC/cgamx2d_.c
-@@ -221,7 +221,7 @@ F_VOID_FUNC cgamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
-       {
- #endif
-       i = 2;
--      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
-+      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
-       ierr=MPI_Type_commit(&MyType);
-       bp->N = bp2->N = 1;
-       bp->dtype = bp2->dtype = MyType;
-diff --git a/BLACS/SRC/dgamn2d_.c b/BLACS/SRC/dgamn2d_.c
-index dff23b4..a2627ac 100644
---- a/BLACS/SRC/dgamn2d_.c
-+++ b/BLACS/SRC/dgamn2d_.c
-@@ -221,7 +221,7 @@ F_VOID_FUNC dgamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
-       {
- #endif
-       i = 2;
--      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
-+      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
-       ierr=MPI_Type_commit(&MyType);
-       bp->N = bp2->N = 1;
-       bp->dtype = bp2->dtype = MyType;
-diff --git a/BLACS/SRC/dgamx2d_.c b/BLACS/SRC/dgamx2d_.c
-index a51f731..2a644d0 100644
---- a/BLACS/SRC/dgamx2d_.c
-+++ b/BLACS/SRC/dgamx2d_.c
-@@ -221,7 +221,7 @@ F_VOID_FUNC dgamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
-       {
- #endif
-       i = 2;
--      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
-+      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
-       ierr=MPI_Type_commit(&MyType);
-       bp->N = bp2->N = 1;
-       bp->dtype = bp2->dtype = MyType;
-diff --git a/BLACS/SRC/igamn2d_.c b/BLACS/SRC/igamn2d_.c
-index 16bc003..f6a7859 100644
---- a/BLACS/SRC/igamn2d_.c
-+++ b/BLACS/SRC/igamn2d_.c
-@@ -218,7 +218,7 @@ F_VOID_FUNC igamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
-       {
- #endif
-       i = 2;
--      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
-+      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
-       ierr=MPI_Type_commit(&MyType);
-       bp->N = bp2->N = 1;
-       bp->dtype = bp2->dtype = MyType;
-diff --git a/BLACS/SRC/igamx2d_.c b/BLACS/SRC/igamx2d_.c
-index 8165cbe..a7cfcc6 100644
---- a/BLACS/SRC/igamx2d_.c
-+++ b/BLACS/SRC/igamx2d_.c
-@@ -218,7 +218,7 @@ F_VOID_FUNC igamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
-       {
- #endif
-       i = 2;
--      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
-+      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
-       ierr=MPI_Type_commit(&MyType);
-       bp->N = bp2->N = 1;
-       bp->dtype = bp2->dtype = MyType;
-diff --git a/BLACS/SRC/sgamn2d_.c b/BLACS/SRC/sgamn2d_.c
-index d6c95e5..569c797 100644
---- a/BLACS/SRC/sgamn2d_.c
-+++ b/BLACS/SRC/sgamn2d_.c
-@@ -221,7 +221,7 @@ F_VOID_FUNC sgamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
-       {
- #endif
-       i = 2;
--      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
-+      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
-       ierr=MPI_Type_commit(&MyType);
-       bp->N = bp2->N = 1;
-       bp->dtype = bp2->dtype = MyType;
-diff --git a/BLACS/SRC/sgamx2d_.c b/BLACS/SRC/sgamx2d_.c
-index 4b0af6f..8897ece 100644
---- a/BLACS/SRC/sgamx2d_.c
-+++ b/BLACS/SRC/sgamx2d_.c
-@@ -221,7 +221,7 @@ F_VOID_FUNC sgamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
-       {
- #endif
-       i = 2;
--      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
-+      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
-       ierr=MPI_Type_commit(&MyType);
-       bp->N = bp2->N = 1;
-       bp->dtype = bp2->dtype = MyType;
-diff --git a/BLACS/SRC/zgamn2d_.c b/BLACS/SRC/zgamn2d_.c
-index 9de2b23..37897df 100644
---- a/BLACS/SRC/zgamn2d_.c
-+++ b/BLACS/SRC/zgamn2d_.c
-@@ -221,7 +221,7 @@ F_VOID_FUNC zgamn2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
-       {
- #endif
-       i = 2;
--      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
-+      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
-       ierr=MPI_Type_commit(&MyType);
-       bp->N = bp2->N = 1;
-       bp->dtype = bp2->dtype = MyType;
-diff --git a/BLACS/SRC/zgamx2d_.c b/BLACS/SRC/zgamx2d_.c
-index 414c381..0e9d474 100644
---- a/BLACS/SRC/zgamx2d_.c
-+++ b/BLACS/SRC/zgamx2d_.c
-@@ -221,7 +221,7 @@ F_VOID_FUNC zgamx2d_(int *ConTxt, F_CHAR scope, F_CHAR top, int *m, int *n,
-       {
- #endif
-       i = 2;
--      ierr=MPI_Type_struct(i, len, disp, dtypes, &MyType);
-+      ierr=MPI_Type_create_struct(i, len, disp, dtypes, &MyType);
-       ierr=MPI_Type_commit(&MyType);
-       bp->N = bp2->N = 1;
-       bp->dtype = bp2->dtype = MyType;
diff --git a/pkgs/development/libraries/silgraphite/graphite2.nix b/pkgs/development/libraries/silgraphite/graphite2.nix
index 14af55c2afc1..6b1c4ca97ba6 100644
--- a/pkgs/development/libraries/silgraphite/graphite2.nix
+++ b/pkgs/development/libraries/silgraphite/graphite2.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, pkgconfig, freetype, cmake, python }:
 
 stdenv.mkDerivation rec {
-  version = "1.3.6";
+  version = "1.3.13";
   pname = "graphite2";
 
   src = fetchurl {
     url = "https://github.com/silnrsi/graphite/releases/download/"
-      + "${version}/graphite-${version}.tgz";
-    sha256 = "0xdg6bc02bl8yz39l5i2skczfg17q4lif0qqan0dhvk0mibpcpj7";
+      + "${version}/graphite2-${version}.tgz";
+    sha256 = "01jzhwnj1c3d68dmw15jdxly0hwkmd8ja4kw755rbkykn1ly2qyx";
   };
 
   nativeBuildInputs = [ pkgconfig cmake ];
diff --git a/pkgs/development/libraries/simgear/default.nix b/pkgs/development/libraries/simgear/default.nix
index 471bcb222347..bdd8dd9d9998 100644
--- a/pkgs/development/libraries/simgear/default.nix
+++ b/pkgs/development/libraries/simgear/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, plib, freeglut, xorgproto, libX11, libXext, libXi
-, libICE, libSM, libXt, libXmu, libGLU_combined, boost, zlib, libjpeg, freealut
+, libICE, libSM, libXt, libXmu, libGLU, libGL, boost, zlib, libjpeg, freealut
 , openscenegraph, openal, expat, cmake, apr
 , curl
 }:
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ plib freeglut xorgproto libX11 libXext libXi
-                  libICE libSM libXt libXmu libGLU_combined boost zlib libjpeg freealut
+                  libICE libSM libXt libXmu libGLU libGL boost zlib libjpeg freealut
                   openscenegraph openal expat apr curl ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/simpleitk/default.nix b/pkgs/development/libraries/simpleitk/default.nix
index 2afd7650618b..cbb6a4b64f17 100644
--- a/pkgs/development/libraries/simpleitk/default.nix
+++ b/pkgs/development/libraries/simpleitk/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "simpleitk";
-  version = "1.2.3";
+  version = "1.2.4";
 
   src = fetchFromGitHub {
     owner = "SimpleITK";
     repo = "SimpleITK";
     rev = "v${version}";
-    sha256 = "0nmsq0qx4jmrrhrc6bfm11wwvyszvfgl45xizw69yra3cv9pgmm6";
+    sha256 = "0dvf2407z9n6lczm0l5vzcvpw6r6z1wzrs2gk3dqjrgynq6952qr";
   };
 
   nativeBuildInputs = [ cmake git swig ];
diff --git a/pkgs/development/libraries/smarty3/default.nix b/pkgs/development/libraries/smarty3/default.nix
index 4876c39ce83c..b3214cc01dfc 100644
--- a/pkgs/development/libraries/smarty3/default.nix
+++ b/pkgs/development/libraries/smarty3/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchFromGitHub, ... }: stdenv.mkDerivation rec {
   pname = "smarty3";
-  version = "3.1.33";
+  version = "3.1.34";
 
   src = fetchFromGitHub {
     owner = "smarty-php";
     repo = "smarty";
     rev = "v${version}";
-    sha256 = "12kll8nv4b90nlx3y0213lsncqw2ydshjx4g6dv7jah6j1pv29ix";
+    sha256 = "0a44p71aqyifm7qkp892aczb0bn6a9fv4657dsscxszvdm25a92x";
   };
 
   installPhase = ''
diff --git a/pkgs/development/libraries/smpeg/default.nix b/pkgs/development/libraries/smpeg/default.nix
index e28667883020..a7ffc146f414 100644
--- a/pkgs/development/libraries/smpeg/default.nix
+++ b/pkgs/development/libraries/smpeg/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchsvn, SDL, autoconf, automake, libtool, gtk2, m4, pkgconfig, libGLU_combined, makeWrapper }:
+{ stdenv, fetchsvn, SDL, autoconf, automake, libtool, gtk2, m4, pkgconfig, libGLU, libGL, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "smpeg-svn${version}";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  buildInputs = [ SDL gtk2 libGLU_combined ];
+  buildInputs = [ SDL gtk2 libGLU libGL ];
 
   nativeBuildInputs = [ autoconf automake libtool m4 pkgconfig makeWrapper ];
 
diff --git a/pkgs/development/libraries/snappy/default.nix b/pkgs/development/libraries/snappy/default.nix
index 80c3630af29e..f35f5bfc55a2 100644
--- a/pkgs/development/libraries/snappy/default.nix
+++ b/pkgs/development/libraries/snappy/default.nix
@@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
     homepage = https://google.github.io/snappy/;
     license = licenses.bsd3;
     description = "Compression/decompression library for very high speeds";
-    platforms = platforms.unix;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/soxt/default.nix b/pkgs/development/libraries/soxt/default.nix
index 11ba48c59716..4afb310d49ac 100644
--- a/pkgs/development/libraries/soxt/default.nix
+++ b/pkgs/development/libraries/soxt/default.nix
@@ -1,4 +1,4 @@
-{ fetchhg, stdenv, cmake, coin3d, motif, xlibsWrapper, libXmu, libGLU_combined }:
+{ fetchhg, stdenv, cmake, coin3d, motif, xlibsWrapper, libXmu, libGLU, libGL }:
 
 stdenv.mkDerivation {
   pname = "soxt";
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ coin3d motif xlibsWrapper libGLU_combined libXmu ];
+  buildInputs = [ coin3d motif xlibsWrapper libGLU libGL libXmu ];
 
   meta = with stdenv.lib; {
     homepage = https://bitbucket.org/Coin3D/coin/wiki/Home;
diff --git a/pkgs/development/libraries/spandsp/default.nix b/pkgs/development/libraries/spandsp/default.nix
index ba1d3e992d68..95827ba364ab 100644
--- a/pkgs/development/libraries/spandsp/default.nix
+++ b/pkgs/development/libraries/spandsp/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [audiofile libtiff];
   meta = {
+    description = "A portable and modular SIP User-Agent with audio and video support";
     homepage = http://www.creytiv.com/baresip.html;
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [raskin];
diff --git a/pkgs/development/libraries/tiledb/default.nix b/pkgs/development/libraries/tiledb/default.nix
new file mode 100644
index 000000000000..605307e080ef
--- /dev/null
+++ b/pkgs/development/libraries/tiledb/default.nix
@@ -0,0 +1,76 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, zlib
+, lz4
+, bzip2
+, zstd
+, spdlog_0
+, tbb
+, openssl
+, boost
+, libpqxx
+, clang-tools
+, catch2
+, python
+, gtest
+, doxygen
+}:
+
+stdenv.mkDerivation rec {
+  pname = "tiledb";
+  version = "1.7.0";
+
+  src = fetchFromGitHub {
+    owner = "TileDB-Inc";
+    repo = "TileDB";
+    rev = version;
+    sha256 = "07wh9q72vsaf5j2m2c6cfmllwhr3m9f8xzg8h0i6mhd7d0wr4lna";
+  };
+
+  nativeBuildInputs = [
+    clang-tools
+    cmake
+    python
+    doxygen
+  ];
+
+  checkInputs = [
+    gtest
+  ];
+
+  enableParallelBuilding = true;
+
+  buildInputs = [
+    catch2
+    zlib
+    lz4
+    bzip2
+    zstd
+    spdlog_0
+    tbb
+    openssl
+    boost
+    libpqxx
+  ];
+
+  # emulate the process of pulling catch down
+  postPatch = ''
+    mkdir -p build/externals/src/ep_catch
+    ln -sf ${catch2}/include/catch2 build/externals/src/ep_catch/single_include
+  '';
+
+  doCheck = false; # 9 failing tests due to what seems an overflow
+
+  installTargets = [ "install-tiledb" "doc" ];
+
+  meta = with lib; {
+    description = "TileDB allows you to manage the massive dense and sparse multi-dimensional array data";
+    homepage = https://github.com/TileDB-Inc/TileDB;
+    license = licenses.mit;
+    platforms = [ "x86_64-linux"];
+    maintainers = with maintainers; [ rakesh4g ];
+  };
+
+}
diff --git a/pkgs/development/libraries/tre/default.nix b/pkgs/development/libraries/tre/default.nix
index 901b6aa097fd..d5ed35694c58 100644
--- a/pkgs/development/libraries/tre/default.nix
+++ b/pkgs/development/libraries/tre/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
   ];
 
   meta = {
+    description = "Lightweight and robust POSIX compliant regexp matching library";
+    homepage = "https://laurikari.net/tre/";
     platforms = stdenv.lib.platforms.unix;
     license = stdenv.lib.licenses.bsd2;
   };
diff --git a/pkgs/development/libraries/unixODBCDrivers/default.nix b/pkgs/development/libraries/unixODBCDrivers/default.nix
index c1810443bdb3..78f85afca917 100644
--- a/pkgs/development/libraries/unixODBCDrivers/default.nix
+++ b/pkgs/development/libraries/unixODBCDrivers/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, unixODBC, cmake, postgresql, mysql, libmysqlclient, sqlite, zlib, libxml2, dpkg, lib, openssl, kerberos, libuuid, patchelf }:
+{ fetchurl, stdenv, unixODBC, cmake, postgresql, mysql, sqlite, zlib, libxml2, dpkg, lib, openssl, kerberos, libuuid, patchelf, libiconv, fetchFromGitHub }:
 
 # I haven't done any parameter tweaking.. So the defaults provided here might be bad
 
@@ -29,35 +29,42 @@
 
   mariadb = stdenv.mkDerivation rec {
     pname = "mariadb-connector-odbc";
-    version = "3.1.2";
-
-    src = fetchurl {
-      url = "https://downloads.mariadb.org/interstitial/connector-odbc-${version}/${pname}-${version}-ga-src.tar.gz";
-      sha256 = "0iibly2mbqijqyq4pzpb6dh40clqhvqrhgnj8knm4bw3nlksd0d5";
+    version = "3.1.4";
+
+    src = fetchFromGitHub {
+      owner = "MariaDB";
+      repo = "mariadb-connector-odbc";
+      rev = version;
+      sha256 = "1kbz5mng9vx89cw2sx7gsvhbv4h86zwp31fr0hxqing3cwxhkfgw";
+      # this driver only seems to build correctly when built against the mariadb-connect-c subrepo
+      # (see https://github.com/NixOS/nixpkgs/issues/73258)
+      fetchSubmodules = true;
     };
 
     nativeBuildInputs = [ cmake ];
-    buildInputs = [ unixODBC libmysqlclient openssl ];
+    buildInputs = [ unixODBC openssl libiconv ];
+
+    preConfigure = ''
+      # we don't want to build a .pkg
+      sed -i 's/ADD_SUBDIRECTORY(osxinstall)//g' CMakeLists.txt
+    '';
 
     cmakeFlags = [
       "-DWITH_OPENSSL=ON"
-    ];
-
-   NIX_CFLAGS_COMPILE = [
-     "-I${libmysqlclient}/include/mysql"
-     "-L${libmysqlclient}/lib/mysql"
+      # on darwin this defaults to ON but we want to build against unixODBC
+      "-DWITH_IODBC=OFF"
     ];
 
     passthru = {
       fancyName = "MariaDB";
-      driver = "lib/libmaodbc.so";
+      driver = if stdenv.isDarwin then "lib/libmaodbc.dylib" else "lib/libmaodbc.so";
     };
 
     meta = with stdenv.lib; {
       description = "MariaDB ODBC database driver";
       homepage =  https://downloads.mariadb.org/connector-odbc/;
       license = licenses.gpl2;
-      platforms = platforms.linux;
+      platforms = platforms.linux ++ platforms.darwin;
     };
   };
 
diff --git a/pkgs/development/libraries/vaapi-vdpau/default.nix b/pkgs/development/libraries/vaapi-vdpau/default.nix
index e3fd7ad57e02..94f96b867d55 100644
--- a/pkgs/development/libraries/vaapi-vdpau/default.nix
+++ b/pkgs/development/libraries/vaapi-vdpau/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, libvdpau, libGLU_combined, libva, pkgconfig }:
+{ stdenv, fetchurl, fetchpatch, libvdpau, libGLU, libGL, libva, pkgconfig }:
 
 stdenv.mkDerivation rec {
   pname = "libva-vdpau-driver";
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libvdpau libGLU_combined libva ];
+  buildInputs = [ libvdpau libGLU libGL libva ];
 
   postPatch = ''
     sed -i -e "s,LIBVA_DRIVERS_PATH=.*,LIBVA_DRIVERS_PATH=$out/lib/dri," configure
diff --git a/pkgs/development/libraries/vrpn/default.nix b/pkgs/development/libraries/vrpn/default.nix
index 0ae5ba147cb7..688dc8d451ee 100644
--- a/pkgs/development/libraries/vrpn/default.nix
+++ b/pkgs/development/libraries/vrpn/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, unzip, cmake, libGLU_combined }:
+{ stdenv, fetchFromGitHub, unzip, cmake, libGLU, libGL }:
 
 stdenv.mkDerivation rec {
   name    = "${pname}-${date}";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "032q295d68w34rk5q8nfqdd29s55n00bfik84y7xzkjrpspaprlh";
   };
 
-  buildInputs = [ unzip cmake libGLU_combined ];
+  buildInputs = [ unzip cmake libGLU libGL ];
 
   doCheck = false; # FIXME: test failure
   checkTarget = "test";
diff --git a/pkgs/development/libraries/wlroots/default.nix b/pkgs/development/libraries/wlroots/default.nix
index 54464ffd4b66..a567e66285cc 100644
--- a/pkgs/development/libraries/wlroots/default.nix
+++ b/pkgs/development/libraries/wlroots/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig
+{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, fetchpatch
 , wayland, libGL, wayland-protocols, libinput, libxkbcommon, pixman
 , xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors, mesa
 , libpng, ffmpeg_4, freerdp
@@ -15,6 +15,15 @@ stdenv.mkDerivation rec {
     sha256 = "1ak86kx617c81dy85wg9rldy1z3n8ch93cjc05a4j6sifv0nkyfm";
   };
 
+  patches = [
+    # add missing header that changed in mesa-19.2.2
+    # https://github.com/swaywm/wlroots/issues/1862
+    (fetchpatch {
+      url = "https://github.com/swaywm/wlroots/commit/d113e48a2a32542fe6e12f1759f07888364609bf.diff";
+      sha256 = "1h09j1gmnzlz4py92a92chgy8xzsd8h8xn5irq9s2hq4cla66h87";
+    })
+  ];
+
   # $out for the library and $examples for the example programs (in examples):
   outputs = [ "out" "examples" ];
 
diff --git a/pkgs/development/libraries/xapian/default.nix b/pkgs/development/libraries/xapian/default.nix
index dfec2197385c..971ab485221d 100644
--- a/pkgs/development/libraries/xapian/default.nix
+++ b/pkgs/development/libraries/xapian/default.nix
@@ -37,5 +37,5 @@ let
     };
   };
 in {
-  xapian_1_4 = generic "1.4.13" "0z0k8902bz2ckdggikj5yz11ik2n8krmdwzvpqv60phcm3zzzy4k";
+  xapian_1_4 = generic "1.4.14" "0ja95vn0lkf6qkjhg2blkx306i10hg4fr8wlrhalmly93307lnlp";
 }
diff --git a/pkgs/development/libraries/xine-lib/default.nix b/pkgs/development/libraries/xine-lib/default.nix
index fd772a1ff9d2..adcb2e74b0bb 100644
--- a/pkgs/development/libraries/xine-lib/default.nix
+++ b/pkgs/development/libraries/xine-lib/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, xorg, alsaLib, libGLU_combined, aalib
+{ stdenv, fetchurl, fetchpatch, pkgconfig, xorg, alsaLib, libGLU, libGL, aalib
 , libvorbis, libtheora, speex, zlib, perl, ffmpeg
 , flac, libcaca, libpulseaudio, libmng, libcdio, libv4l, vcdimager
 , libmpcdec
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     xorg.libX11 xorg.libXv xorg.libXinerama xorg.libxcb xorg.libXext
-    alsaLib libGLU_combined aalib libvorbis libtheora speex perl ffmpeg flac
+    alsaLib libGLU libGL aalib libvorbis libtheora speex perl ffmpeg flac
     libcaca libpulseaudio libmng libcdio libv4l vcdimager libmpcdec
   ];
 
diff --git a/pkgs/development/libraries/zeitgeist/default.nix b/pkgs/development/libraries/zeitgeist/default.nix
index 9e3b06453bfa..98c94cfeccaa 100644
--- a/pkgs/development/libraries/zeitgeist/default.nix
+++ b/pkgs/development/libraries/zeitgeist/default.nix
@@ -1,7 +1,23 @@
-{ stdenv, fetchFromGitLab, pkgconfig, glib, sqlite, gobject-introspection, vala
-, autoconf, automake, libtool, gettext, dbus, telepathy-glib
-, gtk3, json-glib, librdf_raptor2, dbus-glib
-, pythonSupport ? true, python2Packages
+{ stdenv
+, fetchFromGitLab
+, fetchpatch
+, pkgconfig
+, glib
+, sqlite
+, gobject-introspection
+, vala
+, autoconf
+, automake
+, libtool
+, gettext
+, dbus
+, telepathy-glib
+, gtk3
+, json-glib
+, librdf_raptor2
+, dbus-glib
+, pythonSupport ? true
+, python2Packages
 }:
 
 stdenv.mkDerivation rec {
@@ -18,31 +34,58 @@ stdenv.mkDerivation rec {
     sha256 = "0ig3d3j1n0ghaxsgfww6g2hhcdwx8cljwwfmp9jk1nrvkxd6rnmv";
   };
 
-  preConfigure = "NOCONFIGURE=1 ./autogen.sh";
-
-  configureFlags = [ "--with-session-bus-services-dir=${placeholder "out"}/share/dbus-1/services" ];
+  patches = [
+    # Fix build with gettext 0.20
+    (fetchpatch {
+      url = "https://gitlab.freedesktop.org/zeitgeist/zeitgeist/commit/b5c00e80189fd59a059a95c4e276728a2492cb89.patch";
+      sha256 = "1r7f7j3l2p6xlzxajihgx8bzbc2sxcb9spc9pi26rz9bwmngdyq7";
+    })
+  ];
 
   nativeBuildInputs = [
-    autoconf automake libtool pkgconfig gettext gobject-introspection vala python2Packages.python
+    autoconf
+    automake
+    libtool
+    pkgconfig
+    gettext
+    gobject-introspection
+    vala
+    python2Packages.python
   ];
+
   buildInputs = [
-    glib sqlite dbus telepathy-glib dbus-glib
-    gtk3 json-glib librdf_raptor2 python2Packages.rdflib
+    glib
+    sqlite
+    dbus
+    telepathy-glib
+    dbus-glib
+    gtk3
+    json-glib
+    librdf_raptor2
+    python2Packages.rdflib
+  ];
+
+  configureFlags = [
+    "--with-session-bus-services-dir=${placeholder "out"}/share/dbus-1/services"
   ];
 
+  enableParallelBuilding = true;
+
   postPatch = ''
     patchShebangs data/ontology2code
   '';
 
-  enableParallelBuilding = true;
+  preConfigure = ''
+    NOCONFIGURE=1 ./autogen.sh
+  '';
 
   postFixup = stdenv.lib.optionalString pythonSupport ''
     moveToOutput lib/${python2Packages.python.libPrefix} "$py"
   '';
 
   meta = with stdenv.lib; {
-    description = "A service which logs the users's activities and events";
-    homepage = https://zeitgeist.freedesktop.org/;
+    description = "A service which logs the users’s activities and events";
+    homepage = "https://zeitgeist.freedesktop.org/";
     maintainers = with maintainers; [ lethalman worldofpeace ];
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/development/lisp-modules/clwrapper/default.nix b/pkgs/development/lisp-modules/clwrapper/default.nix
index 019a44482b9a..3cb8219e6874 100644
--- a/pkgs/development/lisp-modules/clwrapper/default.nix
+++ b/pkgs/development/lisp-modules/clwrapper/default.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation {
     chmod a+x "$out"/bin/*
 
     substituteAll "${./setup-hook.sh}" "setup-hook-parsed"
+    addEnvHooks(){ true; };
     source setup-hook-parsed
     setLisp "${lisp}"
     echo "$NIX_LISP"
diff --git a/pkgs/development/lisp-modules/clwrapper/setup-hook.sh b/pkgs/development/lisp-modules/clwrapper/setup-hook.sh
index da2303a18bfb..abbbdc3e77a6 100644
--- a/pkgs/development/lisp-modules/clwrapper/setup-hook.sh
+++ b/pkgs/development/lisp-modules/clwrapper/setup-hook.sh
@@ -9,7 +9,7 @@ addASDFPaths () {
 }
 
 setLisp () {
-    if [ -z "$NIX_LISP_COMMAND" ]; then 
+    if [ -z "${NIX_LISP_COMMAND:-}" ]; then 
       for j in "$1"/bin/*; do
           case "$(basename "$j")" in
               sbcl) NIX_LISP_COMMAND="$j" ;;
@@ -20,7 +20,7 @@ setLisp () {
           esac
       done
     fi
-    if [ -z "$NIX_LISP" ]; then 
+    if [ -n "${NIX_LISP_COMMAND:-}" ] && [ -z "${NIX_LISP:-}" ]; then 
         NIX_LISP="${NIX_LISP_COMMAND##*/}"
     fi
 }
@@ -35,5 +35,5 @@ export NIX_LISP_COMMAND NIX_LISP CL_SOURCE_REGISTRY NIX_LISP_ASDF
 
 addEnvHooks "$targetOffset" addASDFPaths setLisp collectNixLispLDLP
 
-mkdir -p "$HOME"/.cache/common-lisp || HOME="$TMP/.temp-$USER-home"
+mkdir -p "$HOME"/.cache/common-lisp || HOME="$TMP/.temp-${USER:-nixbld}-home"
 mkdir -p "$HOME"/.cache/common-lisp
diff --git a/pkgs/development/lisp-modules/define-package.nix b/pkgs/development/lisp-modules/define-package.nix
index 49eb9c403447..67a688342b2d 100644
--- a/pkgs/development/lisp-modules/define-package.nix
+++ b/pkgs/development/lisp-modules/define-package.nix
@@ -18,7 +18,7 @@ let
     touch "$path_config_script"
     chmod a+x "$config_script"
     chmod a+x "$path_config_script"
-    echo "if test -z \"\''${_''${outhash}_NIX_LISP_CONFIG}\"; then export _''${outhash}_NIX_LISP_CONFIG=1; " >> "$config_script"
+    echo "if test -z \"\''${_''${outhash}_NIX_LISP_CONFIG:-}\"; then export _''${outhash}_NIX_LISP_CONFIG=1; " >> "$config_script"
     echo "export NIX_CFLAGS_COMPILE='$NIX_CFLAGS_COMPILE'\"\''${NIX_CFLAGS_COMPILE:+ \$NIX_CFLAGS_COMPILE}\"" >> "$config_script"
     echo "export NIX_LDFLAGS='$NIX_LDFLAGS'\"\''${NIX_LDFLAGS:+ \$NIX_LDFLAGS}\"" >> "$config_script"
     echo "export NIX_LISP_COMMAND='$NIX_LISP_COMMAND'" >> "$config_script"
@@ -28,12 +28,12 @@ let
     echo "echo \"\$ASDF_OUTPUT_TRANSLATIONS\" | grep -E '(^|:)$store_translation(:|\$)' >/dev/null || export ASDF_OUTPUT_TRANSLATIONS=\"\''${ASDF_OUTPUT_TRANSLATIONS:+\$ASDF_OUTPUT_TRANSLATIONS:}\"'$store_translation'" >> "$config_script"
     echo "source '$path_config_script'" >> "$config_script"
     echo "fi" >> "$config_script"
-    echo "if test -z \"\''${_''${outhash}_NIX_LISP_PATH_CONFIG}\"; then export _''${outhash}_NIX_LISP_PATH_CONFIG=1; " >> "$path_config_script"
-    echo "export NIX_LISP_ASDF_PATHS=\"$( ( echo "\$NIX_LISP_ASDF_PATHS"; echo "$NIX_LISP_ASDF_PATHS"; echo "$out/lib/common-lisp/${args.baseName}" ) | grep . | sort | uniq)\"" >> "$path_config_script"
+    echo "if test -z \"\''${_''${outhash}_NIX_LISP_PATH_CONFIG:-}\"; then export _''${outhash}_NIX_LISP_PATH_CONFIG=1; " >> "$path_config_script"
+    echo "export NIX_LISP_ASDF_PATHS=\"$( ( echo "\''${NIX_LISP_ASDF_PATHS:-}"; echo "$NIX_LISP_ASDF_PATHS"; echo "$out/lib/common-lisp/${args.baseName}" ) | grep . | sort | uniq)\"" >> "$path_config_script"
     test -n "$LD_LIBRARY_PATH" &&
         echo "export LD_LIBRARY_PATH=\"\$LD_LIBRARY_PATH\''${LD_LIBRARY_PATH:+:}\"'$LD_LIBRARY_PATH'" >> "$path_config_script"
     test -n "$NIX_LISP_LD_LIBRARY_PATH" &&
-        echo "export NIX_LISP_LD_LIBRARY_PATH=\"\$NIX_LISP_LD_LIBRARY_PATH\''${NIX_LISP_LD_LIBRARY_PATH:+:}\"'$(echo "$NIX_LISP_LD_LIBRARY_PATH" | tr -d '\n' | tr : '\n' | sort | uniq | tr '\n' ':' | sed -e 's/:$//')'" >> "$path_config_script"
+        echo "export NIX_LISP_LD_LIBRARY_PATH=\"\''${NIX_LISP_LD_LIBRARY_PATH:-}\''${NIX_LISP_LD_LIBRARY_PATH:+:}\"'$(echo "$NIX_LISP_LD_LIBRARY_PATH" | tr -d '\n' | tr : '\n' | sort | uniq | tr '\n' ':' | sed -e 's/:$//')'" >> "$path_config_script"
     echo "fi" >> "$path_config_script"
   '';
   deployLaunchScript = ''
diff --git a/pkgs/development/lisp-modules/openssl-lib-marked.nix b/pkgs/development/lisp-modules/openssl-lib-marked.nix
index e2c632b8ebad..186ef14b4068 100644
--- a/pkgs/development/lisp-modules/openssl-lib-marked.nix
+++ b/pkgs/development/lisp-modules/openssl-lib-marked.nix
@@ -2,7 +2,7 @@ with import ../../../default.nix {};
 runCommand "openssl-lib-marked" {} ''
   mkdir -p "$out/lib"
   for lib in ssl crypto; do
-    version="${(builtins.parseDrvName openssl.name).version}"
+    version="${lib.getVersion openssl}"
     ln -s "${lib.getLib openssl}/lib/lib$lib.so" "$out/lib/lib$lib.so.$version"
     version="$(echo "$version" | sed -re 's/[a-z]+$//')"
     while test -n "$version"; do
diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix
index ce2135355194..9139befe0204 100644
--- a/pkgs/development/lua-modules/overrides.nix
+++ b/pkgs/development/lua-modules/overrides.nix
@@ -105,7 +105,7 @@ with super;
     ];
     buildInputs = [
       pkgs.glib
-      pkgs.gobjectIntrospection
+      pkgs.gobject-introspection
     ];
     patches = [
       (pkgs.fetchpatch {
diff --git a/pkgs/development/misc/amdapp-sdk/default.nix b/pkgs/development/misc/amdapp-sdk/default.nix
index 4169b9e4d35d..c3bf3217b6a7 100644
--- a/pkgs/development/misc/amdapp-sdk/default.nix
+++ b/pkgs/development/misc/amdapp-sdk/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, makeWrapper, perl, libGLU_combined, xorg,
+{ stdenv, fetchurl, makeWrapper, perl, libGLU, libGL, xorg,
   version? "2.8", # What version
   samples? false # Should samples be installed
 }:
@@ -47,7 +47,7 @@ in stdenv.mkDerivation {
   patches = stdenv.lib.attrByPath [version "patches"] [] src_info;
 
   patchFlags = "-p0";
-  buildInputs = [ makeWrapper perl libGLU_combined xorg.libX11 xorg.libXext xorg.libXaw xorg.libXi xorg.libXxf86vm ];
+  buildInputs = [ makeWrapper perl libGLU libGL xorg.libX11 xorg.libXext xorg.libXaw xorg.libXi xorg.libXxf86vm ];
   propagatedBuildInputs = [ stdenv.cc ];
   NIX_LDFLAGS = "-lX11 -lXext -lXmu -lXi -lXxf86vm";
   doCheck = false;
diff --git a/pkgs/development/misc/vc4/newlib.nix b/pkgs/development/misc/vc4/newlib.nix
new file mode 100644
index 000000000000..e1a8b2eeaa6a
--- /dev/null
+++ b/pkgs/development/misc/vc4/newlib.nix
@@ -0,0 +1,28 @@
+{ stdenv, texinfo, flex, bison, fetchFromGitHub, crossLibcStdenv, buildPackages }:
+
+crossLibcStdenv.mkDerivation {
+  name = "newlib";
+  src = fetchFromGitHub {
+    owner = "itszor";
+    repo = "newlib-vc4";
+    rev = "89abe4a5263d216e923fbbc80495743ff269a510";
+    sha256 = "131r4v0nn68flnqibjcvhsrys3hs89bn0i4vwmrzgjd7v1rbgqav";
+  };
+  dontUpdateAutotoolsGnuConfigScripts = true;
+  configurePlatforms = [ "target" ];
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ texinfo flex bison ];
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
+  # newlib expects CC to build for build platform, not host platform
+  preConfigure = ''
+    export CC=cc
+  '';
+
+  dontStrip = true;
+
+  passthru = {
+    incdir = "/${stdenv.targetPlatform.config}/include";
+    libdir = "/${stdenv.targetPlatform.config}/lib";
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/yelp-tools/default.nix b/pkgs/development/misc/yelp-tools/default.nix
index 43863bf7f856..75754bec7a11 100644
--- a/pkgs/desktops/gnome-3/core/yelp-tools/default.nix
+++ b/pkgs/development/misc/yelp-tools/default.nix
@@ -10,7 +10,9 @@ stdenv.mkDerivation rec {
   };
 
   passthru = {
-    updateScript = gnome3.updateScript { packageName = "yelp-tools"; attrPath = "gnome3.yelp-tools"; };
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/mobile/androidenv/deploy-androidpackage.nix b/pkgs/development/mobile/androidenv/deploy-androidpackage.nix
index 97fd197cb7d0..839a14f7033c 100644
--- a/pkgs/development/mobile/androidenv/deploy-androidpackage.nix
+++ b/pkgs/development/mobile/androidenv/deploy-androidpackage.nix
@@ -8,6 +8,7 @@ stdenv.mkDerivation ({
   name = package.name + "-" + package.revision;
   src = if os != null && builtins.hasAttr os package.archives then package.archives.${os} else package.archives.all;
   buildInputs = [ unzip ] ++ buildInputs;
+  preferLocalBuild = true;
 
   # Most Android Zip packages have a root folder, but some don't. We unpack
   # the zip file in a folder and we try to discover whether it has a single root
diff --git a/pkgs/development/mobile/androidenv/platform-tools.nix b/pkgs/development/mobile/androidenv/platform-tools.nix
index 9d2f6eb6075e..5b4cad1f264f 100644
--- a/pkgs/development/mobile/androidenv/platform-tools.nix
+++ b/pkgs/development/mobile/androidenv/platform-tools.nix
@@ -8,7 +8,7 @@ deployAndroidPackage {
     addAutoPatchelfSearchPath $packageBaseDir/lib64
     autoPatchelf --no-recurse $packageBaseDir/lib64
     autoPatchelf --no-recurse $packageBaseDir
-
+  '' + ''
     mkdir -p $out/bin
     cd $out/bin
     find $out/libexec/android-sdk/platform-tools -type f -executable -mindepth 1 -maxdepth 1 -not -name sqlite3 | while read i
diff --git a/pkgs/development/ocaml-modules/easy-format/default.nix b/pkgs/development/ocaml-modules/easy-format/default.nix
index bbf4d82b5196..5c1155a723bd 100644
--- a/pkgs/development/ocaml-modules/easy-format/default.nix
+++ b/pkgs/development/ocaml-modules/easy-format/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "A high-level and functional interface to the Format module of the OCaml standard library";
-    homepage = "http://mjambon.com/${pname}.html";
+    homepage = "https://github.com/ocaml-community/${pname}";
     license = licenses.bsd3;
     maintainers = [ maintainers.vbgl ];
   };
diff --git a/pkgs/development/ocaml-modules/eigen/default.nix b/pkgs/development/ocaml-modules/eigen/default.nix
new file mode 100644
index 000000000000..7c1ec79f7da3
--- /dev/null
+++ b/pkgs/development/ocaml-modules/eigen/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildDunePackage, fetchFromGitHub, ctypes }:
+
+buildDunePackage rec {
+  pname = "eigen";
+  version = "0.1.5";
+
+  src = fetchFromGitHub {
+    owner = "owlbarn";
+    repo   = pname;
+    rev    = version;
+    sha256 = "0pbqd87i9h7qpx84hr8k4iw0rhmjgma4s3wihxh992jjvsrgdyfi";
+  };
+
+  minimumOCamlVersion = "4.04";
+
+  propagatedBuildInputs = [ ctypes ];
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Minimal/incomplete Ocaml interface to Eigen3, mostly for Owl";
+    platforms = platforms.x86_64;
+    maintainers = [ maintainers.bcdarwin ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/facile/default.nix b/pkgs/development/ocaml-modules/facile/default.nix
index e8553ebf812e..8834de53a8fa 100644
--- a/pkgs/development/ocaml-modules/facile/default.nix
+++ b/pkgs/development/ocaml-modules/facile/default.nix
@@ -1,38 +1,19 @@
-{ stdenv, fetchurl, ocaml, findlib }:
+{ lib, fetchurl, buildDunePackage }:
 
-stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-facile-${version}";
-
-  version = "1.1.3";
+buildDunePackage rec {
+  pname = "facile";
+  version = "1.1.4";
 
   src = fetchurl {
-    url = "http://opti.recherche.enac.fr/facile/distrib/facile-${version}.tar.gz";
-    sha256 = "1v4apqcw4gm36ph5xwf1wxaaza0ggvihvgsdslnf33fa1pdkvdjw";
+    url = "https://github.com/Emmanuel-PLF/facile/releases/download/${version}/facile-${version}.tbz";
+    sha256 = "0jqrwmn6fr2vj2rrbllwxq4cmxykv7zh0y4vnngx29f5084a04jp";
   };
 
-  dontAddPrefix = 1;
-
-  buildInputs = [ ocaml findlib ];
-
-  createFindlibDestdir = true;
-
-  installFlags = [ "FACILEDIR=$(OCAMLFIND_DESTDIR)/facile" ];
-
-  postInstall = ''
-    cat > $OCAMLFIND_DESTDIR/facile/META <<EOF
-    version = "${version}"
-    name = "facile"
-    description = "A Functional Constraint Library"
-    requires = ""
-    archive(byte) = "facile.cma"
-    archive(native) = "facile.cmxa"
-    EOF
-  '';
+  doCheck = true;
 
   meta = {
     homepage = "http://opti.recherche.enac.fr/facile/";
-    license = stdenv.lib.licenses.lgpl21Plus;
+    license = lib.licenses.lgpl21Plus;
     description = "A Functional Constraint Library";
-    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/ocaml-modules/iso8601/default.nix b/pkgs/development/ocaml-modules/iso8601/default.nix
index 40db8246f4aa..96f0205aa792 100644
--- a/pkgs/development/ocaml-modules/iso8601/default.nix
+++ b/pkgs/development/ocaml-modules/iso8601/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   createFindlibDestdir = true;
 
   meta = {
-    homepage = http://sagotch.github.io/ISO8601.ml/;
+    homepage = https://ocaml-community.github.io/ISO8601.ml/;
     description = "ISO 8601 and RFC 3999 date parsing for OCaml";
     license = stdenv.lib.licenses.mit;
     platforms = ocaml.meta.platforms or [];
diff --git a/pkgs/development/ocaml-modules/kafka/default.nix b/pkgs/development/ocaml-modules/kafka/default.nix
new file mode 100644
index 000000000000..4eeb8d975fd8
--- /dev/null
+++ b/pkgs/development/ocaml-modules/kafka/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, buildDunePackage, base, cmdliner, ocaml_lwt,
+  rdkafka, zlib }:
+
+buildDunePackage rec {
+  pname = "kafka";
+  version = "0.4";
+
+  src = fetchFromGitHub {
+    owner = "didier-wenzek";
+    repo = "ocaml-kafka";
+    rev = version;
+    sha256 = "0lb8x0wh7sf8v9mjwhq32azjz54kw49fsjfb7m76z4nhxfkjw5hy";
+  };
+
+  buildInputs = [ base cmdliner ocaml_lwt zlib ];
+
+  propagatedBuildInputs = [ rdkafka zlib ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/didier-wenzek/ocaml-kafka;
+    description = "OCaml bindings for Kafka";
+    license     = licenses.mit;
+    maintainers = [ maintainers.rixed ];
+  };
+}
+
diff --git a/pkgs/development/ocaml-modules/lablgl/default.nix b/pkgs/development/ocaml-modules/lablgl/default.nix
index 427d0d5a0e14..ae85847b58b4 100644
--- a/pkgs/development/ocaml-modules/lablgl/default.nix
+++ b/pkgs/development/ocaml-modules/lablgl/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ocaml, lablgtk, findlib, libGLU_combined, freeglut, camlp4 } :
+{stdenv, fetchurl, ocaml, lablgtk, findlib, libGLU, libGL, freeglut, camlp4 } :
 
 let
   pname = "lablgl";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ocaml findlib lablgtk freeglut camlp4];
-  propagatedBuildInputs = [ libGLU_combined ];
+  propagatedBuildInputs = [ libGLU libGL ];
 
   patches = [ ./Makefile.config.patch ./META.patch ];
 
diff --git a/pkgs/development/ocaml-modules/lwt/4.x.nix b/pkgs/development/ocaml-modules/lwt/4.x.nix
index 4850a853ea04..3ec3574ea096 100644
--- a/pkgs/development/ocaml-modules/lwt/4.x.nix
+++ b/pkgs/development/ocaml-modules/lwt/4.x.nix
@@ -1,5 +1,5 @@
 { lib, fetchzip, pkgconfig, ncurses, libev, buildDunePackage, ocaml
-, cppo, ocaml-migrate-parsetree, ppx_tools_versioned, result
+, cppo, ocaml-migrate-parsetree, ocplib-endian, result
 , mmap, seq
 }:
 
@@ -7,22 +7,17 @@ let inherit (lib) optional versionAtLeast; in
 
 buildDunePackage rec {
   pname = "lwt";
-  version = "4.2.1";
+  version = "4.4.0";
 
   src = fetchzip {
     url = "https://github.com/ocsigen/${pname}/archive/${version}.tar.gz";
-    sha256 = "1hz24fyhpm7d6603v399pgxvdl236srwagqja41ljvjx83y10ysr";
+    sha256 = "1l97zdcql7y13fhaq0m9n9xvxf712jg0w70r72fvv6j49xm4nlhi";
   };
 
-  postPatch = ''
-    substituteInPlace lwt.opam \
-    --replace 'version: "dev"' 'version: "${version}"'
-  '';
-
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cppo ocaml-migrate-parsetree ppx_tools_versioned ]
+  buildInputs = [ cppo ocaml-migrate-parsetree ]
    ++ optional (!versionAtLeast ocaml.version "4.07") ncurses;
-  propagatedBuildInputs = [ libev mmap seq result ];
+  propagatedBuildInputs = [ libev mmap ocplib-endian seq result ];
 
   meta = {
     homepage = "https://ocsigen.org/lwt/";
diff --git a/pkgs/development/ocaml-modules/lwt/ppx.nix b/pkgs/development/ocaml-modules/lwt/ppx.nix
index fbd061a6566b..4ad6fc2c4710 100644
--- a/pkgs/development/ocaml-modules/lwt/ppx.nix
+++ b/pkgs/development/ocaml-modules/lwt/ppx.nix
@@ -5,8 +5,7 @@ buildDunePackage {
 
   inherit (lwt) src version;
 
-  buildInputs = [ ppx_tools_versioned ];
-  propagatedBuildInputs = [ lwt ];
+  propagatedBuildInputs = [ lwt ppx_tools_versioned ];
 
   meta = {
     description = "Ppx syntax extension for Lwt";
diff --git a/pkgs/development/ocaml-modules/owl-base/default.nix b/pkgs/development/ocaml-modules/owl-base/default.nix
new file mode 100644
index 000000000000..b2546f3e93ce
--- /dev/null
+++ b/pkgs/development/ocaml-modules/owl-base/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildDunePackage, fetchFromGitHub, integers, stdlib-shims }:
+
+buildDunePackage rec {
+  pname = "owl-base";
+  version = "0.7.1";
+
+  src = fetchFromGitHub {
+    owner  = "owlbarn";
+    repo   = "owl";
+    rev    = version;
+    sha256 = "1v4jfn3w18zq188f9gskx9ffja3xx59j2mgrw6azp8lsbqixg5xk";
+  };
+
+  propagatedBuildInputs = [ stdlib-shims ];
+
+  minimumOCamlVersion = "4.06";
+
+  meta = with stdenv.lib; {
+    description = "Numerical computing library for Ocaml";
+    homepage = "https://ocaml.xyz";
+    platforms = platforms.x86_64;
+    maintainers = [ maintainers.bcdarwin ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/owl/default.nix b/pkgs/development/ocaml-modules/owl/default.nix
new file mode 100644
index 000000000000..95d4f6da704c
--- /dev/null
+++ b/pkgs/development/ocaml-modules/owl/default.nix
@@ -0,0 +1,15 @@
+{ stdenv, buildDunePackage, fetchFromGitHub, alcotest
+, eigen, stdio, stdlib-shims, openblasCompat, owl-base
+}:
+
+buildDunePackage rec {
+  pname = "owl";
+
+  inherit (owl-base) version src meta;
+
+  buildInputs = [ eigen ];
+  checkInputs = [ alcotest ];
+  propagatedBuildInputs = [ stdio stdlib-shims openblasCompat owl-base ];
+
+  # tests not enabled for now due to owlbarn/owl/issues/460
+}
diff --git a/pkgs/development/ocaml-modules/sodium/default.nix b/pkgs/development/ocaml-modules/sodium/default.nix
new file mode 100644
index 000000000000..8c8895d45207
--- /dev/null
+++ b/pkgs/development/ocaml-modules/sodium/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, ctypes, libsodium }:
+
+stdenv.mkDerivation rec {
+  pname = "ocaml${ocaml.version}-sodium";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner  = "dsheets";
+    repo   = "ocaml-sodium";
+    rev    = version;
+    sha256 = "124gpi1jhac46x05gp5viykyrafnlp03v1cmkl13c6pgcs8w04pv";
+  };
+
+  buildInputs = [ ocaml findlib ocamlbuild ];
+  propagatedBuildInputs = [ ctypes libsodium ];
+
+  createFindlibDestdir = true;
+
+  hardeningDisable = stdenv.lib.optional stdenv.isDarwin "strictoverflow";
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/dsheets/ocaml-sodium;
+    description = "Binding to libsodium 1.0.9+";
+    platforms = ocaml.meta.platforms or [];
+    maintainers = [ maintainers.rixed ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/yojson/default.nix b/pkgs/development/ocaml-modules/yojson/default.nix
index c660ca648566..84d5e488b253 100644
--- a/pkgs/development/ocaml-modules/yojson/default.nix
+++ b/pkgs/development/ocaml-modules/yojson/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation ({
 
   meta = with stdenv.lib; {
     description = "An optimized parsing and printing library for the JSON format";
-    homepage = "http://mjambon.com/${pname}.html";
+    homepage = "https://github.com/ocaml-community/${pname}";
     license = licenses.bsd3;
     maintainers = [ maintainers.vbgl ];
     platforms = ocaml.meta.platforms or [];
diff --git a/pkgs/development/perl-modules/generic/default.nix b/pkgs/development/perl-modules/generic/default.nix
index b98178ef2ebe..79c7919a3541 100644
--- a/pkgs/development/perl-modules/generic/default.nix
+++ b/pkgs/development/perl-modules/generic/default.nix
@@ -31,15 +31,15 @@ toPerlModule(stdenv.mkDerivation (
     # https://metacpan.org/pod/release/XSAWYERX/perl-5.26.0/pod/perldelta.pod#Removal-of-the-current-directory-%28%22.%22%29-from-@INC
     PERL_USE_UNSAFE_INC = "1";
 
-    meta.homepage = "https://metacpan.org/release/${attrs.pname or (builtins.parseDrvName attrs.name).name}"; # TODO: phase-out `attrs.name`
+    meta.homepage = "https://metacpan.org/release/${lib.getName attrs}"; # TODO: phase-out `attrs.name`
     meta.platforms = perl.meta.platforms;
   }
   attrs
   )
   //
   {
-    pname = "perl${perl.version}-${attrs.pname or (builtins.parseDrvName attrs.name).name}"; # TODO: phase-out `attrs.name`
-    version = attrs.version or (builtins.parseDrvName attrs.name).version;                   # TODO: phase-out `attrs.name`
+    pname = "perl${perl.version}-${lib.getName attrs}"; # TODO: phase-out `attrs.name`
+    version = lib.getVersion attrs;                     # TODO: phase-out `attrs.name`
     builder = ./builder.sh;
     buildInputs = buildInputs ++ [ perl ];
     nativeBuildInputs = nativeBuildInputs ++ [ (perl.dev or perl) ];
diff --git a/pkgs/development/pharo/vm/build-vm-legacy.nix b/pkgs/development/pharo/vm/build-vm-legacy.nix
index bd84dd06e7f4..e76b1802c23f 100644
--- a/pkgs/development/pharo/vm/build-vm-legacy.nix
+++ b/pkgs/development/pharo/vm/build-vm-legacy.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, bash, unzip, glibc, openssl, gcc, libGLU_combined, freetype, xorg, alsaLib, cairo, libuuid, makeWrapper, ... }:
+{ stdenv, fetchurl, cmake, bash, unzip, glibc, openssl, gcc, libGLU, libGL, freetype, xorg, alsaLib, cairo, libuuid, makeWrapper, ... }:
 
 { name, src, ... }:
 
@@ -46,9 +46,9 @@ stdenv.mkDerivation rec {
     ln -s "${pharo-share}/lib/"*.sources $prefix/lib/$name
   '';
 
-  LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ cairo libGLU_combined freetype openssl libuuid alsaLib xorg.libICE xorg.libSM ];
+  LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ cairo libGLU libGL freetype openssl libuuid alsaLib xorg.libICE xorg.libSM ];
   nativeBuildInputs = [ unzip cmake gcc makeWrapper ];
-  buildInputs = [ bash glibc openssl libGLU_combined freetype xorg.libX11 xorg.libICE xorg.libSM alsaLib cairo pharo-share ];
+  buildInputs = [ bash glibc openssl libGLU libGL freetype xorg.libX11 xorg.libICE xorg.libSM alsaLib cairo pharo-share ];
 
   meta = {
     description = "Clean and innovative Smalltalk-inspired environment";
diff --git a/pkgs/development/pharo/vm/build-vm.nix b/pkgs/development/pharo/vm/build-vm.nix
index 47773c209545..5fc747cbc8c2 100644
--- a/pkgs/development/pharo/vm/build-vm.nix
+++ b/pkgs/development/pharo/vm/build-vm.nix
@@ -5,7 +5,7 @@
 , glibc
 , openssl
 , libgit2
-, libGLU_combined
+, libGLU, libGL
 , freetype
 , xorg
 , alsaLib
@@ -85,7 +85,7 @@ stdenv.mkDerivation rec {
     libs = [
       cairo
       libgit2
-      libGLU_combined
+      libGLU libGL
       freetype
       openssl
       libuuid
@@ -139,7 +139,7 @@ stdenv.mkDerivation rec {
     glibc
     openssl
     gcc48
-    libGLU_combined
+    libGLU libGL
     freetype
     xorg.libX11
     xorg.libICE
diff --git a/pkgs/development/pharo/vm/vms.nix b/pkgs/development/pharo/vm/vms.nix
index 91cf01847090..080da830af69 100644
--- a/pkgs/development/pharo/vm/vms.nix
+++ b/pkgs/development/pharo/vm/vms.nix
@@ -7,7 +7,7 @@
 , openssl
 , gcc
 , libgit2
-, libGLU_combined
+, libGLU, libGL
 , freetype
 , xorg
 , alsaLib
diff --git a/pkgs/development/pure-modules/gl/default.nix b/pkgs/development/pure-modules/gl/default.nix
index 51c57bb5c519..b67a972b00b1 100644
--- a/pkgs/development/pure-modules/gl/default.nix
+++ b/pkgs/development/pure-modules/gl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, pure, freeglut, libGLU_combined, xlibsWrapper }:
+{ stdenv, fetchurl, pkgconfig, pure, freeglut, libGLU, libGL, xlibsWrapper }:
 
 stdenv.mkDerivation rec {
   baseName = "gl";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  propagatedBuildInputs = [ pure freeglut libGLU_combined xlibsWrapper ];
+  propagatedBuildInputs = [ pure freeglut libGLU libGL xlibsWrapper ];
   makeFlags = "libdir=$(out)/lib prefix=$(out)/";
   setupHook = ../generic-setup-hook.sh;
 
diff --git a/pkgs/development/python-modules/APScheduler/default.nix b/pkgs/development/python-modules/APScheduler/default.nix
index 4032b527e88b..1f2a89c5e0c6 100644
--- a/pkgs/development/python-modules/APScheduler/default.nix
+++ b/pkgs/development/python-modules/APScheduler/default.nix
@@ -20,11 +20,11 @@
 
 buildPythonPackage rec {
   pname = "APScheduler";
-  version = "3.6.1";
+  version = "3.6.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1c56066rx09xk1zbd156whsynlakxazqq64i509id17015wzp6jj";
+    sha256 = "3bb5229eed6fbbdafc13ce962712ae66e175aa214c69bed35a06bffcf0c5e244";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/Cython/default.nix b/pkgs/development/python-modules/Cython/default.nix
index b88c3c69b5d9..4c491f314654 100644
--- a/pkgs/development/python-modules/Cython/default.nix
+++ b/pkgs/development/python-modules/Cython/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , buildPythonPackage
 , fetchPypi
+, fetchpatch
 , python
 , glibcLocales
 , pkgconfig
@@ -25,11 +26,11 @@ let
 
 in buildPythonPackage rec {
   pname = "Cython";
-  version = "0.29.13";
+  version = "0.29.15";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c29d069a4a30f472482343c866f7486731ad638ef9af92bfe5fca9c7323d638e";
+    sha256 = "050lh336791yl76krn44zm2dz00mlhpb26bk9fq9wcfh0f3vpmp4";
   };
 
   nativeBuildInputs = [
@@ -41,6 +42,15 @@ in buildPythonPackage rec {
   buildInputs = [ glibcLocales gdb ];
   LC_ALL = "en_US.UTF-8";
 
+  patches = [
+    # https://github.com/cython/cython/issues/2752, needed by sage (https://trac.sagemath.org/ticket/26855) and up to be included in 0.30
+    (fetchpatch {
+      name = "non-int-conversion-to-pyhash.patch";
+      url = "https://github.com/cython/cython/commit/28251032f86c266065e4976080230481b1a1bb29.patch";
+      sha256 = "19rg7xs8gr90k3ya5c634bs8gww1sxyhdavv07cyd2k71afr83gy";
+    })
+  ];
+
   checkPhase = ''
     export HOME="$NIX_BUILD_TOP"
     ${python.interpreter} runtests.py -j$NIX_BUILD_CORES \
diff --git a/pkgs/development/python-modules/GitPython/default.nix b/pkgs/development/python-modules/GitPython/default.nix
index d92100cc1419..be2526ffcd43 100644
--- a/pkgs/development/python-modules/GitPython/default.nix
+++ b/pkgs/development/python-modules/GitPython/default.nix
@@ -1,13 +1,13 @@
 { lib, buildPythonPackage, fetchPypi, isPy27, substituteAll, git, gitdb2, mock, nose, ddt }:
 
 buildPythonPackage rec {
-  version = "3.0.4";
+  version = "3.0.5";
   pname = "GitPython";
   disabled = isPy27; # no longer supported
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3237caca1139d0a7aa072f6735f5fd2520de52195e0fa1d8b83a9b212a2498b2";
+    sha256 = "9c2398ffc3dcb3c40b27324b316f08a4f93ad646d5a6328cafbb871aa79f5e42";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/Nikola/default.nix b/pkgs/development/python-modules/Nikola/default.nix
index 52cf7598da8d..d36a47c331cd 100644
--- a/pkgs/development/python-modules/Nikola/default.nix
+++ b/pkgs/development/python-modules/Nikola/default.nix
@@ -35,7 +35,7 @@
 
 buildPythonPackage rec {
   pname = "Nikola";
-  version = "8.0.2";
+  version = "8.0.3";
 
   # Nix contains only Python 3 supported version of doit, which is a dependency
   # of Nikola. Python 2 support would require older doit 0.29.0 (which on the
@@ -54,7 +54,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1a5y1qriy76hl4yxvbf365b1ggsxybm06mi1pwb5jkgbkwk2gkrf";
+    sha256 = "a53470be082fce1843fb73002be2504828f9abc49a84eab5d1effc06ae2a5ddc";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/python-modules/XlsxWriter/default.nix b/pkgs/development/python-modules/XlsxWriter/default.nix
index 679725db307a..f9730eb61ae0 100644
--- a/pkgs/development/python-modules/XlsxWriter/default.nix
+++ b/pkgs/development/python-modules/XlsxWriter/default.nix
@@ -3,7 +3,7 @@
 buildPythonPackage rec {
 
   pname = "XlsxWriter";
-  version = "1.2.1";
+  version = "1.2.6";
 
   # PyPI release tarball doesn't contain tests so let's use GitHub. See:
   # https://github.com/jmcnamara/XlsxWriter/issues/327
@@ -11,7 +11,7 @@ buildPythonPackage rec {
     owner = "jmcnamara";
     repo = pname;
     rev = "RELEASE_${version}";
-    sha256 = "0br8ib9n17dfprfly93mjkhdhpndb7i4g57lwscvp2s69ssql32s";
+    sha256 = "05y1py5mn1m65bbwhinzv84jd3xj8snvf2795flw0xbxnkn8nd8p";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/acoustics/default.nix b/pkgs/development/python-modules/acoustics/default.nix
index 94ec1557a263..85ce02be1c3d 100644
--- a/pkgs/development/python-modules/acoustics/default.nix
+++ b/pkgs/development/python-modules/acoustics/default.nix
@@ -3,14 +3,14 @@
 
 buildPythonPackage rec {
   pname = "acoustics";
-  version = "0.2.2";
+  version = "0.2.3";
 
   checkInputs = [ pytest ];
   propagatedBuildInputs = [ numpy scipy matplotlib pandas tabulate ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "00981908c7cf54be58c0bfe902d7743225554ecf3432b30723e9300d9f3a0b0e";
+    sha256 = "ca663059d61fbd2899aed4e3cedbc3f983aa67afd3ae1617db3c59b724206fb3";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/aenum/default.nix b/pkgs/development/python-modules/aenum/default.nix
index 051ae50e3a57..d64bd672ca06 100644
--- a/pkgs/development/python-modules/aenum/default.nix
+++ b/pkgs/development/python-modules/aenum/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "aenum";
-  version = "2.2.1";
+  version = "2.2.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b12a7be3d89b270f266f8643aaa126404e5cdc0929bd6f09548b8eaed85e2aa1";
+    sha256 = "a4334cabf47c167d44ab5a6198837b80deec5d5bad1b5cf70c966c3a330260e8";
   };
 
   # For Python 3, locale has to be set to en_US.UTF-8 for
diff --git a/pkgs/development/python-modules/aioesphomeapi/default.nix b/pkgs/development/python-modules/aioesphomeapi/default.nix
index ff88d86fa29b..5be6f9d86fda 100644
--- a/pkgs/development/python-modules/aioesphomeapi/default.nix
+++ b/pkgs/development/python-modules/aioesphomeapi/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "aioesphomeapi";
-  version = "2.4.0";
+  version = "2.4.2";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bef494dd39a12e2e76cf4ea772a2746f1669ee243f03ad3579085ca9605beccb";
+    sha256 = "e43e0fd628506f95752e90ab1579e5495183cc3c46915d0b0a062975cb5d181b";
   };
 
   propagatedBuildInputs = [ attrs protobuf zeroconf ];
diff --git a/pkgs/development/python-modules/aiorpcx/default.nix b/pkgs/development/python-modules/aiorpcx/default.nix
index 6350e3f0441a..eba64f465591 100644
--- a/pkgs/development/python-modules/aiorpcx/default.nix
+++ b/pkgs/development/python-modules/aiorpcx/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "aiorpcx";
-  version = "0.18.3";
+  version = "0.18.4";
 
   src = fetchPypi {
     inherit version;
     pname = "aiorpcX";
-    sha256 = "0k545hc7wl6sh1svydzbv6x7sx5pig2pqkl3yxs9riwmvzawx9xp";
+    sha256 = "0jpvrkan6w8bpq017m8si7r9hb1pyw3ip4vr1fl2pmi8ngzc1jdy";
   };
 
   propagatedBuildInputs = [ attrs ];
diff --git a/pkgs/development/python-modules/ansi2html/default.nix b/pkgs/development/python-modules/ansi2html/default.nix
index 2a705b53538a..18a2b0dde7f6 100644
--- a/pkgs/development/python-modules/ansi2html/default.nix
+++ b/pkgs/development/python-modules/ansi2html/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Convert text with ANSI color codes to HTML";
-    homepage = http://github.com/ralphbean/ansi2html;
+    homepage = https://github.com/ralphbean/ansi2html;
     license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ davidtwco ];
     platforms = platforms.all;
diff --git a/pkgs/development/python-modules/ansible-runner/default.nix b/pkgs/development/python-modules/ansible-runner/default.nix
index fee714ed218c..62f95c3cefce 100644
--- a/pkgs/development/python-modules/ansible-runner/default.nix
+++ b/pkgs/development/python-modules/ansible-runner/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "ansible-runner";
-  version = "1.4.2";
+  version = "1.4.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9db56a69ad5d43fe7656ad8efb4083cb1800ea400f7828af6b20f44c0882404f";
+    sha256 = "e6ccb7ccf9bab9c49a391db37e0d399ba0e73f969801ae35ff74020bfd4fc346";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/pkgs/development/python-modules/ansible/default.nix b/pkgs/development/python-modules/ansible/default.nix
index fcc984faf8c2..74775cf756ff 100644
--- a/pkgs/development/python-modules/ansible/default.nix
+++ b/pkgs/development/python-modules/ansible/default.nix
@@ -6,12 +6,12 @@
 , jinja2
 , pyyaml
 , httplib2
-, boto
 , six
 , netaddr
 , dnspython
 , jmespath
 , dopy
+, ncclient
 , windowsSupport ? false
 , pywinrm
 }:
@@ -28,7 +28,9 @@ buildPythonPackage rec {
   };
 
   prePatch = ''
-    sed -i "s,/usr/,$out," lib/ansible/constants.py
+    # ansible-connection is wrapped, so make sure it's not passed
+    # through the python interpreter.
+    sed -i "s/\[python, /[/" lib/ansible/executor/task_executor.py
   '';
 
   postInstall = ''
@@ -39,7 +41,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     pycrypto paramiko jinja2 pyyaml httplib2
-    six netaddr dnspython jmespath dopy
+    six netaddr dnspython jmespath dopy ncclient
   ] ++ lib.optional windowsSupport pywinrm;
 
   # dificult to test
diff --git a/pkgs/development/python-modules/ansiwrap/default.nix b/pkgs/development/python-modules/ansiwrap/default.nix
new file mode 100644
index 000000000000..517083a06210
--- /dev/null
+++ b/pkgs/development/python-modules/ansiwrap/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, tox
+, pytest
+, ansicolors
+, coverage
+, pytestcov
+, textwrap3
+}:
+
+buildPythonPackage rec {
+  pname = "ansiwrap";
+  version = "0.8.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "ca0c740734cde59bf919f8ff2c386f74f9a369818cdc60efe94893d01ea8d9b7";
+  };
+
+  checkInputs = [
+    tox
+    pytest
+    ansicolors
+    coverage
+    pytestcov
+  ];
+
+  propagatedBuildInputs = [
+    textwrap3
+  ];
+
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = with lib; {
+    description = "Textwrap, but savvy to ANSI colors and styles";
+    homepage = https://github.com/jonathaneunice/ansiwrap;
+    license = licenses.asl20;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/anytree/default.nix b/pkgs/development/python-modules/anytree/default.nix
index 3821fea2446c..638b2c2baa39 100644
--- a/pkgs/development/python-modules/anytree/default.nix
+++ b/pkgs/development/python-modules/anytree/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "anytree";
-  version = "2.6.0";
+  version = "2.7.2";
 
   src = fetchFromGitHub {
     owner = "c0fec0de";
     repo = pname;
     rev = version;
-    sha256 = "1k3yj9h3ssjlz57r4g1qzxvprxjp7n92vms9fv0d46pigylxm5i3";
+    sha256 = "0ag5ir9h5p7rbm2pmpxlkflwigrm7z4afh24jvbhqj7pyrbjmk9w";
   };
 
   patches = [
@@ -25,12 +25,6 @@ buildPythonPackage rec {
       src = ./graphviz.patch;
       inherit graphviz;
     })
-    # Fix tests python3.7
-    # See: https://github.com/c0fec0de/anytree/pull/85
-    (fetchpatch {
-      url = "https://github.com/c0fec0de/anytree/commit/dd1b3d325546fef7436711e4cfea9a5fb61daaf8.patch";
-      sha256 = "1dpa2jh2kakfaapnqrz03frb67q5fwxzc8c70i6nv1b01i9xw0bn";
-    })
   ];
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/apache-airflow/default.nix b/pkgs/development/python-modules/apache-airflow/default.nix
new file mode 100644
index 000000000000..c15aac61b5c0
--- /dev/null
+++ b/pkgs/development/python-modules/apache-airflow/default.nix
@@ -0,0 +1,188 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchPypi
+, fetchFromGitHub
+, fetchpatch
+, alembic
+, cached-property
+, configparser
+, colorlog
+, croniter
+, dill
+, flask
+, flask-appbuilder
+, flask-admin
+, flask-caching
+, flask_login
+, flask-swagger
+, flask_wtf
+, flask-bcrypt
+, funcsigs
+, future
+, GitPython
+, gunicorn
+, iso8601
+, json-merge-patch
+, jinja2
+, ldap3
+, lxml
+, lazy-object-proxy
+, markdown
+, pandas
+, pendulum
+, psutil
+, pygments
+, python-daemon
+, python-dateutil
+, requests
+, setproctitle
+, snakebite
+, sqlalchemy
+, tabulate
+, tenacity
+, termcolor
+, text-unidecode
+, thrift
+, tzlocal
+, unicodecsv
+, werkzeug
+, zope_deprecation
+, enum34
+, typing
+, nose
+, python
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "apache-airflow";
+  version = "1.10.5";
+  disabled = (!isPy3k);
+
+  src = fetchFromGitHub rec {
+    owner = "apache";
+    repo = "airflow";
+    rev = version;
+    sha256 = "14fmhfwx977c9jdb2kgm93i6acx43l45ggj30rb37r68pzpb6l6h";
+  };
+
+  patches = [
+       # Not yet accepted: https://github.com/apache/airflow/pull/6562
+     (fetchpatch {
+       name = "avoid-warning-from-abc.collections";
+       url = https://patch-diff.githubusercontent.com/raw/apache/airflow/pull/6562.patch;
+       sha256 = "0swpay1qlb7f9kgc56631s1qd9k82w4nw2ggvkm7jvxwf056k61z";
+     })
+       # Not yet accepted: https://github.com/apache/airflow/pull/6561
+     (fetchpatch {
+       name = "pendulum2-compatibility";
+       url = https://patch-diff.githubusercontent.com/raw/apache/airflow/pull/6561.patch;
+       sha256 = "17hw8qyd4zxvib9zwpbn32p99vmrdz294r31gnsbkkcl2y6h9knk";
+     })
+  ];
+
+  propagatedBuildInputs = [
+    alembic
+    cached-property
+    colorlog
+    configparser
+    croniter
+    dill
+    flask
+    flask-admin
+    flask-appbuilder
+    flask-bcrypt
+    flask-caching
+    flask_login
+    flask-swagger
+    flask_wtf
+    funcsigs
+    future
+    GitPython
+    gunicorn
+    iso8601
+    json-merge-patch
+    jinja2
+    ldap3
+    lxml
+    lazy-object-proxy
+    markdown
+    pandas
+    pendulum
+    psutil
+    pygments
+    python-daemon
+    python-dateutil
+    requests
+    setproctitle
+    sqlalchemy
+    tabulate
+    tenacity
+    termcolor
+    text-unidecode
+    thrift
+    tzlocal
+    unicodecsv
+    werkzeug
+    zope_deprecation
+  ];
+
+  checkInputs = [
+    snakebite
+    nose
+  ];
+
+  postPatch = ''
+
+   substituteInPlace setup.py \
+     --replace "flask>=1.1.0, <2.0" "flask" \
+     --replace "flask-caching>=1.3.3, <1.4.0" "flask-caching" \
+     --replace "flask-appbuilder>=1.12.5, <2.0.0" "flask-appbuilder" \
+     --replace "pendulum==1.4.4" "pendulum" \
+     --replace "cached_property~=1.5" "cached_property" \
+     --replace "dill>=0.2.2, <0.3" "dill" \
+     --replace "configparser>=3.5.0, <3.6.0" "configparser" \
+     --replace "jinja2>=2.7.3, <=2.10.0" "jinja2" \
+     --replace "funcsigs==1.0.0" "funcsigs" \
+     --replace "flask-swagger==0.2.13" "flask-swagger" \
+     --replace "python-daemon>=2.1.1, <2.2" "python-daemon" \
+     --replace "alembic>=0.9, <1.0" "alembic" \
+     --replace "markdown>=2.5.2, <3.0" "markdown" \
+     --replace "future>=0.16.0, <0.17" "future" \
+     --replace "tenacity==4.12.0" "tenacity" \
+     --replace "text-unidecode==1.2" "text-unidecode" \
+     --replace "tzlocal>=1.4,<2.0.0" "tzlocal" \
+     --replace "sqlalchemy~=1.3" "sqlalchemy" \
+     --replace "werkzeug>=0.14.1, <0.15.0" "werkzeug"
+ 
+  # dumb-init is only needed for CI and Docker, not relevant for NixOS.
+  substituteInPlace setup.py \
+     --replace "'dumb-init>=1.2.2'," ""
+
+   substituteInPlace tests/core.py \
+     --replace "/bin/bash" "${stdenv.shell}"
+  '';
+
+  checkPhase = ''
+   export HOME=$(mktemp -d)
+   export AIRFLOW_HOME=$HOME
+   export AIRFLOW__CORE__UNIT_TEST_MODE=True
+   export AIRFLOW_DB="$HOME/airflow.db"
+   export PATH=$PATH:$out/bin
+
+   airflow version
+   airflow initdb
+   airflow resetdb -y
+   nosetests tests.core.CoreTest
+   ## all tests
+   # nosetests --cover-package=airflow
+  '';
+
+  meta = with lib; {
+    description = "Programmatically author, schedule and monitor data pipelines";
+    homepage = http://airflow.apache.org/;
+    license = licenses.asl20;
+    maintainers = [ maintainers.costrouc maintainers.ingenieroariel ];
+  };
+}
diff --git a/pkgs/development/python-modules/apispec/default.nix b/pkgs/development/python-modules/apispec/default.nix
new file mode 100644
index 000000000000..217a921a634e
--- /dev/null
+++ b/pkgs/development/python-modules/apispec/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pyyaml
+, prance
+, marshmallow
+, pytestCheckHook
+, mock
+, openapi-spec-validator
+}:
+
+buildPythonPackage rec {
+  pname = "apispec";
+  version = "3.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0rr32z9hbf8w4w1fs5gj2v0ixcq2vq7a3wssrlxagi5ii7ygap7y";
+  };
+
+  checkInputs = [
+    pyyaml
+    prance
+    openapi-spec-validator
+    marshmallow
+    mock
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification";
+    homepage = https://github.com/marshmallow-code/apispec;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/apsw/default.nix b/pkgs/development/python-modules/apsw/default.nix
index 9169b0d9ec3b..48e3b20c7c1c 100644
--- a/pkgs/development/python-modules/apsw/default.nix
+++ b/pkgs/development/python-modules/apsw/default.nix
@@ -3,7 +3,7 @@
 
 buildPythonPackage rec {
   pname = "apsw";
-  version = "3.29.0-r1";
+  version = "3.30.1-r1";
 
   disabled = isPyPy;
 
@@ -11,19 +11,11 @@ buildPythonPackage rec {
     owner = "rogerbinns";
     repo = "apsw";
     rev = version;
-    sha256 = "1p3sgmk9qwd0a634lirva44qgpyq0a74r9d70wxb6hsa52yjj9xb";
+    sha256 = "1zp38gj44bmzfxxpvgd7nixkp8vs2fpl839ag8vrh9z70dax22f0";
   };
 
   buildInputs = [ sqlite ];
 
-  patches = [
-    # Fixes a test failure with sqlite 3.30, see https://github.com/rogerbinns/apsw/issues/275
-    (fetchpatch {
-      url = "https://github.com/rogerbinns/apsw/commit/13df0b57bff59542978abf7c0a440c9274e3aac3.diff";
-      sha256 = "1wi1mfis2mr21389wdnvq44phg0bpm5vpwmxhvrj211vwfm0q7dv";
-    })
-  ];
-
   meta = with stdenv.lib; {
     description = "A Python wrapper for the SQLite embedded relational database engine";
     homepage = https://github.com/rogerbinns/apsw;
diff --git a/pkgs/development/python-modules/argcomplete/default.nix b/pkgs/development/python-modules/argcomplete/default.nix
index efc4c824a395..1c0efb4da3b5 100644
--- a/pkgs/development/python-modules/argcomplete/default.nix
+++ b/pkgs/development/python-modules/argcomplete/default.nix
@@ -3,11 +3,11 @@
 }:
 buildPythonPackage rec {
   pname = "argcomplete";
-  version = "1.10.0";
+  version = "1.10.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1hdysr9z28sgwv47mivf4iyr1sg19hgfz349dghgdlk3rkl6v0s5";
+    sha256 = "ec88b5ccefe2d47d8f14916a006431d0afb756751ee5c46f28654a7d8a69be53";
   };
 
   doCheck = false; # bash-completion test fails with "compgen: command not found".
diff --git a/pkgs/development/python-modules/arrow/default.nix b/pkgs/development/python-modules/arrow/default.nix
index bf3dcb869f98..af3e4547628a 100644
--- a/pkgs/development/python-modules/arrow/default.nix
+++ b/pkgs/development/python-modules/arrow/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "arrow";
-  version = "0.15.2";
+  version = "0.15.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "10257c5daba1a88db34afa284823382f4963feca7733b9107956bed041aff24f";
+    sha256 = "e1a318a4c0b787833ae46302c02488b6eeef413c6a13324b3261ad320f21ec1e";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/astroid/default.nix b/pkgs/development/python-modules/astroid/default.nix
index 1899559b2a91..5d24a05aa54d 100644
--- a/pkgs/development/python-modules/astroid/default.nix
+++ b/pkgs/development/python-modules/astroid/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "astroid";
-  version = "2.3.2";
+  version = "2.3.3";
 
   disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "09a3fba616519311f1af8a461f804b68f0370e100c9264a035aa7846d7852e33";
+    sha256 = "71ea07f44df9568a75d0f354c49143a4575d90645e9fead6dfb52c26a85ed13a";
   };
 
   # From astroid/__pkginfo__.py
diff --git a/pkgs/development/python-modules/astropy-helpers/default.nix b/pkgs/development/python-modules/astropy-helpers/default.nix
index b5a7f014eec3..fac97d2d3682 100644
--- a/pkgs/development/python-modules/astropy-helpers/default.nix
+++ b/pkgs/development/python-modules/astropy-helpers/default.nix
@@ -6,7 +6,7 @@
 
 buildPythonPackage rec {
   pname = "astropy-helpers";
-  version = "3.2.1";
+  version = "3.2.2";
 
   disabled = !isPy3k;
 
@@ -14,7 +14,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1klxyfvl9hbhy37n1z3mb0vm5pmd7hbsnzhjkvigz3647hmfzva6";
+    sha256 = "cf32cb008b19597a1fe1a4d97f59734f30cd513aa3369a321e7b5b86cdb623fb";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/astropy/default.nix b/pkgs/development/python-modules/astropy/default.nix
index dea22cccb065..fce2ecd392ab 100644
--- a/pkgs/development/python-modules/astropy/default.nix
+++ b/pkgs/development/python-modules/astropy/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "astropy";
-  version = "3.2.2";
+  version = "3.2.3";
 
   disabled = !isPy3k; # according to setup.py
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8553f4a95e9938a0c7ae520633f7172356824b8eb324dd967fca6baf00ac19bf";
+    sha256 = "47f00816c2978fdd10f448c8f0337d6dca7b8cbeaab4bf272b5fd37cb4b890d3";
   };
 
   nativeBuildInputs = [ astropy-helpers ];
diff --git a/pkgs/development/python-modules/astroquery/conftest-astropy-3-fix.patch b/pkgs/development/python-modules/astroquery/conftest-astropy-3-fix.patch
deleted file mode 100644
index 0b1c7973b59b..000000000000
--- a/pkgs/development/python-modules/astroquery/conftest-astropy-3-fix.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff -ruN astroquery-0.3.9.orig/astroquery/conftest.py astroquery-0.3.9/astroquery/conftest.py
---- astroquery-0.3.9.orig/astroquery/conftest.py	2018-11-27 14:51:16.000000000 +0100
-+++ astroquery-0.3.9/astroquery/conftest.py	2019-07-23 18:19:17.000000000 +0200
-@@ -5,15 +5,20 @@
- # by importing them here in conftest.py they are discoverable by py.test
- # no matter how it is invoked within the source tree.
- 
--from astropy.tests.pytest_plugins import (PYTEST_HEADER_MODULES,
--                                          enable_deprecations_as_exceptions,
--                                          TESTED_VERSIONS)
-+from astropy.version import version as astropy_version
- 
--try:
--    packagename = os.path.basename(os.path.dirname(__file__))
--    TESTED_VERSIONS[packagename] = version.version
--except NameError:
--    pass
-+if astropy_version < '3.0':
-+    # With older versions of Astropy, we actually need to import the pytest
-+    # plugins themselves in order to make them discoverable by pytest.
-+    from astropy.tests.pytest_plugins import *
-+else:
-+    # As of Astropy 3.0, the pytest plugins provided by Astropy are
-+    # automatically made available when Astropy is installed. This means it's
-+    # not necessary to import them here, but we still need to import global
-+    # variables that are used for configuration.
-+    from astropy.tests.plugins.display import PYTEST_HEADER_MODULES, TESTED_VERSIONS
-+
-+from astropy.tests.helper import enable_deprecations_as_exceptions
- 
- # Add astropy to test header information and remove unused packages.
- # Pytest header customisation was introduced in astropy 1.0.
-@@ -36,12 +41,17 @@
-     # The warnings_to_ignore_by_pyver parameter was added in astropy 2.0
-     enable_deprecations_as_exceptions(modules_to_ignore_on_import=['requests'])
- 
-+# add '_testrun' to the version name so that the user-agent indicates that
-+# it's being run in a test
-+from . import version
-+version.version += '_testrun'
-+
-+
- # This is to figure out the affiliated package version, rather than
- # using Astropy's
--try:
--    from .version import version
--except ImportError:
--    version = 'dev'
-+from .version import version, astropy_helpers_version
-+
- 
- packagename = os.path.basename(os.path.dirname(__file__))
- TESTED_VERSIONS[packagename] = version
-+TESTED_VERSIONS['astropy_helpers'] = astropy_helpers_version
diff --git a/pkgs/development/python-modules/astroquery/default.nix b/pkgs/development/python-modules/astroquery/default.nix
index e1f36ffa8cfd..461d8801e608 100644
--- a/pkgs/development/python-modules/astroquery/default.nix
+++ b/pkgs/development/python-modules/astroquery/default.nix
@@ -20,10 +20,6 @@ buildPythonPackage rec {
     sha256 = "1ce57a8792c7d5d74206d797d379de6da35d56be433ea5840c41a49f202e2fab";
   };
 
-  # Fix tests using conftest.py from HEAD in the upstream GitHub
-  # repository.
-  patches = [ ./conftest-astropy-3-fix.patch ];
-
   propagatedBuildInputs = [ astropy requests keyring beautifulsoup4 html5lib ];
 
   nativeBuildInputs = [ astropy-helpers ];
diff --git a/pkgs/development/python-modules/asyncpg/default.nix b/pkgs/development/python-modules/asyncpg/default.nix
index 8bcfb2d84a28..2a47f13fe4b8 100644
--- a/pkgs/development/python-modules/asyncpg/default.nix
+++ b/pkgs/development/python-modules/asyncpg/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   pname = "asyncpg";
-  version = "0.19.0";
+  version = "0.20.0";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0sp3m6sgw83rhvg87y78lhk4xxx58ffzyf9rsq5f1a7b8azbnlxj";
+    sha256 = "0yjszgg1zbbsfxj1gv17ymc2hcfvymkvg69dvpvwy0dqspjxq0ma";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/atomman/default.nix b/pkgs/development/python-modules/atomman/default.nix
index ef69ee91d381..d873700f32a6 100644
--- a/pkgs/development/python-modules/atomman/default.nix
+++ b/pkgs/development/python-modules/atomman/default.nix
@@ -1,34 +1,33 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
-, xmltodict
+{ stdenv, buildPythonPackage, fetchFromGitHub, isPy27
+, cython
 , datamodeldict
-, numpy
 , matplotlib
-, scipy
-, pandas
-, cython
 , numericalunits
+, numpy
+, pandas
 , pytest
+, scipy
+, toolz
+, xmltodict
 }:
 
 buildPythonPackage rec {
-  version = "1.2.8";
+  version = "1.3.0";
   pname = "atomman";
+  disabled = isPy27;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0ed099fdceca2d733e81afb08d777e8e852a6e53660d6d268f3739b8d323ced9";
+  src = fetchFromGitHub {
+    owner = "usnistgov";
+    repo  = "atomman";
+    rev = "v${version}";
+    sha256 = "09pfykd96wmw00s3kgabghykjn8b4yjml4ybpi7kwy7ygdmzcx51";
   };
 
   checkInputs = [ pytest ];
-  propagatedBuildInputs = [ xmltodict datamodeldict numpy matplotlib scipy pandas cython numericalunits ];
-
-  # tests not included with Pypi release
-  doCheck = false;
+  propagatedBuildInputs = [ xmltodict datamodeldict numpy matplotlib scipy pandas cython numericalunits toolz ];
 
   checkPhase = ''
-    py.test tests
+    py.test tests -k 'not test_atomic'
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/awkward/default.nix b/pkgs/development/python-modules/awkward/default.nix
index 16ebf4961585..5757b7fb15c9 100644
--- a/pkgs/development/python-modules/awkward/default.nix
+++ b/pkgs/development/python-modules/awkward/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "awkward";
-  version = "0.12.14";
+  version = "0.12.16";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a76b0b76e4e843bfffc26771f6e1848be6f1c225e79f541c12215ae90503e489";
+    sha256 = "df5380b96dc9c1b129e68057578e4a2d42d9b73a0ae97ff263a9072baf8f7a5e";
   };
 
   nativeBuildInputs = [ pytestrunner ];
diff --git a/pkgs/development/python-modules/aws-adfs/default.nix b/pkgs/development/python-modules/aws-adfs/default.nix
index 5124077b1187..428ac4959410 100644
--- a/pkgs/development/python-modules/aws-adfs/default.nix
+++ b/pkgs/development/python-modules/aws-adfs/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "aws-adfs";
-  version = "1.19.0";
+  version = "1.19.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "da20c682993d87d41534ffc2be0819d924aaf230b27abbc5d1fa8ad62410bf39";
+    sha256 = "20b2ad44d19aa494fa11cb2d1290359b3a7a0c6c8908179b4af0c9367d83e370";
   };
 
   # Relax version constraint
diff --git a/pkgs/development/python-modules/aws-lambda-builders/default.nix b/pkgs/development/python-modules/aws-lambda-builders/default.nix
index 1e49edab25fe..d9c90cfa0499 100644
--- a/pkgs/development/python-modules/aws-lambda-builders/default.nix
+++ b/pkgs/development/python-modules/aws-lambda-builders/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "aws-lambda-builders";
-  version = "0.4.0";
+  version = "0.6.0";
 
   # No tests available in PyPI tarball
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-lambda-builders";
     rev = "v${version}";
-    sha256 = "1z2l9qm6mxp90zl64i9j2cmlzn8n7sc8yfpqh14fi9ay887ayjs1";
+    sha256 = "0bvph58wrw9in5irdbv103knvw2dhqs3kapqv5lpaac9dn7lsk6q";
   };
 
   # Package is not compatible with Python 3.5
diff --git a/pkgs/development/python-modules/aws-sam-translator/default.nix b/pkgs/development/python-modules/aws-sam-translator/default.nix
index b43ec658f5e9..298ce22daa6a 100644
--- a/pkgs/development/python-modules/aws-sam-translator/default.nix
+++ b/pkgs/development/python-modules/aws-sam-translator/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "aws-sam-translator";
-  version = "1.15.1";
+  version = "1.16.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "11c62c00f37b57c39a55d7a29d93f4704a88549c29a6448ebc953147173fbe85";
+    sha256 = "0xvfbhiqdqy4qs4z8v2p7z3l01w5af948bmf400s5jsq2hnxl6nv";
   };
 
   # Tests are not included in the PyPI package
diff --git a/pkgs/development/python-modules/azure-cli-core/default.nix b/pkgs/development/python-modules/azure-cli-core/default.nix
deleted file mode 100644
index a4d05b4c11ee..000000000000
--- a/pkgs/development/python-modules/azure-cli-core/default.nix
+++ /dev/null
@@ -1,93 +0,0 @@
-{ stdenv
-, lib
-, python
-, buildPythonPackage
-, fetchPypi
-, adal
-, antlr4-python3-runtime
-, argcomplete
-, azure-cli-telemetry
-, colorama
-, jmespath
-, humanfriendly
-, knack
-, msrest
-, msrestazure
-, paramiko
-, pygments
-, pyjwt
-, pyopenssl
-, pyyaml
-, requests
-, six
-, tabulate
-, azure-mgmt-resource
-, pyperclip
-, psutil
-, enum34
-, futures
-, antlr4-python2-runtime
-, ndg-httpsclient
-, isPy3k
-}:
-
-buildPythonPackage rec {
-  pname = "azure-cli-core";
-  version = "2.0.75";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "6fde38f4448542c0cf7b13201b702c6927180e7294221b8f67e2c834f22ae1bc";
-  };
-
-  propagatedBuildInputs = [
-    adal
-    argcomplete
-    azure-cli-telemetry
-    colorama
-    jmespath
-    humanfriendly
-    knack
-    msrest
-    msrestazure
-    paramiko
-    pygments
-    pyjwt
-    pyopenssl
-    pyyaml
-    requests
-    six
-    tabulate
-    azure-mgmt-resource
-    pyperclip
-    psutil
-  ]
-  ++ lib.optionals isPy3k [ antlr4-python3-runtime ]
-  ++ lib.optionals (!isPy3k) [ enum34 futures antlr4-python2-runtime ndg-httpsclient ];
-
-  # Remove overly restrictive version contraints and obsolete namespace setup
-  prePatch = ''
-    substituteInPlace setup.py \
-      --replace "wheel==0.30.0" "wheel" \
-      --replace "azure-mgmt-resource==2.1.0" "azure-mgmt-resource"
-    substituteInPlace setup.cfg \
-      --replace "azure-namespace-package = azure-cli-nspkg" ""
-  '';
-
-  # Prevent these __init__'s from violating PEP420, only needed for python2
-  postInstall = lib.optionalString isPy3k ''
-    rm $out/${python.sitePackages}/azure/__init__.py \
-       $out/${python.sitePackages}/azure/cli/__init__.py
-  '';
-
-  # Tests are not included in sdist package
-  doCheck = false;
-
-  meta = with lib; {
-    homepage = https://github.com/Azure/azure-cli;
-    description = "Next generation multi-platform command line experience for Azure";
-    platforms = platforms.all;
-    license = licenses.mit;
-    maintainers = with maintainers; [ jonringer ];
-  };
-}
diff --git a/pkgs/development/python-modules/azure-cli-telemetry/default.nix b/pkgs/development/python-modules/azure-cli-telemetry/default.nix
deleted file mode 100644
index 202e0a013b98..000000000000
--- a/pkgs/development/python-modules/azure-cli-telemetry/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ stdenv
-, lib
-, buildPythonPackage
-, fetchPypi
-, isPy3k
-, python
-, applicationinsights
-, portalocker
-}:
-
-buildPythonPackage rec {
-  pname = "azure-cli-telemetry";
-  version = "1.0.4";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "1f239d544d309c29e827982cc20113eb57037dba16db6cdd2e0283e437e0e577";
-  };
-
-  propagatedBuildInputs = [
-    applicationinsights
-    portalocker
-  ];
-
-  # tests are not published to pypi
-  doCheck = false;
-
-  # Remove overly restrictive version contraints and obsolete namespace setup
-  prePatch = ''
-    substituteInPlace setup.py \
-      --replace "applicationinsights>=0.11.1,<0.12" "applicationinsights"
-    substituteInPlace setup.cfg \
-      --replace "azure-namespace-package = azure-cli-nspkg" ""
-    rm azure_bdist_wheel.py # we'll fix PEP420 namespacing
-  '';
-
-  # Prevent these __init__'s from violating PEP420, only needed for python2
-  postInstall = lib.optionalString isPy3k ''
-    rm $out/${python.sitePackages}/azure/__init__.py \
-       $out/${python.sitePackages}/azure/cli/__init__.py
-  '';
-
-  meta = with lib; {
-    homepage = https://github.com/Azure/azure-cli;
-    description = "Next generation multi-platform command line experience for Azure";
-    platforms = platforms.all;
-    license = licenses.mit;
-    maintainers = with maintainers; [ jonringer ];
-  };
-}
diff --git a/pkgs/development/python-modules/azure-cosmos/default.nix b/pkgs/development/python-modules/azure-cosmos/default.nix
index c1a001bb1eba..5716b1254af6 100644
--- a/pkgs/development/python-modules/azure-cosmos/default.nix
+++ b/pkgs/development/python-modules/azure-cosmos/default.nix
@@ -1,5 +1,6 @@
 { buildPythonPackage
 , lib
+, python
 , fetchPypi
 , six
 , requests
@@ -16,6 +17,10 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ six requests ];
 
+  postInstall = ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+  '';
+
   # requires an active Azure Cosmos service
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-cosmosdb-table/default.nix b/pkgs/development/python-modules/azure-cosmosdb-table/default.nix
index 31a7d81dcab8..c11ffae1e3dd 100644
--- a/pkgs/development/python-modules/azure-cosmosdb-table/default.nix
+++ b/pkgs/development/python-modules/azure-cosmosdb-table/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "azure-cosmosdb-table";
-  version = "1.0.5";
+  version = "1.0.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4a34c2c792036afc2a3811f4440ab967351e9ceee6542cc96453b63c678c0145";
+    sha256 = "5f061d2ab8dcf2f0b4e965d5976e7b7aeb1247ea896911f0e1d29092aaaa29c7";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-datalake-store/default.nix b/pkgs/development/python-modules/azure-datalake-store/default.nix
index 0b7d0c9c775f..5c45b843c765 100644
--- a/pkgs/development/python-modules/azure-datalake-store/default.nix
+++ b/pkgs/development/python-modules/azure-datalake-store/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "azure-datalake-store";
-  version = "0.0.47";
+  version = "0.0.48";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "19fkkabr76r851r95kh5dpk4bdn3jkysv3aij6i2x99mkb4vxg2m";
+    sha256 = "d27c335783d4add00b3a5f709341e4a8009857440209e15a739a9a96b52386f7";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-functions-devops-build/default.nix b/pkgs/development/python-modules/azure-functions-devops-build/default.nix
new file mode 100644
index 000000000000..03007ae3c236
--- /dev/null
+++ b/pkgs/development/python-modules/azure-functions-devops-build/default.nix
@@ -0,0 +1,30 @@
+{ lib, buildPythonPackage, fetchFromGitHub
+, jinja2
+, msrest
+, vsts
+}:
+
+buildPythonPackage rec {
+  version = "0.0.22";
+  pname = "azure-functions-devops-build";
+
+  src = fetchFromGitHub {
+    owner = "Azure";
+    repo = "azure-functions-devops-build";
+    # rev picked based on pypi release date
+    rev = "c8249670acc77333e3de8b21dec60faf7ecf0951";
+    sha256 = "1slc7jd92v9q1qg1yacnrpi2a7hi7iw61wzbzfd6wx9q63pw9yqi";
+  };
+
+  propagatedBuildInputs = [ jinja2 msrest vsts ];
+
+  # circular dependency with azure-cli-core
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Integrate Azure Functions with Azure DevOps. Specifically made for the Azure CLI";
+    homepage = "https://github.com/Azure/azure-functions-devops-build";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-keyvault/default.nix b/pkgs/development/python-modules/azure-keyvault/default.nix
index 1c4f9f4ee803..91f31ec0a01b 100644
--- a/pkgs/development/python-modules/azure-keyvault/default.nix
+++ b/pkgs/development/python-modules/azure-keyvault/default.nix
@@ -1,5 +1,7 @@
 { lib
 , buildPythonPackage
+, python
+, isPy3k
 , fetchPypi
 , azure-common
 , azure-nspkg
@@ -26,6 +28,10 @@ buildPythonPackage rec {
     cryptography
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix b/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix
new file mode 100644
index 000000000000..9f5c04adb265
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-apimanagement/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "0.1.0";
+  pname = "azure-mgmt-apimanagement";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "06bqqkn5mx127x1z7ycm6rl8ajxlrmrm2kcdpgkbl4baii1x6iax";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.apimanagement" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure API Management Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix b/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix
new file mode 100644
index 000000000000..271fb2e6aef2
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-appconfiguration/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "0.1.0";
+  pname = "azure-mgmt-appconfiguration";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0z2f0rbv7drdxihny479bv80bnhgvx8gb2pr0jvbaslll6d6rxig";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.appconfiguration" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure App Configuration Management Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix b/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix
index 57c3aec3d451..0a485f05f910 100644
--- a/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix
@@ -1,5 +1,6 @@
 { lib
 , buildPythonPackage
+, python
 , fetchPypi
 , msrest
 , msrestazure
@@ -26,6 +27,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-batchai/default.nix b/pkgs/development/python-modules/azure-mgmt-batchai/default.nix
index e1938738597b..6da0cf2210c3 100644
--- a/pkgs/development/python-modules/azure-mgmt-batchai/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-batchai/default.nix
@@ -24,6 +24,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-billing/default.nix b/pkgs/development/python-modules/azure-mgmt-billing/default.nix
index 666d10d87e5e..8c658145d7eb 100644
--- a/pkgs/development/python-modules/azure-mgmt-billing/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-billing/default.nix
@@ -1,6 +1,6 @@
 { lib
 , buildPythonPackage
-, fetchFromGitHub
+, fetchPypi
 , msrestazure
 , azure-common
 , azure-mgmt-nspkg
@@ -8,27 +8,33 @@
 , isPy3k
 }:
 
-buildPythonPackage {
+buildPythonPackage rec {
   pname = "azure-mgmt-billing";
   version = "0.2.0"; #pypi's 0.2.0 doesn't build ootb
 
-  src = fetchFromGitHub {
-    owner = "Azure";
-    repo = "azure-sdk-for-python";
-    rev = "ee5b47525d6c1eae3b1fd5f65b0421eab62a6e6f";
-    sha256 = "0xzdn7da5c3q5knh033vbsqk36vwbm75cx8vf10x0yj58krb4kn4";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1li2bcdwdapwwx7xbvgfsq51f2mrwm0qyzih8cjhszcah2rkpxw5";
+    extension = "zip";
   };
 
-  preBuild = ''
-    cd ./azure-mgmt-billing
-  '';
-
   propagatedBuildInputs = [
     msrestazure
     azure-common
     azure-mgmt-nspkg
   ];
 
+  preBuild = ''
+    rm azure_bdist_wheel.py
+    substituteInPlace setup.cfg \
+      --replace "azure-namespace-package = azure-mgmt-nspkg" ""
+  '';
+
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-botservice/default.nix b/pkgs/development/python-modules/azure-mgmt-botservice/default.nix
new file mode 100644
index 000000000000..d9375942b4d3
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-botservice/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "0.2.0";
+  pname = "azure-mgmt-botservice";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "10sxllwvybjlp35h5mjdxhkw2wzpl4b03i08p4jnv8cswrc8h7dj";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.botservice" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure API Management Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-consumption/default.nix b/pkgs/development/python-modules/azure-mgmt-consumption/default.nix
index 59b4cbee5bf4..b69e4b649deb 100644
--- a/pkgs/development/python-modules/azure-mgmt-consumption/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-consumption/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrestazure
 , azure-common
 , azure-mgmt-nspkg
@@ -22,6 +24,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix b/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix
new file mode 100644
index 000000000000..821c7db0d324
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-containerregistry/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "2.8.0";
+  pname = "azure-mgmt-containerregistry";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "193k07a77z7bj61zn2gxvvfqi20cgxksvxp7if71bwsl1l2y2jxj";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.containerregistry" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure Container Registry Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix b/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix
index 33617383a1db..aef56be79c0b 100644
--- a/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-cosmosdb";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "0iakxb2rr1w9171802m9syjzqas02vjah711mpagbgcj549mjysb";
+    sha256 = "0y28z30g7y2pj7rfxyxmqpr19z24d01g9qhafvjxry748im1961h";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-datalake-analytics/default.nix b/pkgs/development/python-modules/azure-mgmt-datalake-analytics/default.nix
index c3d690088d19..ad77a75fe838 100644
--- a/pkgs/development/python-modules/azure-mgmt-datalake-analytics/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-datalake-analytics/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrestazure
 , azure-common
 , azure-mgmt-datalake-nspkg
@@ -22,6 +24,12 @@ buildPythonPackage rec {
     azure-mgmt-datalake-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/datalake/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix b/pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix
index 3164cf2bf15e..5d2db3c21125 100644
--- a/pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrestazure
 , azure-common
 , azure-mgmt-datalake-nspkg
@@ -22,6 +24,12 @@ buildPythonPackage rec {
     azure-mgmt-datalake-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/datalake/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
@@ -29,6 +37,6 @@ buildPythonPackage rec {
     description = "This is the Microsoft Azure Data Lake Store Management Client Library";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
-    maintainers = with maintainers; [ mwilsoninsight ];
+    maintainers = with maintainers; [ jonringer mwilsoninsight ];
   };
 }
diff --git a/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix b/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix
index cd98e6f98b08..7fc7c5683011 100644
--- a/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-datamigration/default.nix
@@ -1,11 +1,12 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
 , azure-mgmt-nspkg
-, isPy3k
 }:
 
 buildPythonPackage rec {
@@ -26,6 +27,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
@@ -33,6 +39,6 @@ buildPythonPackage rec {
     description = "This is the Microsoft Azure Data Migration Client Library";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
-    maintainers = with maintainers; [ mwilsoninsight ];
+    maintainers = with maintainers; [ jonringer mwilsoninsight ];
   };
 }
diff --git a/pkgs/development/python-modules/azure-mgmt-deploymentmanager/default.nix b/pkgs/development/python-modules/azure-mgmt-deploymentmanager/default.nix
new file mode 100644
index 000000000000..276cc86ad8f5
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-deploymentmanager/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "0.1.0";
+  pname = "azure-mgmt-deploymentmanager";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0gvh17bhfcpvr6w0nd06v482m8lqxchlk256w68agi2qnqw6v2ir";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.deploymentmanager" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure Deployment Manager Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-devtestlabs/default.nix b/pkgs/development/python-modules/azure-mgmt-devtestlabs/default.nix
index 76a5f0cbcd26..546ec5ab8405 100644
--- a/pkgs/development/python-modules/azure-mgmt-devtestlabs/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-devtestlabs/default.nix
@@ -1,11 +1,12 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
 , azure-mgmt-nspkg
-, isPy3k
 }:
 
 buildPythonPackage rec {
@@ -26,6 +27,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
@@ -33,6 +39,6 @@ buildPythonPackage rec {
     description = "This is the Microsoft Azure DevTestLabs Management Client Library";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
-    maintainers = with maintainers; [ mwilsoninsight ];
+    maintainers = with maintainers; [ jonringer mwilsoninsight ];
   };
 }
diff --git a/pkgs/development/python-modules/azure-mgmt-dns/default.nix b/pkgs/development/python-modules/azure-mgmt-dns/default.nix
index 94d51b765e9b..89ae5912b391 100644
--- a/pkgs/development/python-modules/azure-mgmt-dns/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-dns/default.nix
@@ -1,12 +1,12 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
 , azure-mgmt-nspkg
-, python
-, isPy3k
 }:
 
 buildPythonPackage rec {
@@ -26,6 +26,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
@@ -33,6 +38,6 @@ buildPythonPackage rec {
     description = "This is the Microsoft Azure DNS Management Client Library";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
-    maintainers = with maintainers; [ mwilsoninsight ];
+    maintainers = with maintainers; [ jonringer mwilsoninsight ];
   };
 }
diff --git a/pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix b/pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix
new file mode 100644
index 000000000000..82955674c4bc
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-hdinsight/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "1.2.0";
+  pname = "azure-mgmt-hdinsight";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1yq9s7a2ch8j84af3hzj350jnjq5s3ysiqvmypvcb7vl6rkkd2lm";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.hdinsight" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure HDInsight Management Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix b/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix
new file mode 100644
index 000000000000..bb6e06aa68b0
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-imagebuilder/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "0.2.1";
+  pname = "azure-mgmt-imagebuilder";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0mwlvy4x5nr3hsz7wdpdhpzwarzzwz4225bfpd68hr0pcjgzspky";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.imagebuilder" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure Image Builder Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix b/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix
index 7605e4592716..c72ca47cff9b 100644
--- a/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
@@ -24,6 +26,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
@@ -31,6 +38,6 @@ buildPythonPackage rec {
     description = "This is the Microsoft Azure IoTHub Provisioning Services Client Library";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
-    maintainers = with maintainers; [ mwilsoninsight ];
+    maintainers = with maintainers; [ jonringer mwilsoninsight ];
   };
 }
diff --git a/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix b/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix
index 99cdfdf922b9..e3529bda8d2f 100644
--- a/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-keyvault/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
@@ -24,6 +26,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
@@ -31,6 +38,6 @@ buildPythonPackage rec {
     description = "This is the Microsoft Azure Key Vault Management Client Library";
     homepage = "https://github.com/Azure/azure-sdk-for-python";
     license = licenses.mit;
-    maintainers = with maintainers; [ mwilsoninsight ];
+    maintainers = with maintainers; [ jonringer mwilsoninsight ];
   };
 }
diff --git a/pkgs/development/python-modules/azure-mgmt-kusto/azure-mgmt-apimanagement/default.nix b/pkgs/development/python-modules/azure-mgmt-kusto/azure-mgmt-apimanagement/default.nix
new file mode 100644
index 000000000000..9f5c04adb265
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-kusto/azure-mgmt-apimanagement/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "0.1.0";
+  pname = "azure-mgmt-apimanagement";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "06bqqkn5mx127x1z7ycm6rl8ajxlrmrm2kcdpgkbl4baii1x6iax";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.apimanagement" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure API Management Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-kusto/default.nix b/pkgs/development/python-modules/azure-mgmt-kusto/default.nix
new file mode 100644
index 000000000000..fe84fc01dec1
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-kusto/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "0.4.0";
+  pname = "azure-mgmt-kusto";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1sx8f98206wccj0mbmb75c4wyhf57g3pnkhl9wn70lqzi9n4mk0b";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.kusto" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure Kusto Management Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix b/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix
index 6d844117c9f5..a5e2829a930a 100644
--- a/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
@@ -24,6 +26,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-managedservices/default.nix b/pkgs/development/python-modules/azure-mgmt-managedservices/default.nix
new file mode 100644
index 000000000000..4d059480c442
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-managedservices/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "1.0.0";
+  pname = "azure-mgmt-managedservices";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "06ddfqriqlvwjsjhqka9r5vhshardyj9c10xgjissfkpqsgkkn7y";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.managedservices" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure Managed Services Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-maps/default.nix b/pkgs/development/python-modules/azure-mgmt-maps/default.nix
index 2869b6c81d73..b18c02672361 100644
--- a/pkgs/development/python-modules/azure-mgmt-maps/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-maps/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
@@ -24,6 +26,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-monitor/default.nix b/pkgs/development/python-modules/azure-mgmt-monitor/default.nix
index b9a8b3c0158e..23e6bcf8cb4f 100644
--- a/pkgs/development/python-modules/azure-mgmt-monitor/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-monitor/default.nix
@@ -1,11 +1,12 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
 , azure-mgmt-nspkg
-, isPy3k
 }:
 
 buildPythonPackage rec {
@@ -26,6 +27,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-msi/default.nix b/pkgs/development/python-modules/azure-mgmt-msi/default.nix
index 9b1d0bf5a2b2..87e70c2fdcc9 100644
--- a/pkgs/development/python-modules/azure-mgmt-msi/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-msi/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
@@ -24,6 +26,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-netapp/default.nix b/pkgs/development/python-modules/azure-mgmt-netapp/default.nix
new file mode 100644
index 000000000000..79a3a19778d1
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-netapp/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "0.6.0";
+  pname = "azure-mgmt-netapp";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "10ymvyj386z9bjdm2g1b5a4vfnn87ig2zm6xn2xddvbpy0jxnyfv";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.netapp" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure NetApp Files Management Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-network/default.nix b/pkgs/development/python-modules/azure-mgmt-network/default.nix
index 236eb0cd8ce3..4663b9fa0356 100644
--- a/pkgs/development/python-modules/azure-mgmt-network/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-network/default.nix
@@ -7,13 +7,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "7.0.0";
+  version = "8.0.0";
   pname = "azure-mgmt-network";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "32ce90691b96ecdaa974ecb4d35063377c8fd21fd05984164507b63113f3456b";
+    sha256 = "1prg4b1agda9bsn6zmvffkj22rr6jy784rdfp6154yifjr6z5jiv";
   };
 
   postInstall = if isPy3k then "" else ''
diff --git a/pkgs/development/python-modules/azure-mgmt-privatedns/default.nix b/pkgs/development/python-modules/azure-mgmt-privatedns/default.nix
new file mode 100644
index 000000000000..98855730ba34
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-privatedns/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "0.1.0";
+  pname = "azure-mgmt-privatedns";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "08wdvfkk8jh90m3l4nz7knd5vikgfvsx70lk7mkhcvl0xj6gv76j";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.privatedns" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure DNS Private Zones Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-relay/default.nix b/pkgs/development/python-modules/azure-mgmt-relay/default.nix
index 718cd9854437..5046bf8740fd 100644
--- a/pkgs/development/python-modules/azure-mgmt-relay/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-relay/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrestazure
 , azure-common
 , azure-mgmt-nspkg
@@ -22,6 +24,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-reservations/default.nix b/pkgs/development/python-modules/azure-mgmt-reservations/default.nix
index cc19e9048639..5d13acb6ec83 100644
--- a/pkgs/development/python-modules/azure-mgmt-reservations/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-reservations/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-reservations";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "06l362xiqhk8vvb1pch6ngfyv8m00ahr6ysdznd6qvxz8awazy10";
+    sha256 = "16ycni3cjl9c0mv419gy5rgbrlg8zp0vnr6aj8z8p2ypdw6sgac3";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-resource/default.nix b/pkgs/development/python-modules/azure-mgmt-resource/default.nix
index 4c02be90a09c..4f2481097e1a 100644
--- a/pkgs/development/python-modules/azure-mgmt-resource/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-resource/default.nix
@@ -8,13 +8,13 @@
 
 
 buildPythonPackage rec {
-  version = "5.1.0";
+  version = "6.0.0";
   pname = "azure-mgmt-resource";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "88db03ea5b9db1dfbf3de8c7be111ed41b121a374645e3ddf3fbba47584c32b1";
+    sha256 = "08n6r6ja7p20qlhb9pp51nwwxz2mal19an98zry276i8z5x8ckp0";
   };
 
   postInstall = if isPy3k then "" else ''
diff --git a/pkgs/development/python-modules/azure-mgmt-security/default.nix b/pkgs/development/python-modules/azure-mgmt-security/default.nix
new file mode 100644
index 000000000000..5a9d8849f8d2
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-security/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "0.3.0";
+  pname = "azure-mgmt-security";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0z766424783a6y5dp5ybxssb0bfzqb8kpa6zra8ccnbfg4fn478v";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.security" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure Security Center Management Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-servicefabric/default.nix b/pkgs/development/python-modules/azure-mgmt-servicefabric/default.nix
index a80c97ea377f..9c849829a127 100644
--- a/pkgs/development/python-modules/azure-mgmt-servicefabric/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-servicefabric/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, python
+, isPy3k
 , msrest
 , msrestazure
 , azure-common
@@ -24,6 +26,11 @@ buildPythonPackage rec {
     azure-mgmt-nspkg
   ];
 
+  postInstall = lib.optionalString isPy3k ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/mgmt/__init__.py
+  '';
+
   # has no tests
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/azure-mgmt-sql/default.nix b/pkgs/development/python-modules/azure-mgmt-sql/default.nix
index 5ad1e620ede0..5a5a708a5dd2 100644
--- a/pkgs/development/python-modules/azure-mgmt-sql/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-sql/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-sql";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "109w1kj45fvwc94bkhdkj3bdysrskfz8i6ph4qlpjk340zy81vvl";
+    sha256 = "0qv58xraznv2ldhd34cvznhz045x3ncfgam9c12gxyj4q0k3pyc9";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix b/pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix
new file mode 100644
index 000000000000..6704df2d21a3
--- /dev/null
+++ b/pkgs/development/python-modules/azure-mgmt-sqlvirtualmachine/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "0.4.0";
+  pname = "azure-mgmt-sqlvirtualmachine";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1jxmikjvyxkwr8c9kn6xw8gvj9pajlk7y8111rq8fgkivwjq8wcm";
+    extension = "zip";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.mgmt.sqlvirtualmachine" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure SQL Virtual Machine Management Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/azure-mgmt-web/default.nix b/pkgs/development/python-modules/azure-mgmt-web/default.nix
index 4a372139fdb5..ea6c1502123f 100644
--- a/pkgs/development/python-modules/azure-mgmt-web/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-web/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-web";
-  version = "0.43.1";
+  version = "0.44.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "e3ab5acc9f13746e1f4ce19ccbacc4522527dd1f75eff2826cd882b7ba54806a";
+    sha256 = "05dqakhfi301k2jnvccxdkigqvwnf9xz858pqg9vsri3dq69f1rw";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-multiapi-storage/default.nix b/pkgs/development/python-modules/azure-multiapi-storage/default.nix
new file mode 100644
index 000000000000..dc4a011e0789
--- /dev/null
+++ b/pkgs/development/python-modules/azure-multiapi-storage/default.nix
@@ -0,0 +1,36 @@
+{ lib, python, buildPythonPackage, fetchPypi, isPy27
+, azure-common
+, msrest
+, msrestazure
+}:
+
+buildPythonPackage rec {
+  version = "0.2.4";
+  pname = "azure-multiapi-storage";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0zqapc4dx6qd9bcim5fjykk3n1j84p85nwqyb876nb7qmqx9spig";
+  };
+
+  propagatedBuildInputs = [ azure-common msrest msrestazure ];
+
+  # fix namespace issues
+  postInstall = ''
+    rm $out/${python.sitePackages}/azure/__init__.py
+    rm $out/${python.sitePackages}/azure/multiapi/__init__.py
+  '';
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "azure.common" "azure.multiapi.storage" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure Storage Client Library for Python with multi API version support.";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/babelgladeextractor/default.nix b/pkgs/development/python-modules/babelgladeextractor/default.nix
new file mode 100644
index 000000000000..997682ca865d
--- /dev/null
+++ b/pkgs/development/python-modules/babelgladeextractor/default.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, lib
+, buildPythonPackage
+, fetchPypi
+, Babel
+}:
+
+buildPythonPackage rec {
+  pname = "babelgladeextractor";
+  version = "0.6.1";
+
+  src = fetchPypi {
+    pname = "BabelGladeExtractor";
+    inherit version;
+    extension = "tar.bz2";
+    sha256 = "1jhs12pliz54dbnigib1h8ywfzsj1g32c1vhspvg46f5983nvf93";
+  };
+
+  propagatedBuildInputs = [
+    Babel
+  ];
+
+  # Tests missing
+  # https://github.com/gnome-keysign/babel-glade/issues/5
+  doCheck = false;
+
+  meta = with lib; {
+    homepage = "https://github.com/gnome-keysign/babel-glade";
+    description = "Babel Glade XML files translatable strings extractor";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ jtojnar ];
+  };
+}
diff --git a/pkgs/development/python-modules/behave/default.nix b/pkgs/development/python-modules/behave/default.nix
index 7ad3489553c2..6d0364676f9a 100644
--- a/pkgs/development/python-modules/behave/default.nix
+++ b/pkgs/development/python-modules/behave/default.nix
@@ -1,9 +1,10 @@
 { stdenv, fetchPypi, fetchpatch
 , buildPythonApplication, python, pythonOlder
-, mock, nose, pathpy, pyhamcrest, pytest
+, mock, nose, pathpy, pyhamcrest, pytest_4
 , glibcLocales, parse, parse-type, six
 , traceback2
 }:
+
 buildPythonApplication rec {
   pname = "behave";
   version = "1.2.6";
@@ -21,7 +22,7 @@ buildPythonApplication rec {
     })
   ];
 
-  checkInputs = [ mock nose pathpy pyhamcrest pytest ];
+  checkInputs = [ mock nose pathpy pyhamcrest pytest_4 ];
   buildInputs = [ glibcLocales ];
   propagatedBuildInputs = [ parse parse-type six ] ++ stdenv.lib.optional (pythonOlder "3.0") traceback2;
 
diff --git a/pkgs/development/python-modules/biopython/default.nix b/pkgs/development/python-modules/biopython/default.nix
index e60d4c60aeab..a35c2d073945 100644
--- a/pkgs/development/python-modules/biopython/default.nix
+++ b/pkgs/development/python-modules/biopython/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "biopython";
-  version = "1.74";
+  version = "1.75";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1h4hcpx1vqrcddpcznyxy14zzvy2yanlkz0117w5n869w8djq595";
+    sha256 = "01lrm353si63anhhynf6hqbd3f753c2k8dkk953j3g6257py8q2h";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/pkgs/development/python-modules/bitarray/default.nix b/pkgs/development/python-modules/bitarray/default.nix
index 78372598096f..3c84366c9d13 100644
--- a/pkgs/development/python-modules/bitarray/default.nix
+++ b/pkgs/development/python-modules/bitarray/default.nix
@@ -1,12 +1,12 @@
 { lib, buildPythonPackage, fetchPypi }:
 
 buildPythonPackage rec {
-  version = "1.0.1";
+  version = "1.1.0";
   pname = "bitarray";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3eb500f8b9cde19e14472fcbee0195dbf0fbac006f8406a03f0cfb495dff20a0";
+    sha256 = "0nv1283qcfilhnb4q6znlijply6lfxwpvp10cr0v33l0qwa86mwz";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/blist/default.nix b/pkgs/development/python-modules/blist/default.nix
index d6d55accaca7..90a4b99cda33 100644
--- a/pkgs/development/python-modules/blist/default.nix
+++ b/pkgs/development/python-modules/blist/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , buildPythonPackage
+, fetchpatch
 , fetchPypi
 , isPyPy
 }:
@@ -14,6 +15,15 @@ buildPythonPackage rec {
     sha256 = "1hqz9pqbwx0czvq9bjdqjqh5bwfksva1is0anfazig81n18c84is";
   };
 
+
+  patches = [
+    # Fix compatibility for Python 3.7 https://github.com/DanielStutzbach/blist/pull/78
+    (fetchpatch {
+      url = "https://github.com/DanielStutzbach/blist/commit/2dc1ec28ed68611fcec9ac1c68070c782d6b4b4e.patch";
+      sha256 = "0ma0z6ga80w3wzh3sidwd8ckfbgx4j1y7cc29q6j9ddrvxpf276y";
+    })
+  ];
+
   meta = with stdenv.lib; {
     homepage = http://stutzbachenterprises.com/blist/;
     description = "A list-like type with better asymptotic performance and similar performance on small lists";
diff --git a/pkgs/development/python-modules/boltons/default.nix b/pkgs/development/python-modules/boltons/default.nix
index b5aa9e6cf033..8b7139f5a627 100644
--- a/pkgs/development/python-modules/boltons/default.nix
+++ b/pkgs/development/python-modules/boltons/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "boltons";
-  version = "19.1.0";
+  version = "19.3.0";
 
   # No tests in PyPi Tarball
   src = fetchFromGitHub {
     owner = "mahmoud";
     repo = "boltons";
     rev = version;
-    sha256 = "0b55wly0ksviyl3a4dmih9vzd7bj3p10gr6la4722cs9cx4128q5";
+    sha256 = "0pgqr2hf7lxag8nc8wnh8hpp8fd2lxccq9h0bb8lb9x8npnzhnbn";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/btrees/default.nix b/pkgs/development/python-modules/btrees/default.nix
index 828e243af9c2..4b17b5046aa4 100644
--- a/pkgs/development/python-modules/btrees/default.nix
+++ b/pkgs/development/python-modules/btrees/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "BTrees";
-  version = "4.6.0";
+  version = "4.6.1";
 
   buildInputs = [ transaction ];
   propagatedBuildInputs = [ persistent zope_interface ];
@@ -23,7 +23,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0bmkpg6z5z47p21340nyrfbdv2jkfp80yv085ndgbwaas1zi7ac9";
+    sha256 = "b3a0e1d073800bf7bcca6cbb97a6b3c9ec485a4ba3ee0b354da1ed076cfb9f30";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/buildbot/default.nix b/pkgs/development/python-modules/buildbot/default.nix
index 8fc7b62a63c1..7385a3295518 100644
--- a/pkgs/development/python-modules/buildbot/default.nix
+++ b/pkgs/development/python-modules/buildbot/default.nix
@@ -25,11 +25,11 @@ let
 
   package = buildPythonPackage rec {
     pname = "buildbot";
-    version = "2.5.0";
+    version = "2.5.1";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "06dza7kggybz8nf3i1skkadwrq9s0nkpqjfahifysaag3j3b5rp4";
+      sha256 = "13ddpcbndb22zlg9gjsf2pbgad45g1w5cg4a3z83085fkgnib7sr";
     };
 
     propagatedBuildInputs = [
@@ -74,13 +74,6 @@ let
       # This patch disables the test that tries to read /etc/os-release which
       # is not accessible in sandboxed builds.
       ./skip_test_linux_distro.patch
-      # Work around https://github.com/glyph/automat/issues/117
-      (fetchpatch {
-        url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/buildbot-automat-117.diff?h=packages/buildbot&id=7904292340f98578adfe783a09e9eb4c5b1d4632";
-        name = "buildbot-automat-117.diff";
-        stripLen = 1;
-        sha256 = "0rng6f8nvghkihajz9m925rdp9q3c395bj4wc7r2s1minv613hba";
-      })
     ];
 
     postPatch = ''
diff --git a/pkgs/development/python-modules/buildbot/pkg.nix b/pkgs/development/python-modules/buildbot/pkg.nix
index 1a75d6a634fb..ff2be45bf32a 100644
--- a/pkgs/development/python-modules/buildbot/pkg.nix
+++ b/pkgs/development/python-modules/buildbot/pkg.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "buildbot-pkg";
-  version = "2.5.0";
+  version = "2.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1my9a791y6hsazzqs3f3svl6zw28x3qwj0a0vxffybqdij650nvw";
+    sha256 = "1g87pddsyas1r0f6z29047cwnz7ds4925f6n9g7b0pkj3k73ci06";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/buildbot/plugins.nix b/pkgs/development/python-modules/buildbot/plugins.nix
index 7ee8ddfb61a9..8722a6629e49 100644
--- a/pkgs/development/python-modules/buildbot/plugins.nix
+++ b/pkgs/development/python-modules/buildbot/plugins.nix
@@ -7,7 +7,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0awy96pb9s9g0nrmlrvqf5zi878z6mvj653inf9sm89x601a6lp1";
+      sha256 = "00k5dbcwzqlyk4lcp5qh1q8xbrxmg9gzqs7vl2r6f3wxi4ydb5nw";
     };
 
     # Remove unneccessary circular dependency on buildbot
@@ -36,7 +36,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0bp7bbq6rq1kdg3pf8plcpc4amam0pks5dlmyqj6bn29skfa5h1j";
+      sha256 = "0ai334y779jwqabrn2yjma41pw0a9k1qy7v68qbjd22n4my227ma";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -58,7 +58,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "1mxxkqzh4a6574n2lk2ndi77d9g93hjpkwsqizj911n6ibsn4qw3";
+      sha256 = "1j450hwvg729mivzijbrx8ngalx56qvrx8mwwgy8arfwpnyfkr9l";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -80,7 +80,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "1fkrd5crbgqgp8mr8qgfy559f59ys6hrspddzk3fwg5hrsckkjwr";
+      sha256 = "19w8is5s7d7l60mlchh1zd9nidpkswi8fivfa36b97plibn0jgw1";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -102,7 +102,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "0cvbizcc92df08xcs8w6ah51yfilxz7sx9g8bbdrvw6m586ziczb";
+      sha256 = "1zl7y08rkw7bya6cli44msvcdgirsyfg3kxpf2z82vwgc6bwi785";
     };
 
     buildInputs = [ buildbot-pkg ];
diff --git a/pkgs/development/python-modules/buildbot/worker.nix b/pkgs/development/python-modules/buildbot/worker.nix
index 19ce3bf0ad66..048fb44a93bc 100644
--- a/pkgs/development/python-modules/buildbot/worker.nix
+++ b/pkgs/development/python-modules/buildbot/worker.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage (rec {
   pname = "buildbot-worker";
-  version = "2.5.0";
+  version = "2.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "05c8q6ykharry4lv47imh6agq55fxar8a9ldwx46clb480qwyc43";
+    sha256 = "1kpj85x8xflrccvy840v9bl3q1j63rk9kahj1qirbai1fxwvzbik";
   };
 
   propagatedBuildInputs = [ twisted future ];
diff --git a/pkgs/development/python-modules/cadquery/default.nix b/pkgs/development/python-modules/cadquery/default.nix
new file mode 100644
index 000000000000..6f3632f743be
--- /dev/null
+++ b/pkgs/development/python-modules/cadquery/default.nix
@@ -0,0 +1,93 @@
+{ lib
+  , buildPythonPackage
+  , isPy3k
+  , pythonOlder
+  , fetchFromGitHub
+  , pyparsing
+  , opencascade
+  , stdenv
+  , python
+  , cmake
+  , swig
+  , ninja
+  , smesh
+  , freetype
+  , libGL
+  , libGLU
+  , libX11
+  , six
+}:
+
+let 
+  pythonocc-core-cadquery = stdenv.mkDerivation {
+    pname = "pythonocc-core-cadquery";
+    version = "0.18.2";
+
+    src = fetchFromGitHub {
+      owner = "CadQuery";
+      repo = "pythonocc-core";
+      # no proper release to to use, this commit copied from the Anaconda receipe
+      rev = "701e924ae40701cbe6f9992bcbdc2ef22aa9b5ab";
+      sha256 = "07zmiiw74dyj4v0ar5vqkvk30wzcpjjzbi04nsdk5mnlzslmyi6c";
+    };
+
+    nativeBuildInputs = [ 
+      cmake
+      swig
+      ninja
+    ];
+
+    buildInputs = [
+      python
+      opencascade
+      smesh
+      freetype
+      libGL
+      libGLU
+      libX11
+    ];
+
+    propagatedBuildInputs = [
+      six
+    ];
+
+    cmakeFlags = [
+      "-Wno-dev"
+      "-DPYTHONOCC_INSTALL_DIRECTORY=${placeholder "out"}/${python.sitePackages}/OCC"
+      "-DSMESH_INCLUDE_PATH=${smesh}/include/smesh"
+      "-DSMESH_LIB_PATH=${smesh}/lib"
+      "-DPYTHONOCC_WRAP_SMESH=TRUE"
+    ];
+  };
+
+in
+  buildPythonPackage rec {
+    pname = "cadquery";
+    version = "2.0RC0";
+  
+    src = fetchFromGitHub {
+      owner = "CadQuery";
+      repo = pname;
+      rev = version;
+      sha256 = "1xgd00rih0gjcnlrf9s6r5a7ypjkzgf2xij2b6436i76h89wmir3";
+    };
+  
+    buildInputs = [
+      opencascade
+    ];
+  
+    propagatedBuildInputs = [
+      pyparsing
+      pythonocc-core-cadquery
+    ];
+  
+    # Build errors on 2.7 and >=3.8 (officially only supports 3.6 and 3.7).
+    disabled = !(isPy3k && (pythonOlder "3.8"));
+  
+    meta = with lib; {
+      description = "Parametric scripting language for creating and traversing CAD models";
+      homepage = "https://github.com/CadQuery/cadquery";
+      license = licenses.asl20;
+      maintainers = with maintainers; [ costrouc marcus7070 ];
+    };
+  }
diff --git a/pkgs/development/python-modules/carbon/default.nix b/pkgs/development/python-modules/carbon/default.nix
index 3b49289c2e48..c471240c87ad 100644
--- a/pkgs/development/python-modules/carbon/default.nix
+++ b/pkgs/development/python-modules/carbon/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "carbon";
-  version = "1.1.5";
+  version = "1.1.6";
 
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a88390553a9ea628fdb74b5b358ed83a657e058bcc811e5819d9db856b4fcf5b";
+    sha256 = "9ecda1469e497e3fed346b23ac94fd576e1bd9962677ab88975f4f598186e851";
   };
 
   propagatedBuildInputs = [ twisted whisper txamqp cachetools urllib3 ];
diff --git a/pkgs/development/python-modules/catalogue/default.nix b/pkgs/development/python-modules/catalogue/default.nix
new file mode 100644
index 000000000000..f9ad59338430
--- /dev/null
+++ b/pkgs/development/python-modules/catalogue/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, importlib-metadata
+}:
+
+buildPythonPackage rec {
+  pname = "catalogue";
+  version = "0.0.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0m7xp85fg57wi1l1vdsq2k0b8dv5bnfccds33lb04z9vrds4l3jv";
+  };
+
+  propagatedBuildInputs = [ importlib-metadata ];
+
+  meta = with stdenv.lib; {
+    description = "Tiny library for adding function or object registries";
+    homepage = "https://github.com/explosion/catalogue";
+    license = licenses.mit;
+    maintainers = with maintainers; [ danieldk ];
+    };
+}
diff --git a/pkgs/development/python-modules/cchardet/default.nix b/pkgs/development/python-modules/cchardet/default.nix
index 5596b3e37e59..1fb506682baf 100644
--- a/pkgs/development/python-modules/cchardet/default.nix
+++ b/pkgs/development/python-modules/cchardet/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "cchardet";
-  version = "2.1.4";
+  version = "2.1.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1h3wajwwgqpyb1q44lzr8djbcwr4y8cphph7kyscz90d83h4b5yc";
+    sha256 = "240efe3f255f916769458343840b9c6403cf3192720bc5129792cbcb88bf72fb";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/cffi/default.nix b/pkgs/development/python-modules/cffi/default.nix
index 6d8051616417..15d15c23a8d2 100644
--- a/pkgs/development/python-modules/cffi/default.nix
+++ b/pkgs/development/python-modules/cffi/default.nix
@@ -2,11 +2,11 @@
 
 if isPyPy then null else buildPythonPackage rec {
   pname = "cffi";
-  version = "1.13.1";
+  version = "1.13.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "558b3afef987cf4b17abd849e7bedf64ee12b28175d564d05b628a0f9355599b";
+    sha256 = "599a1e8ff057ac530c9ad1778293c665cb81a791421f46922d80a86473c13346";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/python-modules/cfn-lint/default.nix b/pkgs/development/python-modules/cfn-lint/default.nix
index 5dc84e07eb0c..eeccaedf5f68 100644
--- a/pkgs/development/python-modules/cfn-lint/default.nix
+++ b/pkgs/development/python-modules/cfn-lint/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "cfn-lint";
-  version = "0.24.5";
+  version = "0.24.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1268c9730ba869f0f630eaf5bac34795553a97385d38eb91b9f7f5c3f73c8982";
+    sha256 = "5aa1540ee9a7efc23ebe54a22f1a505766a4bb44f64a0f4fe79574a156a9b43e";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cleo/default.nix b/pkgs/development/python-modules/cleo/default.nix
index 146779082e4a..13a91837a6c7 100644
--- a/pkgs/development/python-modules/cleo/default.nix
+++ b/pkgs/development/python-modules/cleo/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "cleo";
-  version = "0.7.5";
+  version = "0.7.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0d0sxca308ilp73jdny4frn93asr4ih87xxl1d9rxf8m12xssa3c";
+    sha256 = "99cf342406f3499cec43270fcfaf93c126c5164092eca201dfef0f623360b409";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/click-default-group/default.nix b/pkgs/development/python-modules/click-default-group/default.nix
index eeee7370b7e3..6bc092dcd4e0 100644
--- a/pkgs/development/python-modules/click-default-group/default.nix
+++ b/pkgs/development/python-modules/click-default-group/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "click-default-group";
-  version = "1.2.1";
+  version = "1.2.2";
 
   # No tests in Pypi tarball
   src = fetchFromGitHub {
     owner = "click-contrib";
     repo = "click-default-group";
     rev = "v${version}";
-    sha256 = "1wdmabfpmzxpiww0slinvxm9xjyxql250dn1pvjijq675pxafiz4";
+    sha256 = "0nk39lmkn208w8kvq6f4h3a6qzxrrvxixahpips6ik3zflbkss86";
   };
 
   propagatedBuildInputs = [ click ];
diff --git a/pkgs/development/python-modules/cliff/default.nix b/pkgs/development/python-modules/cliff/default.nix
index d8ecd2553e8c..7882c98e524d 100644
--- a/pkgs/development/python-modules/cliff/default.nix
+++ b/pkgs/development/python-modules/cliff/default.nix
@@ -9,6 +9,10 @@
 , pyyaml
 , unicodecsv
 , cmd2
+, pytest
+, mock
+, testtools
+, fixtures
 }:
 
 buildPythonPackage rec {
@@ -31,10 +35,17 @@ buildPythonPackage rec {
     unicodecsv
   ];
 
-  # test dependencies are complex
-  # and would require about 20 packages
-  # to be added
-  doCheck = false;
+  # remove version constraints
+  postPatch = ''
+    sed -i '/cmd2/c\cmd2' requirements.txt
+  '';
+
+  checkInputs = [ fixtures mock pytest testtools ];
+  # add some tests
+  checkPhase = ''
+    pytest cliff/tests/test_{utils,app,command,help,lister}.py \
+      -k 'not interactive_mode'
+  '';
 
   meta = with lib; {
     description = "Command Line Interface Formulation Framework";
diff --git a/pkgs/development/python-modules/cmd2/default.nix b/pkgs/development/python-modules/cmd2/default.nix
index 6db6c93a2628..9e3a9ac1b824 100644
--- a/pkgs/development/python-modules/cmd2/default.nix
+++ b/pkgs/development/python-modules/cmd2/default.nix
@@ -6,11 +6,11 @@
 }:
 buildPythonPackage rec {
   pname = "cmd2";
-  version = "0.9.19";
+  version = "0.9.20";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c81284083d993af18b8fef57d89d854d49d051d4c2c8a8e12d0281e369ac3682";
+    sha256 = "0id8247m05xi26xbzg7jj1gcmy91p77wpbbj74v5543z2aplk8qv";
   };
 
   LC_ALL="en_US.UTF-8";
diff --git a/pkgs/development/python-modules/configshell/default.nix b/pkgs/development/python-modules/configshell/default.nix
index 9b54f4398477..fed5a71fd178 100644
--- a/pkgs/development/python-modules/configshell/default.nix
+++ b/pkgs/development/python-modules/configshell/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "configshell";
-  version = "1.1.fb25";
+  version = "1.1.27";
 
   src = fetchFromGitHub {
     owner = "open-iscsi";
     repo ="${pname}-fb";
     rev = "v${version}";
-    sha256 = "0zpr2n4105qqsklyfyr9lzl1rhxjcv0mnsl57hgk0m763w6na90h";
+    sha256 = "1nldzq3097xqgzd8qxv36ydvx6vj2crwanihz53k46is0myrwcnn";
   };
 
   propagatedBuildInputs = [ pyparsing six urwid ];
diff --git a/pkgs/development/python-modules/cornice/default.nix b/pkgs/development/python-modules/cornice/default.nix
index d4210ade06e2..4ac38986245d 100644
--- a/pkgs/development/python-modules/cornice/default.nix
+++ b/pkgs/development/python-modules/cornice/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "cornice";
-  version = "3.6.0";
+  version = "3.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4dab97fe52d7075ecc87b8cadf549ca2c2c628512741193fb81a0c0433b46715";
+    sha256 = "d3d608b9ff405e7ba5e9629ef0c09b7605997e1aea0dafb2aaa66761ff7cab08";
   };
 
   propagatedBuildInputs = [ pyramid simplejson six venusian ];
diff --git a/pkgs/development/python-modules/croniter/default.nix b/pkgs/development/python-modules/croniter/default.nix
new file mode 100644
index 000000000000..969a4e8af89e
--- /dev/null
+++ b/pkgs/development/python-modules/croniter/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, python-dateutil
+, pytest
+, pytz
+}:
+
+buildPythonPackage rec {
+  pname = "croniter";
+  version = "0.3.30";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "538adeb3a7f7816c3cdec6db974c441620d764c25ff4ed0146ee7296b8a50590";
+  };
+
+  propagatedBuildInputs = [
+    python-dateutil
+  ];
+
+  checkInputs = [
+    pytest
+    pytz
+  ];
+
+  checkPhase = ''
+    pytest src/croniter
+  '';
+
+  meta = with lib; {
+    description = "croniter provides iteration for datetime object with cron like format";
+    homepage = https://github.com/kiorky/croniter;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/cssmin/default.nix b/pkgs/development/python-modules/cssmin/default.nix
index 7cb01001fac2..2d1ffaccd6f8 100644
--- a/pkgs/development/python-modules/cssmin/default.nix
+++ b/pkgs/development/python-modules/cssmin/default.nix
@@ -14,7 +14,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "A Python port of the YUI CSS compression algorithm";
-    homepage = http://github.com/zacharyvoase/cssmin;
+    homepage = https://github.com/zacharyvoase/cssmin;
     license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/python-modules/dateutil/default.nix b/pkgs/development/python-modules/dateutil/default.nix
index 63366d93056c..9c5f6145d8fd 100644
--- a/pkgs/development/python-modules/dateutil/default.nix
+++ b/pkgs/development/python-modules/dateutil/default.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPythonPackage, fetchPypi, six, setuptools_scm, pytest }:
 buildPythonPackage rec {
   pname = "python-dateutil";
-  version = "2.8.0";
+  version = "2.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c89805f6f4d64db21ed966fda138f8a5ed7a4fdbc1a8ee329ce1b74e3c74da9e";
+    sha256 = "73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/decorator/default.nix b/pkgs/development/python-modules/decorator/default.nix
index b8c784023c23..f23d59291925 100644
--- a/pkgs/development/python-modules/decorator/default.nix
+++ b/pkgs/development/python-modules/decorator/default.nix
@@ -5,13 +5,17 @@
 
 buildPythonPackage rec {
   pname = "decorator";
-  version = "4.4.0";
+  version = "4.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1pi54wqj2p6ka13x7q8d5zgqg9bcf7m5d00l7x5bi204qmhn65c6";
+    sha256 = "54c38050039232e1db4ad7375cfce6748d7b41c29e95a081c8a6d2c30364a2ce";
   };
 
+  postPatch = ''
+    substituteInPlace src/tests/test.py --replace "DocumentationTestCase" "NoDocumentation"
+  '';
+
   meta = with lib; {
     homepage = https://pypi.python.org/pypi/decorator;
     description = "Better living through Python with decorators";
diff --git a/pkgs/development/python-modules/deprecated/default.nix b/pkgs/development/python-modules/deprecated/default.nix
index ee7c89d8167d..1d4461fea195 100644
--- a/pkgs/development/python-modules/deprecated/default.nix
+++ b/pkgs/development/python-modules/deprecated/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "Deprecated";
-  version = "1.2.6";
+  version = "1.2.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1hcw9y7dvhwg5flk6wy8aa4kkgpvcqq3q4jd53h54586fp7w85d5";
+    sha256 = "408038ab5fdeca67554e8f6742d1521cd3cd0ee0ff9d47f29318a4f4da31c308";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/diff_cover/default.nix b/pkgs/development/python-modules/diff_cover/default.nix
index 86a124d23553..0d49f6278212 100644
--- a/pkgs/development/python-modules/diff_cover/default.nix
+++ b/pkgs/development/python-modules/diff_cover/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "diff_cover";
-  version = "2.4.0";
+  version = "2.4.1";
 
   preCheck = ''
     export LC_ALL=en_US.UTF-8;
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a78babbec1c3088a6c3a5b62cddccaeac4717236ea4f5d28b6af00f2d9b2e341";
+    sha256 = "12h91rvbrf9qmdmj5nfqhcd3bpwq1pvk990bag4hyxcf86qlzds4";
   };
 
   propagatedBuildInputs = [ jinja2 jinja2_pluralize pygments six inflect ];
diff --git a/pkgs/development/python-modules/distlib/default.nix b/pkgs/development/python-modules/distlib/default.nix
index aea6bcd9504b..81575058b157 100644
--- a/pkgs/development/python-modules/distlib/default.nix
+++ b/pkgs/development/python-modules/distlib/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "distlib";
-  version = "0.2.9.post0";
+  version = "0.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ecb3d0e4f71d0fa7f38db6bcc276c7c9a1c6638a516d726495934a553eb3fbe0";
+    sha256 = "08fyi2r246733vharl2yckw20rilci28r91mzrnnvcr638inw5if";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/django-dynamic-preferences/default.nix b/pkgs/development/python-modules/django-dynamic-preferences/default.nix
index 28ec9aae24f1..cea5a7976bb4 100644
--- a/pkgs/development/python-modules/django-dynamic-preferences/default.nix
+++ b/pkgs/development/python-modules/django-dynamic-preferences/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "django-dynamic-preferences";
-  version = "1.7.1";
+  version = "1.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1z2dndkpypk4pvb0byh5a771vgp50vn8g1rbk5r3sml6dm4wcn7s";
+    sha256 = "1v7mf48gb2qmmks3ifnhkh0vfd7hpvx5v81ypc9cqy35n3ir0q4a";
   };
 
   propagatedBuildInputs = [ six django persisting-theory ]; 
diff --git a/pkgs/development/python-modules/django-multiselectfield/default.nix b/pkgs/development/python-modules/django-multiselectfield/default.nix
index b10424de396b..acf49d741673 100644
--- a/pkgs/development/python-modules/django-multiselectfield/default.nix
+++ b/pkgs/development/python-modules/django-multiselectfield/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "django-multiselectfield";
-  version = "0.1.9";
+  version = "0.1.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "54fa3886884cbc5d9c2f523e0e4af2cc3b976bd077718b2b443a5be44eb481ec";
+    sha256 = "ec305ca79b6e16fb6d699d3159258f9f680ead8ea5ef9b419e7faf13f31355df";
   };
 
   propagatedBuildInputs = [ django ];
diff --git a/pkgs/development/python-modules/django-storages/default.nix b/pkgs/development/python-modules/django-storages/default.nix
index a82f9d3fb9b6..5756d0ab5e61 100644
--- a/pkgs/development/python-modules/django-storages/default.nix
+++ b/pkgs/development/python-modules/django-storages/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "django-storages";
-  version = "1.7.2";
+  version = "1.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "01xq232h321716r08rari9payas7fsiwwr5q6zgcrlwkckwxxczk";
+    sha256 = "000abaayhymh4rxmk19hwhlyibc62rs0qdfczkhf4wb3p9san8lk";
   };
 
   propagatedBuildInputs = [ django ];
diff --git a/pkgs/development/python-modules/django/2_1.nix b/pkgs/development/python-modules/django/2_1.nix
index f8598c1e819b..d1ebc686bbd9 100644
--- a/pkgs/development/python-modules/django/2_1.nix
+++ b/pkgs/development/python-modules/django/2_1.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  version = "2.1.13";
+  version = "2.1.14";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7a28a4eb0167eba491ccfafd7006843b5cdd26d8c93b955a74c2ea74f94efc2c";
+    sha256 = "d9159141fc354c4c28cc2b2586d55ba6d5e1531f5470218bb56a75be03d67398";
   };
 
   patches = stdenv.lib.optionals withGdal [
diff --git a/pkgs/development/python-modules/django/2_2.nix b/pkgs/development/python-modules/django/2_2.nix
index eccf694425e8..aaf93be8b978 100644
--- a/pkgs/development/python-modules/django/2_2.nix
+++ b/pkgs/development/python-modules/django/2_2.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  version = "2.2.6";
+  version = "2.2.7";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a8ca1033acac9f33995eb2209a6bf18a4681c3e5269a878e9a7e0b7384ed1ca3";
+    sha256 = "16040e1288c6c9f68c6da2fe75ebde83c0a158f6f5d54f4c5177b0c1478c5b86";
   };
 
   patches = stdenv.lib.optional withGdal
diff --git a/pkgs/development/python-modules/dmenu/default.nix b/pkgs/development/python-modules/dmenu/default.nix
index d7ec8161ef5e..7897138d59f8 100644
--- a/pkgs/development/python-modules/dmenu/default.nix
+++ b/pkgs/development/python-modules/dmenu/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   meta = {
     description = "A Python wrapper for dmenu";
-    homepage = http://dmenu.readthedocs.io;
+    homepage = https://dmenu.readthedocs.io;
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.nico202 ];
   };
diff --git a/pkgs/development/python-modules/dotnetcore2/default.nix b/pkgs/development/python-modules/dotnetcore2/default.nix
index c885466f5af2..5432bc2888e2 100644
--- a/pkgs/development/python-modules/dotnetcore2/default.nix
+++ b/pkgs/development/python-modules/dotnetcore2/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "dotnetcore2";
-  version = "2.1.9";
+  version = "2.1.11";
   format = "wheel";
   disabled = isPy27;
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     inherit pname version format;
     python = "py3";
     platform = "manylinux1_x86_64";
-    sha256 = "0h1igixk84md68z7gwj1vd6ki4d5drxh0ih5zww8xcr3qh5r0drb";
+    sha256 = "a335fb0abdaaeee7ba128b81b5350adfc5d2b2adf6a64cbc4d1a3b7cdf8560da";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/python-modules/emcee/default.nix b/pkgs/development/python-modules/emcee/default.nix
index 8c720dec3256..dd3d8d394255 100644
--- a/pkgs/development/python-modules/emcee/default.nix
+++ b/pkgs/development/python-modules/emcee/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "emcee";
-  version = "3.0.1";
+  version = "3.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "01mx1w4a7j5p29a3r7ilh9la9n6gnlgwb46m439vrnfgvbvjjy9c";
+    sha256 = "035a44d7594fdd03efd10a522558cdfaa080e046ad75594d0bf2aec80ec35388";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/pkgs/development/python-modules/eyed3/default.nix b/pkgs/development/python-modules/eyed3/default.nix
index a06f276232ef..8ac7b597a4cb 100644
--- a/pkgs/development/python-modules/eyed3/default.nix
+++ b/pkgs/development/python-modules/eyed3/default.nix
@@ -13,13 +13,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.8.10";
+  version = "0.8.11";
   pname    = "eyeD3";
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1jb22n1jczxgbpcnfiw12r8dcs74556g1d09mzms44f52kgs7lgc";
+    sha256 = "0e4c9b9b42257deb9c38c112dbe44e1203dea686d454dc76adb72ded25ac878c";
   };
 
   # https://github.com/nicfit/eyeD3/pull/284
@@ -44,7 +44,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "A Python module and command line program for processing ID3 tags";
-    homepage    = http://eyed3.nicfit.net/;
+    homepage    = https://eyed3.nicfit.net/;
     license     = licenses.gpl2;
     maintainers = with maintainers; [ lovek323 ];
     platforms   = platforms.unix;
diff --git a/pkgs/development/python-modules/faker/default.nix b/pkgs/development/python-modules/faker/default.nix
index 6de5c25c7333..f9155187ca30 100644
--- a/pkgs/development/python-modules/faker/default.nix
+++ b/pkgs/development/python-modules/faker/default.nix
@@ -17,11 +17,11 @@ assert pythonOlder "3.3" -> ipaddress != null;
 
 buildPythonPackage rec {
   pname = "Faker";
-  version = "2.0.3";
+  version = "2.0.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "19zdcdmc11syjbmnbq98yny3dwb5jqw8cxcbq9g2scwzc5f7b32y";
+    sha256 = "6327c665c0d8721280b3036d9c9e851c60092bc1f30c8394cc433f8723e2bda5";
   };
 
   nativeBuildInputs = [ pytestrunner ];
diff --git a/pkgs/development/python-modules/fido2/default.nix b/pkgs/development/python-modules/fido2/default.nix
index 08aa2fe7eb22..e6c9021bdf16 100644
--- a/pkgs/development/python-modules/fido2/default.nix
+++ b/pkgs/development/python-modules/fido2/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "fido2";
-  version = "0.7.1";
+  version = "0.7.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "10i61g8srx1dk0wfjj11s7ka5pv0661ivwg2r0y3y2nsnf5b90s4";
+    sha256 = "8b592ec0e51348f29636706fe3266423a0e41c35c9df63a259a91488450c1285";
   };
 
   propagatedBuildInputs = [ six cryptography ];
diff --git a/pkgs/development/python-modules/fiona/default.nix b/pkgs/development/python-modules/fiona/default.nix
index 0a3e17abacaa..2cd7ad4cf418 100644
--- a/pkgs/development/python-modules/fiona/default.nix
+++ b/pkgs/development/python-modules/fiona/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "Fiona";
-  version = "1.8.9.post2";
+  version = "1.8.11";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "210fb038b579fab38f35ddbdd31b9725f4d5099b3edfd4b87c983e5d47b79983";
+    sha256 = "1e7ca9e051f5bffa1c43c70d573da9ca223fc076b84fa73380614fc02b9eb7f6";
   };
 
   CXXFLAGS = lib.optionalString stdenv.cc.isClang "-std=c++11";
diff --git a/pkgs/development/python-modules/flake8-debugger/default.nix b/pkgs/development/python-modules/flake8-debugger/default.nix
index 3a9647348eff..e6ac743396a0 100644
--- a/pkgs/development/python-modules/flake8-debugger/default.nix
+++ b/pkgs/development/python-modules/flake8-debugger/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "flake8-debugger";
-  version = "3.2.0";
+  version = "3.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6e662f7e75a3ed729d3be7c92e72bde385ab08ec26e7808bf3dfc63445c87857";
+    sha256 = "712d7c1ff69ddf3f0130e94cc88c2519e720760bce45e8c330bfdcb61ab4090d";
   };
 
   nativeBuildInputs = [ pytestrunner ];
diff --git a/pkgs/development/python-modules/flake8/default.nix b/pkgs/development/python-modules/flake8/default.nix
index a10fccfc911d..e76b7cdf2690 100644
--- a/pkgs/development/python-modules/flake8/default.nix
+++ b/pkgs/development/python-modules/flake8/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "flake8";
-  version = "3.7.8";
+  version = "3.7.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "19241c1cbc971b9962473e4438a2ca19749a7dd002dd1a946eaba171b4114548";
+    sha256 = "45681a117ecc81e870cbf1262835ae4af5e7a8b08e40b944a8a6e6b895914cfb";
   };
 
   checkInputs = [ pytest mock pytestrunner ];
diff --git a/pkgs/development/python-modules/flask-admin/default.nix b/pkgs/development/python-modules/flask-admin/default.nix
new file mode 100644
index 000000000000..3a2c1fe5e9b6
--- /dev/null
+++ b/pkgs/development/python-modules/flask-admin/default.nix
@@ -0,0 +1,71 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, nose
+, pillow
+, mongoengine
+, pymongo
+, wtf-peewee
+, sqlalchemy
+, sqlalchemy-citext
+, flask-mongoengine
+, flask_sqlalchemy
+, flask-babelex
+, shapely
+, geoalchemy2
+, psycopg2
+, flask
+, wtforms
+, isPy27
+, enum34
+}:
+
+buildPythonPackage rec {
+  pname = "flask-admin";
+  version = "1.5.3";
+
+  src = fetchPypi {
+    pname = "Flask-Admin";
+    inherit version;
+    sha256 = "ca0be6ec11a6913b73f656c65c444ae5be416c57c75638dd3199376ce6bc7422";
+  };
+
+  checkInputs = [
+    nose
+    pillow
+    mongoengine
+    pymongo
+    wtf-peewee
+    sqlalchemy
+    sqlalchemy-citext
+    flask-mongoengine
+    flask_sqlalchemy
+    flask-babelex
+    shapely
+    geoalchemy2
+    psycopg2
+  ];
+
+  propagatedBuildInputs = [
+    flask
+    wtforms
+  ] ++ lib.optionals isPy27 [ enum34 ];
+
+  checkPhase = ''
+    # disable tests that require mongodb, postresql
+    nosetests \
+     -e "mongoengine" \
+     -e "pymongo" \
+     -e "test_form_upload" \
+     -e "test_postgres" \
+     -e "geoa" \
+     flask_admin/tests
+  '';
+
+  meta = with lib; {
+    description = "Simple and extensible admin interface framework for Flask";
+    homepage = https://github.com/flask-admin/flask-admin/;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/flask-appbuilder/default.nix b/pkgs/development/python-modules/flask-appbuilder/default.nix
new file mode 100644
index 000000000000..46841f68d60f
--- /dev/null
+++ b/pkgs/development/python-modules/flask-appbuilder/default.nix
@@ -0,0 +1,80 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, nose
+, apispec
+, colorama
+, click
+, flask
+, flask-babel
+, flask_login
+, flask-openid
+, flask_sqlalchemy
+, flask_wtf
+, flask-jwt-extended
+, jsonschema
+, marshmallow
+, marshmallow-enum
+, marshmallow-sqlalchemy
+, python-dateutil
+, prison
+, pyjwt
+, pyyaml
+, sqlalchemy-utils
+}:
+
+buildPythonPackage rec {
+  pname = "flask-appbuilder";
+  version = "2.1.6";
+
+  src = fetchPypi {
+    pname = "Flask-AppBuilder";
+    inherit version;
+    sha256 = "a37d7d6a62407a2e0975af5305c795f2fb5c06ecc34e3cf64659d083b1b2dd5f";
+  };
+
+  checkInputs = [
+    nose
+  ];
+
+  propagatedBuildInputs = [
+    apispec
+    colorama
+    click
+    flask
+    flask-babel
+    flask_login
+    flask-openid
+    flask_sqlalchemy
+    flask_wtf
+    flask-jwt-extended
+    jsonschema
+    marshmallow
+    marshmallow-enum
+    marshmallow-sqlalchemy
+    python-dateutil
+    prison
+    pyjwt
+    sqlalchemy-utils
+    pyyaml
+  ];
+
+  postPatch = ''
+   substituteInPlace setup.py \
+     --replace "jsonschema>=3.0.1<4" "jsonschema" \
+     --replace "marshmallow>=2.18.0,<2.20" "marshmallow" \
+     --replace "PyJWT>=1.7.1" "PyJWT" \
+     --replace "Flask-SQLAlchemy>=2.4,<3" "Flask-SQLAlchemy" \
+     --replace "Flask-JWT-Extended>=3.18,<4" "Flask-JWT-Extended"
+  '';
+
+  # majority of tests require network access or mongo
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Simple and rapid application development framework, built on top of Flask";
+    homepage = https://github.com/dpgaspar/flask-appbuilder/;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/flask-babelex/default.nix b/pkgs/development/python-modules/flask-babelex/default.nix
new file mode 100644
index 000000000000..c61967af6bcd
--- /dev/null
+++ b/pkgs/development/python-modules/flask-babelex/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, flask
+, Babel
+, speaklater
+, jinja2
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "flask-babelex";
+  version = "0.9.3";
+
+  src = fetchPypi {
+    inherit version;
+    pname = "Flask-BabelEx";
+    sha256 = "cf79cdedb5ce860166120136b0e059e9d97b8df07a3bc2411f6243de04b754b4";
+  };
+
+  propagatedBuildInputs = [
+    flask
+    Babel
+    speaklater
+    jinja2
+  ];
+
+  checkInputs = [
+    pytest
+  ];
+
+  checkPhase = ''
+    # Disabled 3 tests failing due to string representations of dates:
+    # Like "12. April 2010 um 15:46:00 MESZ" != 12. "April 2010 15:46:00 MESZ"
+
+    pytest tests/tests.py -k "not test_init_app \
+                              and not test_custom_locale_selector \
+                              and not test_basics"
+  '';
+
+  meta = with lib; {
+    description = "Adds i18n/l10n support to Flask applications";
+    homepage = https://github.com/mrjoes/flask-babelex;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/flask-bcrypt/default.nix b/pkgs/development/python-modules/flask-bcrypt/default.nix
new file mode 100644
index 000000000000..dfcdad18f9c6
--- /dev/null
+++ b/pkgs/development/python-modules/flask-bcrypt/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, flask
+, bcrypt
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "flask-bcrypt";
+  version = "0.7.1";
+
+  src = fetchFromGitHub {
+    owner = "maxcountryman";
+    repo = pname;
+    rev = version;
+    sha256 = "0036gag3nj7fzib23lbbpwhlrn1s0kkrfwk5pd90y4cjcfqh8z9x";
+  };
+
+  propagatedBuildInputs = [
+    flask
+    bcrypt
+  ];
+
+  checkPhase = ''
+    ${python.interpreter} test_bcrypt.py
+  '';
+
+  meta = with lib; {
+    description = "Brcrypt hashing for Flask";
+    homepage = https://github.com/maxcountryman/flask-bcrypt;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/flask-mongoengine/default.nix b/pkgs/development/python-modules/flask-mongoengine/default.nix
new file mode 100644
index 000000000000..5e61a2415b7c
--- /dev/null
+++ b/pkgs/development/python-modules/flask-mongoengine/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, flask
+, flask_wtf
+, mongoengine
+, six
+, nose
+, rednose
+, coverage
+}:
+
+buildPythonPackage rec {
+  pname = "flask-mongoengine";
+  version = "0.9.5";
+
+  src = fetchFromGitHub {
+    owner = "MongoEngine";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "05hfddf1dm594wnjyqhj0zmjfsf1kpmx1frjwhypgzx4hf62qcmr";
+  };
+
+  propagatedBuildInputs = [
+    flask
+    flask_wtf
+    mongoengine
+    six
+  ];
+
+  # they set test requirements to setup_requirements...
+  buildInputs = [
+    nose
+    rednose
+    coverage
+  ];
+
+  # tests require working mongodb connection
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Flask-MongoEngine is a Flask extension that provides integration with MongoEngine and WTF model forms";
+    homepage = https://github.com/mongoengine/flask-mongoengine;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/flask-openid/default.nix b/pkgs/development/python-modules/flask-openid/default.nix
new file mode 100644
index 000000000000..c1f9a51a2250
--- /dev/null
+++ b/pkgs/development/python-modules/flask-openid/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, flask
+, python3-openid
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "flask-openid";
+  version = "1.2.5";
+  disable = !isPy3k;
+
+  src = fetchPypi {
+    pname = "Flask-OpenID";
+    inherit version;
+    sha256 = "5a8ffe1c8c0ad1cc1f5030e1223ea27f8861ee0215a2a58a528cc61379e5ccab";
+  };
+
+  propagatedBuildInputs = [
+    flask
+    python3-openid
+  ];
+
+  # no tests for repo...
+  doCheck = false;
+
+  meta = with lib; {
+    description = "OpenID support for Flask";
+    homepage = https://pythonhosted.org/Flask-OpenID/;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/future/default.nix b/pkgs/development/python-modules/future/default.nix
index b74d4cddf6da..dad0372a8c1f 100644
--- a/pkgs/development/python-modules/future/default.nix
+++ b/pkgs/development/python-modules/future/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "future";
-  version = "0.18.1";
+  version = "0.18.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "858e38522e8fd0d3ce8f0c1feaf0603358e366d5403209674c7b617fa0c24093";
+    sha256 = "b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d";
   };
 
   doCheck = false;
diff --git a/pkgs/development/python-modules/geopy/2.nix b/pkgs/development/python-modules/geopy/2.nix
new file mode 100644
index 000000000000..49876872724b
--- /dev/null
+++ b/pkgs/development/python-modules/geopy/2.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy27
+, geographiclib
+}:
+
+buildPythonPackage rec {
+  pname = "geopy";
+  version = "1.20.0";
+
+  disabled = !isPy27; # only Python 2.7
+  doCheck = false; # Needs network access
+
+  propagatedBuildInputs = [ geographiclib ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "9419bc90ee6231590c4ae7acf1cf126cefbd0736942da7a6a1436946e80830e2";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/geopy/geopy";
+    description = "Python Geocoding Toolbox";
+    license = licenses.mit;
+    maintainers = with maintainers; [GuillaumeDesforges];
+  };
+}
diff --git a/pkgs/development/python-modules/geopy/default.nix b/pkgs/development/python-modules/geopy/default.nix
index 3a9e8b86c917..817c1e38418e 100644
--- a/pkgs/development/python-modules/geopy/default.nix
+++ b/pkgs/development/python-modules/geopy/default.nix
@@ -1,31 +1,30 @@
 { stdenv
 , buildPythonPackage
-, fetchPypi
-, isPy27
-, mock
-, tox
-, pylint
+, fetchFromGitHub
+, isPy3k
+, geographiclib
 }:
 
 buildPythonPackage rec {
-  pname = "geopy";
-  version = "1.20.0";
-  disabled = !isPy27;
+  pname = "geopy-unstable";
+  version = "2019-11-10";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "9419bc90ee6231590c4ae7acf1cf126cefbd0736942da7a6a1436946e80830e2";
-  };
+  disabled = !isPy3k; # only Python 3
+  doCheck = false; # Needs network access
 
-  doCheck = false;  # too much
+  propagatedBuildInputs = [ geographiclib ];
 
-  buildInputs = [ mock tox pylint ];
+  src = fetchFromGitHub {
+    owner = "geopy";
+    repo = "geopy";
+    rev = "531b7de6126838a3e69370227aa7f2086ba52b89";
+    sha256 = "07l1pblzg3hb3dbvd9rq8x78ly5dv0zxbc5hwskqil0bhv5v1p39";
+  };
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/geopy/geopy";
     description = "Python Geocoding Toolbox";
     license = licenses.mit;
-    broken = true;
+    maintainers = with maintainers; [GuillaumeDesforges];
   };
-
 }
diff --git a/pkgs/development/python-modules/google-auth-httplib2/default.nix b/pkgs/development/python-modules/google-auth-httplib2/default.nix
index c76f5c572e40..99c9945ea66c 100644
--- a/pkgs/development/python-modules/google-auth-httplib2/default.nix
+++ b/pkgs/development/python-modules/google-auth-httplib2/default.nix
@@ -1,4 +1,5 @@
 { lib
+, isPy3k
 , buildPythonPackage
 , fetchPypi
 , flask
@@ -32,10 +33,13 @@ buildPythonPackage rec {
     py.test
   '';
 
+  # ImportError: No module named google.auth
+  doCheck = isPy3k;
+
   meta = {
     description = "Google Authentication Library: httplib2 transport";
     homepage = https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2;
     license = lib.licenses.asl20;
   };
 
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/google-pasta/default.nix b/pkgs/development/python-modules/google-pasta/default.nix
index e469de924f6a..fc4fb5a46d86 100644
--- a/pkgs/development/python-modules/google-pasta/default.nix
+++ b/pkgs/development/python-modules/google-pasta/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "google-pasta";
-  version = "0.1.7";
+  version = "0.1.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1zmqfvy28i2509277s6sz098kddd16cx21vpxyc8xml1nclcxlbr";
+    sha256 = "713813a9f7d6589e5defdaf21e80e4392eb124662f8bd829acd51a4f8735c0cb";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google_cloud_automl/default.nix b/pkgs/development/python-modules/google_cloud_automl/default.nix
index b317d0cd1546..52248605c757 100644
--- a/pkgs/development/python-modules/google_cloud_automl/default.nix
+++ b/pkgs/development/python-modules/google_cloud_automl/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-automl";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "532cee03a976eedf308c178484b61f80bc4c68991b3bd8eb8f6abd000a217ef7";
+    sha256 = "fa92a77fcc79032dba756b82196a29f63a7b374379bacdb78be128e09b8abc03";
   };
 
   checkInputs = [ pytest mock ];
diff --git a/pkgs/development/python-modules/google_cloud_translate/default.nix b/pkgs/development/python-modules/google_cloud_translate/default.nix
index ebe39e72c055..99494b6886cb 100644
--- a/pkgs/development/python-modules/google_cloud_translate/default.nix
+++ b/pkgs/development/python-modules/google_cloud_translate/default.nix
@@ -3,24 +3,27 @@
 , fetchPypi
 , google_api_core
 , google_cloud_core
+, grpcio
 , pytest
 , mock
 }:
 
 buildPythonPackage rec {
   pname = "google-cloud-translate";
-  version = "1.7.0";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "55b6563121883acce5d80afbf61a59e50d52c429e6ebbfe81a1c8f2734b75e8c";
+    sha256 = "0nfc628nr2k6kd3q9qpgwz7c12l0191rv5x4pvca8q82jl96gip5";
   };
 
-  checkInputs = [ pytest mock ];
-  propagatedBuildInputs = [ google_api_core google_cloud_core ];
+  # google_cloud_core[grpc] -> grpcio
+  propagatedBuildInputs = [ google_api_core google_cloud_core grpcio ];
 
+  checkInputs = [ pytest mock ];
   checkPhase = ''
-    pytest tests/unit
+    cd tests # prevent local google/__init__.py from getting loaded
+    pytest unit
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/gpyopt/default.nix b/pkgs/development/python-modules/gpyopt/default.nix
new file mode 100644
index 000000000000..3ad5cb7d89b5
--- /dev/null
+++ b/pkgs/development/python-modules/gpyopt/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, setuptools
+, numpy, scipy, gpy, emcee, nose }:
+
+buildPythonPackage rec {
+  pname = "GPyOpt";
+  version = "unstable-2019-09-25";
+
+  src = fetchFromGitHub {
+    repo   = pname;
+    owner  = "SheffieldML";
+    rev    = "249b8ff29c52c12ed867f145a627d529372022d8";
+    sha256 = "1ywaw1kpdr7dv4s4cr7afmci86sw7w61178gs45b0lq08652zdlb";
+  };
+
+  doCheck = false;  # requires several packages not available in Nix
+
+  checkInputs = [ nose ];
+
+  checkPhase = "nosetests -v GPyOpt/testing";
+
+  propagatedBuildInputs = [ setuptools numpy scipy gpy emcee ];
+
+  meta = with stdenv.lib; {
+    description = "Bayesian optimization toolbox in Python";
+    homepage = https://sheffieldml.github.io/GPyOpt;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ bcdarwin ];
+  };
+}
diff --git a/pkgs/development/python-modules/graph_nets/default.nix b/pkgs/development/python-modules/graph_nets/default.nix
index c262331a6e13..6b2536d37b39 100644
--- a/pkgs/development/python-modules/graph_nets/default.nix
+++ b/pkgs/development/python-modules/graph_nets/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "graph_nets";
-  version = "1.0.4";
+  version = "1.0.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6f27f0358a477d4ec3ab300bf09944b4dfdd5c10b0a5f7ac06bcb32d1327ebe1";
+    sha256 = "73e98a5930c6c7b609257ada2cf4523db70810343e0593bf0fa710b77e991933";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/graphite-web/default.nix b/pkgs/development/python-modules/graphite-web/default.nix
index ecdb76173fa1..88e3118d4561 100644
--- a/pkgs/development/python-modules/graphite-web/default.nix
+++ b/pkgs/development/python-modules/graphite-web/default.nix
@@ -6,13 +6,13 @@ if django.version != "1.8.19"
 then throw "graphite-web should be build with django_1_8 and django_tagging_0_4_3"
 else buildPythonPackage rec {
   pname = "graphite-web";
-  version = "1.1.5";
+  version = "1.1.6";
 
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d43945d190f2b3a6d18daa6ace9a1bd3695e93dc593f50cd72c2af420883b99d";
+    sha256 = "f4c293008ad588456397cd125cdad7f47f4bab5b6dd82b5fb69f5467e7346a2a";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/gunicorn/default.nix b/pkgs/development/python-modules/gunicorn/default.nix
index 58d5c414cf0a..16c6921cdd6b 100644
--- a/pkgs/development/python-modules/gunicorn/default.nix
+++ b/pkgs/development/python-modules/gunicorn/default.nix
@@ -1,5 +1,10 @@
 { stdenv, buildPythonPackage, fetchPypi
-, pytest, mock, pytestcov, coverage }:
+, coverage
+, mock
+, pytest
+, pytestcov
+, setuptools
+}:
 
 buildPythonPackage rec {
   pname = "gunicorn";
@@ -10,6 +15,8 @@ buildPythonPackage rec {
     sha256 = "fa2662097c66f920f53f70621c6c58ca4a3c4d3434205e608e121b5b3b71f4f3";
   };
 
+  propagatedBuildInputs = [ setuptools ];
+
   checkInputs = [ pytest mock pytestcov coverage ];
 
   prePatch = ''
@@ -17,9 +24,12 @@ buildPythonPackage rec {
       --replace "coverage>=4.0,<4.4" "coverage"
   '';
 
-  # Test failures but patch does not apply cleanly
-  # https://github.com/benoitc/gunicorn/commit/f38f717539b1b7296720805b8ae3969c3509b9c1
-  doCheck = false;
+  # better than no tests
+  checkPhase = ''
+    $out/bin/gunicorn --help > /dev/null
+  '';
+
+  pythonImportsCheck = [ "gunicorn" ];
 
   meta = with stdenv.lib; {
     homepage = https://pypi.python.org/pypi/gunicorn;
diff --git a/pkgs/development/python-modules/gym/default.nix b/pkgs/development/python-modules/gym/default.nix
index 52171470c271..d90ded1fb5fa 100644
--- a/pkgs/development/python-modules/gym/default.nix
+++ b/pkgs/development/python-modules/gym/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "gym";
-  version = "0.15.3";
+  version = "0.15.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "18381e13bbd1e2f206a1b88a2af4fb87affd7d06ee7955a6e5e6a79478a9adfc";
+    sha256 = "3b930cbe1c76bbd30455b5e82ba723dea94159a5f988e927f443324bf7cc7ddd";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/handout/default.nix b/pkgs/development/python-modules/handout/default.nix
index eb6cca3e6ec6..c5c111845d15 100644
--- a/pkgs/development/python-modules/handout/default.nix
+++ b/pkgs/development/python-modules/handout/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "handout";
-  version = "1.1.1";
+  version = "1.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "dbe5da9b422fa937b94a1a5221ce99387ebd75fe97ab4255e49b26d846b8614b";
+    sha256 = "52daaf1f9a4cb2ceb88c1dedf85d22ef449b9422b424a2534d21f941e57bc915";
   };
 
   propagatedBuildInputs = [ imageio imageio-ffmpeg ];
diff --git a/pkgs/development/python-modules/hiredis/default.nix b/pkgs/development/python-modules/hiredis/default.nix
index 4403071cb8fc..c22de6d8a669 100644
--- a/pkgs/development/python-modules/hiredis/default.nix
+++ b/pkgs/development/python-modules/hiredis/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "hiredis";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "158pymdlnv4d218w66i8kzdn4ka30l1pdwa0wyjh16bj10zraz79";
+    sha256 = "aa59dd63bb3f736de4fc2d080114429d5d369dfb3265f771778e8349d67a97a4";
   };
   propagatedBuildInputs = [ redis ];
 
diff --git a/pkgs/development/python-modules/html5-parser/default.nix b/pkgs/development/python-modules/html5-parser/default.nix
index f3b24b3d371e..db59bb49cf23 100644
--- a/pkgs/development/python-modules/html5-parser/default.nix
+++ b/pkgs/development/python-modules/html5-parser/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "html5-parser";
-  version = "0.4.8";
+  version = "0.4.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "00d1zfk72xzyibh7l4ib57y0isn5gic7avgbh7afbkk99iwd5smi";
+    sha256 = "25fe8f6848cbc15187f6748c0695df32bcf1b37df6420b6a01b4ebe1ec1ed48f";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/python-modules/hupper/default.nix b/pkgs/development/python-modules/hupper/default.nix
index 3d8f07793f9e..33f76f0a2486 100644
--- a/pkgs/development/python-modules/hupper/default.nix
+++ b/pkgs/development/python-modules/hupper/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "hupper";
-  version = "1.9";
+  version = "1.9.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "afd4e7beedc7417fed12cb2e15a21610c73cb08821c7f09aa926be24d4038dae";
+    sha256 = "3b1c2222ec7b8159e7ad059e4493c6cc634c86184af0bf2ce5aba6edd241cf5f";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/hvplot/default.nix b/pkgs/development/python-modules/hvplot/default.nix
index 176258a10e01..2079f849769d 100644
--- a/pkgs/development/python-modules/hvplot/default.nix
+++ b/pkgs/development/python-modules/hvplot/default.nix
@@ -12,6 +12,7 @@
 , xarray
 , networkx
 , streamz
+, colorcet
 }:
 
 buildPythonPackage rec {
@@ -26,6 +27,7 @@ buildPythonPackage rec {
   checkInputs = [ pytest parameterized nbsmoke flake8 coveralls xarray networkx streamz ];
   propagatedBuildInputs = [
     bokeh
+    colorcet
     holoviews
     pandas
   ];
diff --git a/pkgs/development/python-modules/imbalanced-learn/0.4.nix b/pkgs/development/python-modules/imbalanced-learn/0.4.nix
index c1ff24711e80..e7d2c2f37148 100644
--- a/pkgs/development/python-modules/imbalanced-learn/0.4.nix
+++ b/pkgs/development/python-modules/imbalanced-learn/0.4.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "imbalanced-learn";
-  version = "0.5.0";
+  version = "0.4.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5df760537886678ef9e25f5bad96d194c5fc66f62de84488069acf5d4b0119d5";
+    sha256 = "5bd9e86e40ce4001a57426541d7c79b18143cbd181e3330c1a3e5c5c43287083";
   };
 
   propagatedBuildInputs = [ scikitlearn ];
diff --git a/pkgs/development/python-modules/imbalanced-learn/default.nix b/pkgs/development/python-modules/imbalanced-learn/default.nix
index 6de97aff7d3e..d8e35d3fcea2 100644
--- a/pkgs/development/python-modules/imbalanced-learn/default.nix
+++ b/pkgs/development/python-modules/imbalanced-learn/default.nix
@@ -24,7 +24,8 @@ buildPythonPackage rec {
     # or very large dependencies (keras + tensorflow)
     py.test imblearn -k 'not estimator \
                          and not classification \
-                         and not _generator'
+                         and not _generator \
+                         and not show_versions'
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/inotify-simple/default.nix b/pkgs/development/python-modules/inotify-simple/default.nix
index 2d5e9d780945..10c64fa6b3f4 100644
--- a/pkgs/development/python-modules/inotify-simple/default.nix
+++ b/pkgs/development/python-modules/inotify-simple/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "inotify-simple";
-  version = "1.1.8";
+  version = "1.2.1";
 
   src = fetchPypi {
     pname = "inotify_simple";
     inherit version;
-    sha256 = "1pfqvnynwh318cakldhg7535kbs02asjsgv6s0ki12i7fgfi0b7w";
+    sha256 = "132craajflksgxxwjawj73nn1ssv8jn58j3k5vvyiq03avbz4sfv";
   };
 
   # The package has no tests
diff --git a/pkgs/development/python-modules/javaproperties/default.nix b/pkgs/development/python-modules/javaproperties/default.nix
new file mode 100644
index 000000000000..a03aa9ec18bb
--- /dev/null
+++ b/pkgs/development/python-modules/javaproperties/default.nix
@@ -0,0 +1,32 @@
+{ lib, buildPythonPackage, fetchFromGitHub
+, six
+, pytest
+, dateutil
+}:
+
+buildPythonPackage rec {
+  version = "0.5.2";
+  pname = "javaproperties";
+
+  src = fetchFromGitHub {
+    owner = "jwodder";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "14hrp94cjj44yldf3k71wbq88cmlf01dfadi53gcirnsa56ddz5d";
+  };
+
+  propagatedBuildInputs = [ six ];
+
+  checkInputs = [ dateutil pytest ];
+  checkPhase = ''
+    rm tox.ini
+    pytest -k 'not dumps and not time' --ignore=test/test_propclass.py
+  '';
+
+  meta = with lib; {
+    description = "Microsoft Azure API Management Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/jdatetime/default.nix b/pkgs/development/python-modules/jdatetime/default.nix
index 0155cf665bd8..1fbdd510e714 100644
--- a/pkgs/development/python-modules/jdatetime/default.nix
+++ b/pkgs/development/python-modules/jdatetime/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "jdatetime";
-  version = "3.6.1";
+  version = "3.6.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "72f8c72873f9d3f536a696014e4ebffe431a644d7aa95db18c52e086d23b2939";
+    sha256 = "a589e35f0dab89283c1a3de9d70ed6cf657932aaed8e8ce1b0e5801aaab1da67";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/jenkins-job-builder/default.nix b/pkgs/development/python-modules/jenkins-job-builder/default.nix
index 184c86e92681..4cdef182ca78 100644
--- a/pkgs/development/python-modules/jenkins-job-builder/default.nix
+++ b/pkgs/development/python-modules/jenkins-job-builder/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "jenkins-job-builder";
-  version = "3.0.2";
+  version = "3.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "02ggscsyrrqk06w9lb43km77qgcj8cixrrm5mkigr4gz2pzdjhmf";
+    sha256 = "1wcmn01md6hykblk5zz8wd5zizyisspspakz446jg2kqfv4y3q03";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/jenkinsapi/default.nix b/pkgs/development/python-modules/jenkinsapi/default.nix
index 8d8f6b53ceb8..bf5877c9f08c 100644
--- a/pkgs/development/python-modules/jenkinsapi/default.nix
+++ b/pkgs/development/python-modules/jenkinsapi/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "jenkinsapi";
-  version = "0.3.10";
+  version = "0.3.11";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fc2fcdf95d954d9bbbdb1303a2c3c32997935655c99aff300f1759dba3cebc6d";
+    sha256 = "a212a244b0a6022a61657746c8120ac9b6db83432371b345154075eb8faceb61";
   };
 
   propagatedBuildInputs = [ pytz requests ];
diff --git a/pkgs/development/python-modules/json-merge-patch/default.nix b/pkgs/development/python-modules/json-merge-patch/default.nix
new file mode 100644
index 000000000000..b0bc2a835c41
--- /dev/null
+++ b/pkgs/development/python-modules/json-merge-patch/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, fetchpatch
+}:
+
+buildPythonPackage rec {
+  pname = "json-merge-patch";
+  version = "0.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "09898b6d427c08754e2a97c709cf2dfd7e28bd10c5683a538914975eab778d39";
+  };
+
+  patches = [
+    # This prevented tests from running (was using a relative import)
+    # https://github.com/OpenDataServices/json-merge-patch/pull/1
+   (fetchpatch {
+     name = "fully-qualified-json-merge-patch-import-on-tests";
+     url = https://patch-diff.githubusercontent.com/raw/OpenDataServices/json-merge-patch/pull/1.patch;
+     sha256 = "1k6xsrxsmz03nwcqsf4gf0zsfnl2r20n83npic8z6bqlpl4lidl4";
+   })
+  ];
+
+  meta = with lib; {
+    description = "JSON Merge Patch library";
+    homepage = https://github.com/open-contracting/json-merge-patch;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/jsonrpc-async/default.nix b/pkgs/development/python-modules/jsonrpc-async/default.nix
index d4bc1dd523d5..e18f3bc9b3da 100644
--- a/pkgs/development/python-modules/jsonrpc-async/default.nix
+++ b/pkgs/development/python-modules/jsonrpc-async/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "jsonrpc-async";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "488ab3b63a96c246f7ded14b3458eb13a36e3e16eb4319aa56806476517c7433";
+    sha256 = "383f331e28cd8f6e3fa86f3e7052efa541b7ae8bf328a4e692aa045cfc0ecf25";
   };
 
   propagatedBuildInputs = [ aiohttp jsonrpc-base ];
diff --git a/pkgs/development/python-modules/jsonrpc-base/default.nix b/pkgs/development/python-modules/jsonrpc-base/default.nix
index 35244e092da3..a26a040eedd2 100644
--- a/pkgs/development/python-modules/jsonrpc-base/default.nix
+++ b/pkgs/development/python-modules/jsonrpc-base/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "jsonrpc-base";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f9baac32aa51c3052d03b86ff30a9856900b8b4a4eb175f7bf2c8722520b8637";
+    sha256 = "7bda99589b4566f5027c2aeae122f409d8ccf4c811b278b8cfb616903871efb2";
   };
 
   propagatedBuildInputs = [ ];
diff --git a/pkgs/development/python-modules/jsonrpc-websocket/default.nix b/pkgs/development/python-modules/jsonrpc-websocket/default.nix
index eff4f41979a2..8361e37239e8 100644
--- a/pkgs/development/python-modules/jsonrpc-websocket/default.nix
+++ b/pkgs/development/python-modules/jsonrpc-websocket/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "jsonrpc-websocket";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e74e490fefa3b8f33620fca98f7cd9a53fb765b9ed6f78360482a3f364230885";
+    sha256 = "f1aaca95db795d6a9f7bba52ff83c7fd4139050d0df93ee3a5a448adcfa0c0ac";
   };
 
   propagatedBuildInputs = [ aiohttp jsonrpc-base ];
diff --git a/pkgs/development/python-modules/jupyterlab/default.nix b/pkgs/development/python-modules/jupyterlab/default.nix
index 1b16ff9b47c4..520f342cc1d2 100644
--- a/pkgs/development/python-modules/jupyterlab/default.nix
+++ b/pkgs/development/python-modules/jupyterlab/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab";
-  version = "1.2.2";
+  version = "1.2.3";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "96d3146eb09ffa0a198f31b36706859dadd4a59ed184aa9329a9c12733e6af0b";
+    sha256 = "2188a9bcaaf0b6a68ff9098a481f37ece8231634b862fd3c9adedc466aac79f2";
   };
 
   propagatedBuildInputs = [ jupyterlab_server notebook ];
diff --git a/pkgs/development/python-modules/kconfiglib/default.nix b/pkgs/development/python-modules/kconfiglib/default.nix
index c6007bc0b425..ace5b862825d 100644
--- a/pkgs/development/python-modules/kconfiglib/default.nix
+++ b/pkgs/development/python-modules/kconfiglib/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "kconfiglib";
-  version = "13.1.1";
+  version = "13.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b44af5a6dc0c716926c926ba4c1f301ce286b3a3f292ae359a866eb01dc5260e";
+    sha256 = "045yjmn6xqbyb68l1jqlgi3c8cwlw1krsrlfwrrgjijkmbx6yqmd";
   };
 
   # doesnt work out of the box but might be possible
diff --git a/pkgs/development/python-modules/keyring/2.nix b/pkgs/development/python-modules/keyring/2.nix
new file mode 100644
index 000000000000..ce4aa145e8ee
--- /dev/null
+++ b/pkgs/development/python-modules/keyring/2.nix
@@ -0,0 +1,33 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, dbus-python, setuptools_scm, entrypoints, secretstorage
+, pytest, pytest-flake8 }:
+
+buildPythonPackage rec {
+  pname = "keyring";
+  version = "18.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0f58jq58jhfzlhix7x2zz7c4ycdvcs1z3sgs4lkr4xxx680wrmk7";
+  };
+
+  nativeBuildInputs = [ setuptools_scm ];
+
+  checkInputs = [ pytest pytest-flake8 ];
+
+  propagatedBuildInputs = [ dbus-python entrypoints ] ++ stdenv.lib.optional stdenv.isLinux secretstorage;
+
+  doCheck = !stdenv.isDarwin;
+
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Store and access your passwords safely";
+    homepage    = "https://pypi.python.org/pypi/keyring";
+    license     = licenses.psfl;
+    maintainers = with maintainers; [ lovek323 orivej ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/development/python-modules/klaus/default.nix b/pkgs/development/python-modules/klaus/default.nix
index 687798735d3e..c9c98cc97012 100644
--- a/pkgs/development/python-modules/klaus/default.nix
+++ b/pkgs/development/python-modules/klaus/default.nix
@@ -2,13 +2,13 @@
 
 python.pkgs.buildPythonPackage rec {
   pname = "klaus";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "jonashaag";
     repo = pname;
     rev = version;
-    sha256 = "041l5dpymi9h0yyr55r6m0skp0m2ags3miay0s1bgfcp469k0l20";
+    sha256 = "0pagyqfcj47ghd9m7b32hvi17hbl19f0wallkz6ncvmvvy919lfz";
   };
 
   prePatch = ''
diff --git a/pkgs/development/python-modules/kmapper/default.nix b/pkgs/development/python-modules/kmapper/default.nix
index 3904473f1a3e..67b9343ecca5 100644
--- a/pkgs/development/python-modules/kmapper/default.nix
+++ b/pkgs/development/python-modules/kmapper/default.nix
@@ -44,7 +44,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Python implementation of Mapper algorithm for Topological Data Analysis";
-    homepage = http://kepler-mapper.scikit-tda.org;
+    homepage = https://kepler-mapper.scikit-tda.org/;
     license = licenses.mit;
     maintainers = [ maintainers.costrouc ];
   };
diff --git a/pkgs/development/python-modules/kombu/default.nix b/pkgs/development/python-modules/kombu/default.nix
index a159b6c7e082..323ab341ec6a 100644
--- a/pkgs/development/python-modules/kombu/default.nix
+++ b/pkgs/development/python-modules/kombu/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "kombu";
-  version = "4.6.5";
+  version = "4.6.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c9078124ce2616b29cf6607f0ac3db894c59154252dee6392cdbbe15e5c4b566";
+    sha256 = "1760b54b1d15a547c9a26d3598a1c8cdaf2436386ac1f5561934bc8a3cbbbd86";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/lark-parser/default.nix b/pkgs/development/python-modules/lark-parser/default.nix
index abd3a491b20a..38e51ac0ac68 100644
--- a/pkgs/development/python-modules/lark-parser/default.nix
+++ b/pkgs/development/python-modules/lark-parser/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "lark-parser";
-  version = "0.7.7";
+  version = "0.7.8";
 
   src = fetchFromGitHub {
     owner = "lark-parser";
     repo = "lark";
     rev = version;
-    sha256 = "1b0dvvqqasir8dfpqj4jch7wxxk43csbv0wa80fiqsdlymxxj2dj";
+    sha256 = "0gd5c3scpyir3h8clhwb5jsf8dkmh1vh7rx8135lkx9fxx01q0az";
   };
 
   # tests of Nearley support require js2py
diff --git a/pkgs/development/python-modules/lazr/config.nix b/pkgs/development/python-modules/lazr/config.nix
index 759c9689bc93..d8a895c8357b 100644
--- a/pkgs/development/python-modules/lazr/config.nix
+++ b/pkgs/development/python-modules/lazr/config.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "lazr.config";
-  version = "2.2.1";
+  version = "2.2.2";
 
   propagatedBuildInputs = [ lazr_delegates ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1s7pyvlq06qjrkaw9r6nc290lb095n25ybzgavvy51ygpxkgqxwn";
+    sha256 = "cdb9a70dac4a76ca1ff3528d9eafe5414c6c69c1b92e7e84d3477ae85f6bb787";
   };
 }
diff --git a/pkgs/development/python-modules/lazy-object-proxy/default.nix b/pkgs/development/python-modules/lazy-object-proxy/default.nix
index e0381642715a..f174aa1066ca 100644
--- a/pkgs/development/python-modules/lazy-object-proxy/default.nix
+++ b/pkgs/development/python-modules/lazy-object-proxy/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "lazy-object-proxy";
-  version = "1.4.2";
+  version = "1.4.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fd135b8d35dfdcdb984828c84d695937e58cc5f49e1c854eb311c4d6aa03f4f1";
+    sha256 = "f3900e8a5de27447acbf900b4750b0ddfd7ec1ea7fbaf11dfa911141bc522af0";
   };
 
   nativeBuildInputs = [ setuptools_scm ];
diff --git a/pkgs/development/python-modules/ledgerblue/default.nix b/pkgs/development/python-modules/ledgerblue/default.nix
index 51c5b80a6ac2..8d50f9846cc7 100644
--- a/pkgs/development/python-modules/ledgerblue/default.nix
+++ b/pkgs/development/python-modules/ledgerblue/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "ledgerblue";
-  version = "0.1.29";
+  version = "0.1.31";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "14zv8bp62r1fwrrpbwyg9a3s5dl76lbhd8lv16xim0w55p9vvixn";
+    sha256 = "f1fc7ab685780309a7220c6ee517d88072cc594a9615bcc18e68ed5f149fa432";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/libcloud/default.nix b/pkgs/development/python-modules/libcloud/default.nix
index 734a51c7be61..381c3a2731a5 100644
--- a/pkgs/development/python-modules/libcloud/default.nix
+++ b/pkgs/development/python-modules/libcloud/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "apache-libcloud";
-  version = "2.6.0";
+  version = "2.6.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1spjkw5nxhbawblj5db8izff05kjw425iyydipajb7qh73vm25r0";
+    sha256 = "fcc165f2cc2db9a379c6d3a17b3beb9081bb64ba5c0bf7bbb58da864810092f0";
   };
 
   checkInputs = [ mock pytest pytestrunner requests-mock ];
diff --git a/pkgs/development/python-modules/license-expression/default.nix b/pkgs/development/python-modules/license-expression/default.nix
index 177949fbd51e..e934c5194285 100644
--- a/pkgs/development/python-modules/license-expression/default.nix
+++ b/pkgs/development/python-modules/license-expression/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "license-expression";
-  version = "1.0";
+  version = "1.2";
 
   src = fetchFromGitHub {
     owner = "nexB";
     repo = "license-expression";
     rev = "v${version}";
-    sha256 = "15dk3j5sr8iypzqqa8wa12b2a84f6ssbfvam1c1vzz00y2y5v3ic";
+    sha256 = "0bbd7d90z58p9sd01b00g0vfd9bmwzksjb7pc8833s2jpja9mxz1";
   };
   postPatch = "patchShebangs ./configure";
 
diff --git a/pkgs/development/python-modules/logilab/common.nix b/pkgs/development/python-modules/logilab/common.nix
index 2dd997765cf3..99ff8d45e6a7 100644
--- a/pkgs/development/python-modules/logilab/common.nix
+++ b/pkgs/development/python-modules/logilab/common.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "logilab-common";
-  version = "1.4.3";
+  version = "1.4.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1zw8bijlcmqrigsqvzj7gwh3qbd33dmpi9ij6h56b41x0dpm957d";
+    sha256 = "8c1bf26431a3b487940cd4a7c0eefde328f5ff7098222ee695805752dae94aa6";
   };
 
   propagatedBuildInputs = [ unittest2 six ];
diff --git a/pkgs/development/python-modules/m2crypto/default.nix b/pkgs/development/python-modules/m2crypto/default.nix
index cd9781dbc889..56e1de49f20a 100644
--- a/pkgs/development/python-modules/m2crypto/default.nix
+++ b/pkgs/development/python-modules/m2crypto/default.nix
@@ -1,7 +1,9 @@
 { stdenv
+, lib
 , fetchpatch
 , buildPythonPackage
 , fetchPypi
+, pythonOlder
 , swig2
 , openssl
 , typing
@@ -28,7 +30,7 @@ buildPythonPackage rec {
   nativeBuildInputs = [ swig2 ];
   buildInputs = [ swig2 openssl ];
 
-  propagatedBuildInputs = [ typing ];
+  propagatedBuildInputs = lib.optional (pythonOlder "3.5") typing;
 
   preConfigure = ''
     substituteInPlace setup.py --replace "self.openssl = '/usr'" "self.openssl = '${openssl.dev}'"
diff --git a/pkgs/development/python-modules/mahotas/default.nix b/pkgs/development/python-modules/mahotas/default.nix
index 101468da09f4..dc18f5ac405f 100644
--- a/pkgs/development/python-modules/mahotas/default.nix
+++ b/pkgs/development/python-modules/mahotas/default.nix
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Computer vision package based on numpy";
-    homepage = http://mahotas.readthedocs.io/;
+    homepage = https://mahotas.readthedocs.io/;
     maintainers = with maintainers; [ luispedro ];
     license = licenses.mit;
     platforms = platforms.unix;
diff --git a/pkgs/development/python-modules/marshmallow-enum/default.nix b/pkgs/development/python-modules/marshmallow-enum/default.nix
new file mode 100644
index 000000000000..9d68e66c91ab
--- /dev/null
+++ b/pkgs/development/python-modules/marshmallow-enum/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, marshmallow
+, pytestCheckHook
+, isPy27
+, enum34
+, pytest-flake8
+}:
+
+buildPythonPackage rec {
+  pname = "marshmallow-enum";
+  version = "1.5.1";
+
+  src = fetchFromGitHub {
+    owner = "justanr";
+    repo = "marshmallow_enum";
+    rev = "v${version}";
+    sha256 = "1ihrcmyfjabivg6hc44i59hnw5ijlg1byv3zs1rqxfynp8xr7398";
+  };
+
+  propagatedBuildInputs = [
+    marshmallow
+  ] ++ lib.optionals isPy27 [ enum34 ];
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-flake8
+  ];
+
+  disabledTests = [
+    "test_custom_error_in_deserialize_by_name"
+    "test_custom_error_in_deserialize_by_value"
+  ];
+
+  meta = with lib; {
+    description = "Enum field for Marshmallow";
+    homepage = https://github.com/justanr/marshmallow_enum;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/marshmallow/default.nix b/pkgs/development/python-modules/marshmallow/default.nix
index 0ab947ec254f..5b07fe244413 100644
--- a/pkgs/development/python-modules/marshmallow/default.nix
+++ b/pkgs/development/python-modules/marshmallow/default.nix
@@ -4,7 +4,7 @@
 
 buildPythonPackage rec {
   pname = "marshmallow";
-  version = "3.2.1";
+  version = "3.2.2";
 
   meta = {
     homepage = "https://github.com/marshmallow-code/marshmallow";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9a2f3e8ea5f530a9664e882d7d04b58650f46190178b2264c72b7d20399d28f0";
+    sha256 = "1a358beb89c2b4d5555272065a9533591a3eb02f1b854f3c4002d88d8f2a1ddb";
   };
 
   propagatedBuildInputs = [ dateutil simplejson ];
diff --git a/pkgs/development/python-modules/matrix-nio/default.nix b/pkgs/development/python-modules/matrix-nio/default.nix
new file mode 100644
index 000000000000..9f5a086f2ee5
--- /dev/null
+++ b/pkgs/development/python-modules/matrix-nio/default.nix
@@ -0,0 +1,50 @@
+{ lib, buildPythonPackage, fetchFromGitHub, git,
+  attrs, future, peewee, h11, h2, atomicwrites, pycryptodome, sphinx, Logbook, jsonschema,
+  python-olm, unpaddedbase64, aiohttp, cachetools }:
+
+buildPythonPackage rec {
+  pname = "nio";
+  version = "0.6";
+
+  src = fetchFromGitHub {
+    owner = "poljar";
+    repo = "matrix-nio";
+    rev = version;
+    sha256 = "0pq5i6ks3pck2kq9m4p3pw9hbvkzs27xkyv68mjnfc6chp2g2mg9";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace 'python-olm>=3.1.0' ""
+  '';
+
+  nativeBuildInputs = [
+    git
+  ];
+
+  propagatedBuildInputs = [
+    attrs
+    future
+    peewee
+    h11
+    h2
+    atomicwrites
+    pycryptodome
+    sphinx
+    Logbook
+    jsonschema
+    python-olm
+    unpaddedbase64
+    aiohttp
+    cachetools
+  ];
+
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A Python Matrix client library, designed according to sans I/O principles";
+    homepage = "https://github.com/poljar/matrix-nio";
+    license = licenses.isc;
+    maintainers = [ maintainers.tilpner ];
+  };
+}
diff --git a/pkgs/development/python-modules/mechanize/default.nix b/pkgs/development/python-modules/mechanize/default.nix
index 882872d47e14..9669bcc30e70 100644
--- a/pkgs/development/python-modules/mechanize/default.nix
+++ b/pkgs/development/python-modules/mechanize/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "mechanize";
-  version = "0.4.3";
+  version = "0.4.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1gyxkwjnabqf8xxnkj787xh2dpcnm858g369fnahdcz1wn5hdmyp";
+    sha256 = "9fff89e973bdf1aee75a351bd4dde53ca51a7e76944ddeae3ea3b6ad6c46045c";
   };
 
   propagatedBuildInputs = [ html5lib ];
diff --git a/pkgs/development/python-modules/meinheld/default.nix b/pkgs/development/python-modules/meinheld/default.nix
index 31892d12a1f7..f1291a14f3f4 100644
--- a/pkgs/development/python-modules/meinheld/default.nix
+++ b/pkgs/development/python-modules/meinheld/default.nix
@@ -16,7 +16,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "High performance asynchronous Python WSGI Web Server";
-    homepage = http://meinheld.org/;
+    homepage = https://meinheld.org/;
     license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/python-modules/micawber/default.nix b/pkgs/development/python-modules/micawber/default.nix
index b5fd1d334584..003234c2adfc 100644
--- a/pkgs/development/python-modules/micawber/default.nix
+++ b/pkgs/development/python-modules/micawber/default.nix
@@ -12,7 +12,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ beautifulsoup4 ];
 
   meta = with stdenv.lib; {
-    homepage = http://micawber.readthedocs.io/en/latest/;
+    homepage = https://micawber.readthedocs.io/en/latest/;
     description = "A small library for extracting rich content from urls";
     license = licenses.mit;
     longDescription = ''
diff --git a/pkgs/development/python-modules/minio/default.nix b/pkgs/development/python-modules/minio/default.nix
index 623a191bbb8e..61567d851e9b 100644
--- a/pkgs/development/python-modules/minio/default.nix
+++ b/pkgs/development/python-modules/minio/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "minio";
-  version = "5.0.1";
+  version = "5.0.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8f7ba1ca0750dfca3302cb03b14a92bf5f1c755ff84f9ba268079bf582e0f735";
+    sha256 = "a5886b3ccb9b46cb4a322a486e06674d1f287b773f20b24cdc3de8450ff935a7";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/mnist/default.nix b/pkgs/development/python-modules/mnist/default.nix
new file mode 100644
index 000000000000..022cd3a2e02b
--- /dev/null
+++ b/pkgs/development/python-modules/mnist/default.nix
@@ -0,0 +1,36 @@
+{ buildPythonPackage, fetchFromGitHub, isPy27, lib, mock, numpy, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "mnist";
+  version = "0.2.2";
+
+  src = fetchFromGitHub {
+    owner = "datapythonista";
+    repo = "mnist";
+    rev = "${pname}-${version}";
+    sha256 = "17r37pbxiv5dw857bmg990x836gq6sgww069w3q5jjg9m3xdm7dh";
+  };
+
+  propagatedBuildInputs = [ numpy ] ++ lib.optional isPy27 mock;
+
+  checkInputs = [ pytestCheckHook ];
+
+  dontUseSetuptoolsCheck = true;
+
+  # disable tests which fail due to socket related errors
+  disabledTests = [
+    "test_test_images_has_right_size"
+    "test_test_labels_has_right_size"
+    "test_train_images_has_right_size"
+    "test_train_labels_has_right_size"
+  ];
+
+  meta = with lib; {
+    description = "Python utilities to download and parse the MNIST dataset";
+    homepage = "https://github.com/datapythonista/mnist";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ dmrauh ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/mock/default.nix b/pkgs/development/python-modules/mock/default.nix
index 87b6fbeabdc7..6978bee000a3 100644
--- a/pkgs/development/python-modules/mock/default.nix
+++ b/pkgs/development/python-modules/mock/default.nix
@@ -1,7 +1,7 @@
-{ stdenv
+{ lib
 , buildPythonPackage
 , fetchPypi
-, unittest2
+, isPy27
 , funcsigs
 , six
 , pbr
@@ -17,8 +17,7 @@ buildPythonPackage rec {
     sha256 = "83657d894c90d5681d62155c82bda9c1187827525880eda8ff5df4ec813437c3";
   };
 
-  buildInputs = [ unittest2 ];
-  propagatedBuildInputs = [ funcsigs six pbr ];
+  propagatedBuildInputs = [ six pbr ] ++ lib.optionals isPy27 [ funcsigs ];
 
   # 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
@@ -30,10 +29,10 @@ buildPythonPackage rec {
     ${python.interpreter} -m unittest discover
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Mock objects for Python";
     homepage = http://python-mock.sourceforge.net/;
-    license = stdenv.lib.licenses.bsd2;
+    license = licenses.bsd2;
   };
 
 }
diff --git a/pkgs/development/python-modules/moderngl/default.nix b/pkgs/development/python-modules/moderngl/default.nix
index a45a24b7a2a9..5802b33041f0 100644
--- a/pkgs/development/python-modules/moderngl/default.nix
+++ b/pkgs/development/python-modules/moderngl/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "moderngl";
-  version = "5.5.3";
+  version = "5.5.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1k2yf2yglzx65gcv2bqql6w6lmgyp3f1jz4ddq9vylf09a8j7fga";
+    sha256 = "08badabb6a1bbc9aa9e65fae8ecd3275d8342cb45d9c457b19e32b3312a8b663";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/mongoengine/default.nix b/pkgs/development/python-modules/mongoengine/default.nix
new file mode 100644
index 000000000000..db20d9442ef1
--- /dev/null
+++ b/pkgs/development/python-modules/mongoengine/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pymongo
+, six
+, blinker
+, nose
+, pillow
+, coverage
+}:
+
+buildPythonPackage rec {
+  pname = "mongoengine";
+  version = "0.18.2";
+
+  src = fetchFromGitHub {
+    owner = "MongoEngine";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0gx091h9rcykdj233srrl3dfc0ly52p6r4qc9ah6z0f694kmqj1v";
+  };
+
+  propagatedBuildInputs = [
+    pymongo
+    six
+  ];
+
+  checkInputs = [
+    nose
+    pillow
+    coverage
+    blinker
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "coverage==4.2" "coverage"
+  '';
+
+  # tests require mongodb running in background
+  doCheck = false;
+
+  meta = with lib; {
+    description = "MongoEngine is a Python Object-Document Mapper for working with MongoDB";
+    homepage = http://mongoengine.org/;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/monty/default.nix b/pkgs/development/python-modules/monty/default.nix
index 677cb68ca501..361be1bf184b 100644
--- a/pkgs/development/python-modules/monty/default.nix
+++ b/pkgs/development/python-modules/monty/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "monty";
-  version = "1.0.4";
+  version = "3.0.2";
 
   # No tests in Pypi
   src = fetchFromGitHub {
     owner = "materialsvirtuallab";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0vqaaz0dw0ypl6sfwbycpb0qs3ap04c4ghbggklxih66spdlggh6";
+    sha256 = "1wxqxp0j7i6czdpr2r1imgmy3qbgn2l7d4za2h1lg3hllvx6jra1";
   };
 
   checkInputs = [ lsof nose numpy msgpack coverage coveralls pymongo];
diff --git a/pkgs/development/python-modules/mpv/default.nix b/pkgs/development/python-modules/mpv/default.nix
index f5ae020c71c6..5a6fa42f2869 100644
--- a/pkgs/development/python-modules/mpv/default.nix
+++ b/pkgs/development/python-modules/mpv/default.nix
@@ -4,14 +4,14 @@
 
 buildPythonPackage rec {
   pname = "mpv";
-  version = "0.3.9";
+  version = "0.3.10";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "jaseg";
     repo = "python-mpv";
     rev = "v${version}";
-    sha256 = "112kr9wppcyy3shsb7v7kq0s1pdw6vw3v2fvqicm7qb2f49y2p4q";
+    sha256 = "1w67rrxsvxl7glh5lri7c5hn1011jij1yh1dn50dxlz79n4h51b5";
   };
 
   buildInputs = [ mpv ];
diff --git a/pkgs/development/python-modules/msrest/default.nix b/pkgs/development/python-modules/msrest/default.nix
index ede8e0801df9..70fa6f361ca6 100644
--- a/pkgs/development/python-modules/msrest/default.nix
+++ b/pkgs/development/python-modules/msrest/default.nix
@@ -18,7 +18,7 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.6.9";
+  version = "0.6.10";
   pname = "msrest";
 
   # no tests in PyPI tarball
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "Azure";
     repo = "msrest-for-python";
     rev = "v${version}";
-    sha256 = "0540dmxz90jsmwvd4q06cr1ficixknjk8q06f2dqcp06w92vnl8r";
+    sha256 = "1l08daq748lk8rwiv4jdlnmfl9mi7g1ln46gibhnd9xvrrjp0sdx";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/msrestazure/default.nix b/pkgs/development/python-modules/msrestazure/default.nix
index 0ef06cd8fb15..a820dd89f512 100644
--- a/pkgs/development/python-modules/msrestazure/default.nix
+++ b/pkgs/development/python-modules/msrestazure/default.nix
@@ -12,7 +12,7 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.6.1";
+  version = "0.6.2";
   pname = "msrestazure";
 
   # Pypi tarball doesnt include tests
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Azure";
     repo = "msrestazure-for-python";
     rev = "v${version}";
-    sha256 = "09swndz57131b8x57mzibnsr1sv0l80pk62p89q99gsd6mvc389c";
+    sha256 = "09qwdg4la4jwp5ibypdwsn7h8m2sh8c1kdxvffyxcjan50h14s04";
   };
 
   propagatedBuildInputs = [ adal msrest ];
diff --git a/pkgs/development/python-modules/nbsphinx/default.nix b/pkgs/development/python-modules/nbsphinx/default.nix
index 07038cb26e13..788a8f73ab89 100644
--- a/pkgs/development/python-modules/nbsphinx/default.nix
+++ b/pkgs/development/python-modules/nbsphinx/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "nbsphinx";
-  version = "0.4.3";
+  version = "0.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "09j47hmzgvf7rnz7n4n7295pp6qscq9hp50qva70vglzqck9yyjp";
+    sha256 = "03g0mqbgk143cq3l3r42js2iy5l6iyvpckpqip4p468rlzrddyhn";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/nuitka/default.nix b/pkgs/development/python-modules/nuitka/default.nix
index 6be1f39328f1..ba6dbced66e9 100644
--- a/pkgs/development/python-modules/nuitka/default.nix
+++ b/pkgs/development/python-modules/nuitka/default.nix
@@ -46,7 +46,7 @@ in buildPythonPackage rec {
   meta = with stdenv.lib; {
     description = "Python compiler with full language support and CPython compatibility";
     license = licenses.asl20;
-    homepage = http://nuitka.net/;
+    homepage = https://nuitka.net/;
   };
 
 }
diff --git a/pkgs/development/python-modules/openpyxl/2.nix b/pkgs/development/python-modules/openpyxl/2.nix
new file mode 100644
index 000000000000..d58192c06667
--- /dev/null
+++ b/pkgs/development/python-modules/openpyxl/2.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, jdcal
+, et_xmlfile
+, lxml
+}:
+
+buildPythonPackage rec {
+  pname = "openpyxl";
+  version = "2.6.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1d53801678e18d7fe38c116f1ad0c2383a654670c4c8806105b611c92d92f2e3";
+  };
+
+  checkInputs = [ pytest ];
+  propagatedBuildInputs = [ jdcal et_xmlfile lxml ];
+
+  postPatch = ''
+    # LICENSE.rst is missing, and setup.cfg currently doesn't contain anything useful anyway
+    # This should likely be removed in the next update
+    rm setup.cfg
+  '';
+
+  # Tests are not included in archive.
+  # https://bitbucket.org/openpyxl/openpyxl/issues/610
+  doCheck = false;
+
+  meta = {
+    description = "A Python library to read/write Excel 2007 xlsx/xlsm files";
+    homepage = https://openpyxl.readthedocs.org;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ lihop sjourdois ];
+  };
+}
diff --git a/pkgs/development/python-modules/openpyxl/default.nix b/pkgs/development/python-modules/openpyxl/default.nix
index c2075fe4f8e3..bd0a7a5b2be8 100644
--- a/pkgs/development/python-modules/openpyxl/default.nix
+++ b/pkgs/development/python-modules/openpyxl/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "openpyxl";
-  version = "3.0.0";
+  version = "3.0.1";
   disabled = isPy27; # 2.6.4 was final python2 release
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "340a1ab2069764559b9d58027a43a24db18db0e25deb80f81ecb8ca7ee5253db";
+    sha256 = "a3ee361d3ff04af6048d594775b3a54ffdf215d40fa5c6c78b2a41c0d0b020d3";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/opentimestamps/default.nix b/pkgs/development/python-modules/opentimestamps/default.nix
index 01f5595fea10..f9394efe398b 100644
--- a/pkgs/development/python-modules/opentimestamps/default.nix
+++ b/pkgs/development/python-modules/opentimestamps/default.nix
@@ -3,7 +3,7 @@
 
 buildPythonPackage rec {
   pname = "opentimestamps";
-  version = "0.4.0";
+  version = "0.4.1";
   disabled = (!isPy3k);
 
   # We can't use the pypi source because it doesn't include README.md which is
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     owner = "opentimestamps";
     repo = "python-opentimestamps";
     rev = "python-opentimestamps-v${version}";
-    sha256 = "165rj08hwmbn44ra9n0cj5vfn6p49dqfn5lz2mks962mx19c7l0m";
+    sha256 = "0c45ij8absfgwizq6dfgg81siq3y8605sgg184vazp292w8nqmqr";
   };
 
   # Remove a failing test which expects the test source file to reside in the
diff --git a/pkgs/development/python-modules/owslib/default.nix b/pkgs/development/python-modules/owslib/default.nix
index 7921b0a7a148..1e79a7641472 100644
--- a/pkgs/development/python-modules/owslib/default.nix
+++ b/pkgs/development/python-modules/owslib/default.nix
@@ -1,11 +1,11 @@
 { lib, buildPythonPackage, fetchPypi, dateutil, requests, pytz, pyproj , pytest } :
 buildPythonPackage rec {
   pname = "OWSLib";
-  version = "0.18.0";
+  version = "0.19.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "018p2ypmpbbcgl0hp92s0vig1wirh41lj0wy62aafn5050pmqr7m";
+    sha256 = "0rdhymayyc6w1izlv1bf2wgx2dfxbp4k1vll5s1364isw60rjj8x";
   };
 
   buildInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/pandas/2.nix b/pkgs/development/python-modules/pandas/2.nix
index 42e6fe845e07..6283addcb6eb 100644
--- a/pkgs/development/python-modules/pandas/2.nix
+++ b/pkgs/development/python-modules/pandas/2.nix
@@ -32,11 +32,11 @@ let
 
 in buildPythonPackage rec {
   pname = "pandas";
-  version = "0.25.3";
+  version = "0.24.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "52da74df8a9c9a103af0a72c9d5fdc8e0183a90884278db7f386b5692a2220a4";
+    sha256 = "18imlm8xbhcbwy4wa957a1fkamrcb0z988z006jpfda3ki09z4ag";
   };
 
   checkInputs = [ pytest glibcLocales moto hypothesis ];
diff --git a/pkgs/development/python-modules/papermill/default.nix b/pkgs/development/python-modules/papermill/default.nix
new file mode 100644
index 000000000000..ffe0fbc5da58
--- /dev/null
+++ b/pkgs/development/python-modules/papermill/default.nix
@@ -0,0 +1,70 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, ansiwrap
+, click
+, future
+, pyyaml
+, nbformat
+, nbconvert
+, six
+, tqdm
+, jupyter_client
+, requests
+, entrypoints
+, tenacity
+, futures
+, backports_tempfile
+, isPy27
+, pytest
+, pytestcov
+, pytest-mock
+}:
+
+buildPythonPackage rec {
+  pname = "papermill";
+  version = "1.2.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "04dadaabdeb129c7414079f77b9f9a4a08f1322549aa99e20e4a12700ee23509";
+  };
+
+  propagatedBuildInputs = [
+    ansiwrap
+    click
+    future
+    pyyaml
+    nbformat
+    nbconvert
+    six
+    tqdm
+    jupyter_client
+    requests
+    entrypoints
+    tenacity
+  ] ++ lib.optionals isPy27 [
+    futures
+    backports_tempfile
+  ];
+
+  checkInputs = [
+    pytest
+    pytestcov
+    pytest-mock
+  ];
+
+  checkPhase = ''
+    HOME=$(mktemp -d) pytest
+  '';
+
+  # the test suite depends on cloud resources azure/aws
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Parametrize and run Jupyter and nteract Notebooks";
+    homepage = https://github.com/nteract/papermill;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/papis/default.nix b/pkgs/development/python-modules/papis/default.nix
index a2fd5118b3e0..f770fecd5e59 100644
--- a/pkgs/development/python-modules/papis/default.nix
+++ b/pkgs/development/python-modules/papis/default.nix
@@ -3,7 +3,7 @@
 , pyyaml, chardet, beautifulsoup4, colorama, bibtexparser
 , pylibgen, click, python-slugify, habanero, isbnlib
 , prompt_toolkit, pygments, stevedore, tqdm, lxml
-, python-doi, isPy3k
+, python-doi, isPy3k, pythonOlder
 #, optional, dependencies
 , whoosh, pytest
 , stdenv
@@ -12,6 +12,7 @@
 buildPythonPackage rec {
   pname = "papis";
   version = "0.9";
+  disabled = !isPy3k;
 
   # Missing tests on Pypi
   src = fetchFromGitHub {
@@ -32,9 +33,14 @@ buildPythonPackage rec {
     whoosh
   ];
 
-  disabled = !isPy3k;
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "lxml<=4.3.5" "lxml~=4.3" \
+      --replace "python-slugify>=1.2.6,<4" "python-slugify"
+  '';
 
-  doCheck = !stdenv.isDarwin;
+  # pytest seems to hang with python3.8
+  doCheck = !stdenv.isDarwin && pythonOlder "3.8";
 
   checkInputs = ([
     pytest
diff --git a/pkgs/development/python-modules/pdf2image/default.nix b/pkgs/development/python-modules/pdf2image/default.nix
index 1fbddca8cc4f..41009a4b7a27 100644
--- a/pkgs/development/python-modules/pdf2image/default.nix
+++ b/pkgs/development/python-modules/pdf2image/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pdf2image";
-  version = "1.9.0";
+  version = "1.10.0";
 
   propagatedBuildInputs = [ pillow poppler_utils ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "186g36dcfv83iranyd8gqw2zinhpcvmq86zd7sbsn237gcqk43rn";
+    sha256 = "0bpprn5wcz414pqpvwjpd5cc0838shkw2cfvrwfiilhr09bhxbhb";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix
index d37be90099cb..cb81c2b40fc1 100644
--- a/pkgs/development/python-modules/phonenumbers/default.nix
+++ b/pkgs/development/python-modules/phonenumbers/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "phonenumbers";
-  version = "8.10.22";
+  version = "8.10.23";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "705dc7bbaa0d5932e9c010437c718bb3c0d7c93ab25b9710b4d9ae7370cc0121";
+    sha256 = "b31916281b0819c1e24ee3c21561ecd8be5af9381088557a986af85051a243bf";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/pip-tools/default.nix b/pkgs/development/python-modules/pip-tools/default.nix
index 2b00da73bf79..0a8d679ae5f9 100644
--- a/pkgs/development/python-modules/pip-tools/default.nix
+++ b/pkgs/development/python-modules/pip-tools/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchPypi, buildPythonPackage, pip, pytest, click, six, first
+{ stdenv, fetchPypi, buildPythonPackage, pip, pytest, click, six
 , setuptools_scm, git, glibcLocales, mock }:
 
 buildPythonPackage rec {
   pname = "pip-tools";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5427ea4dcc175649723985fbcace9b2d8f46f9adbcc63bc2d7b247d9bcc74917";
+    sha256 = "0x36mp3a3f3wandfc0g8d53gg2jkc14nhisbryzspcl9f05sbvq6";
   };
 
   LC_ALL = "en_US.UTF-8";
   checkInputs = [ pytest git glibcLocales mock ];
-  propagatedBuildInputs = [ pip click six first setuptools_scm ];
+  propagatedBuildInputs = [ pip click six setuptools_scm ];
 
   disabledTests = stdenv.lib.concatMapStringsSep " and " (s: "not " + s) [
     # Depend on network tests:
@@ -32,12 +32,8 @@ buildPythonPackage rec {
     "test_stdin"
     "test_upgrade_packages_option"
     "test_url_package"
-    # Expect specific version of "six":
     "test_editable_package"
-    "test_input_file_without_extension"
     "test_locally_available_editable_package_is_not_archived_in_cache_dir"
-    "test_no_candidates"
-    "test_no_candidates_pre"
   ];
 
   checkPhase = ''
@@ -50,6 +46,5 @@ buildPythonPackage rec {
     homepage = https://github.com/jazzband/pip-tools/;
     license = licenses.bsd3;
     maintainers = with maintainers; [ zimbatm ];
-    broken = true;
   };
 }
diff --git a/pkgs/development/python-modules/pivy/default.nix b/pkgs/development/python-modules/pivy/default.nix
index 6c8fc211ae69..93aa5ad144cf 100644
--- a/pkgs/development/python-modules/pivy/default.nix
+++ b/pkgs/development/python-modules/pivy/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   buildInputs = with pkgs; with xorg; [
     coin3d soqt qt5.qtbase
-    libGLU_combined
+    libGLU libGL
     libXi libXext libSM libICE libX11
   ];
 
diff --git a/pkgs/development/python-modules/poetry/default.nix b/pkgs/development/python-modules/poetry/default.nix
index d31fe236f82c..8f1136c46546 100644
--- a/pkgs/development/python-modules/poetry/default.nix
+++ b/pkgs/development/python-modules/poetry/default.nix
@@ -7,6 +7,7 @@
 , pyrsistent
 , pyparsing
 , cachecontrol
+, lockfile
 , pkginfo
 , html5lib
 , shellingham
@@ -59,6 +60,7 @@ in buildPythonPackage rec {
     pyrsistent
     pyparsing
     cachecontrol
+    lockfile
     pkginfo
     html5lib
     shellingham
diff --git a/pkgs/development/python-modules/pony/default.nix b/pkgs/development/python-modules/pony/default.nix
new file mode 100644
index 000000000000..ebda1976e2a2
--- /dev/null
+++ b/pkgs/development/python-modules/pony/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, python, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "pony";
+  version = "0.7.11";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "05vyvsbcb99vjjs7qpbwy8j4m854w74z8di6zqsv8p9wbm38s06i";
+  };
+
+  doCheck = true;
+
+  # stripping the tests
+  postInstall = ''
+    rm -rf $out/${python.sitePackages}/pony/orm/tests
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Pony is a Python ORM with beautiful query syntax";
+    homepage = "https://ponyorm.org/";
+    maintainers = with maintainers; [ d-goldin xvapx ];
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/portalocker/default.nix b/pkgs/development/python-modules/portalocker/default.nix
index 82be4b8151f3..b3b98b2b2ec1 100644
--- a/pkgs/development/python-modules/portalocker/default.nix
+++ b/pkgs/development/python-modules/portalocker/default.nix
@@ -1,6 +1,7 @@
 { buildPythonPackage
 , fetchPypi
 , lib
+, fetchpatch
 , sphinx
 , flake8
 , pytest
@@ -10,12 +11,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.5.1";
+  version = "1.5.2";
   pname = "portalocker";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "08d8vm373fbx90wrql2i7025d4ir54sq8ahx6g1pw9h793zqrn0y";
+    sha256 = "17rfgmgwyxyng8q7bvn369cncadqws2wgkg45q6v8337wm9jxins";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/prance/default.nix b/pkgs/development/python-modules/prance/default.nix
new file mode 100644
index 000000000000..38133172ecf7
--- /dev/null
+++ b/pkgs/development/python-modules/prance/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, chardet
+, pyyaml
+, requests
+, six
+, semver
+, pytest
+, pytestcov
+, pytestrunner
+, sphinx
+, openapi-spec-validator
+}:
+
+buildPythonPackage rec {
+  pname = "prance";
+  version = "0.15.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "793f96dc8bba73bf4342f57b3570f5e0a94c30e60f0c802a2aaa302759dd8610";
+  };
+
+  buildInputs = [
+    pytestrunner
+  ];
+
+  propagatedBuildInputs = [
+    chardet
+    pyyaml
+    requests
+    six
+    semver
+  ];
+
+  checkInputs = [
+    pytest
+    pytestcov
+    openapi-spec-validator
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "tests_require = dev_require," "tests_require = None,"
+  '';
+
+  # many tests require network connection
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Resolving Swagger/OpenAPI 2.0 and 3.0.0 Parser";
+    homepage = https://github.com/jfinkhaeuser/prance;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/prison/default.nix b/pkgs/development/python-modules/prison/default.nix
new file mode 100644
index 000000000000..4993976b51df
--- /dev/null
+++ b/pkgs/development/python-modules/prison/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, six
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "prison";
+  version = "0.1.2";
+
+  src = fetchFromGitHub {
+    owner = "betodealmeida";
+    repo = "python-rison";
+    rev = version;
+    sha256 = "14vb468iznf9416z993bbqihywp9ibyslw5vp67wfr200zyxjwak";
+  };
+
+  propagatedBuildInputs = [
+    six
+  ];
+
+  checkInputs = [
+    nose
+  ];
+
+  meta = with lib; {
+    description = "Rison encoder/decoder";
+    homepage = https://github.com/betodealmeida/python-rison;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/pudb/default.nix b/pkgs/development/python-modules/pudb/default.nix
index bcba04fdfd27..789a9484d730 100644
--- a/pkgs/development/python-modules/pudb/default.nix
+++ b/pkgs/development/python-modules/pudb/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "pudb";
-  version = "2019.1";
+  version = "2019.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "19imrr17jnkd6fd2w1zzh63z0hcipg5b9v2x4svqm5c08p3cyc5c";
+    sha256 = "1p2qizb35f9lfhklldzrn8g9mwiar3zmpc44463h5n1ln40ymw78";
   };
 
   propagatedBuildInputs = [ pygments urwid ];
diff --git a/pkgs/development/python-modules/pyGithub/default.nix b/pkgs/development/python-modules/pyGithub/default.nix
index 895a06ce558a..d09862184c0d 100644
--- a/pkgs/development/python-modules/pyGithub/default.nix
+++ b/pkgs/development/python-modules/pyGithub/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "PyGithub";
-  version = "1.44";
+  version = "1.44.1";
 
   src = fetchFromGitHub {
     owner = "PyGithub";
     repo = "PyGithub";
     rev = "v${version}";
-    sha256 = "067iyarllgdp40bzjxskzrixvmz350yj1qf8wvbddka504bcbh9r";
+    sha256 = "16ngnnm7xj9bd97pvyddag17dx28c5wi0gjx4ws8c8nrmf5w3iqk";
   };
 
   propagatedBuildInputs = [ python-jose pyjwt requests deprecated httpretty ];
diff --git a/pkgs/development/python-modules/pyasn1/default.nix b/pkgs/development/python-modules/pyasn1/default.nix
index f8925cd3b52c..e1d61866f90d 100644
--- a/pkgs/development/python-modules/pyasn1/default.nix
+++ b/pkgs/development/python-modules/pyasn1/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pyasn1";
-  version = "0.4.7";
+  version = "0.4.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a9495356ca1d66ed197a0f72b41eb1823cf7ea8b5bd07191673e8147aecf8604";
+    sha256 = "aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/pyaxmlparser/default.nix b/pkgs/development/python-modules/pyaxmlparser/default.nix
index c6c1afdcc95f..85140d3db49b 100644
--- a/pkgs/development/python-modules/pyaxmlparser/default.nix
+++ b/pkgs/development/python-modules/pyaxmlparser/default.nix
@@ -1,7 +1,7 @@
 { buildPythonPackage, stdenv, lxml, click, fetchFromGitHub, pytest, isPy3k }:
 
 buildPythonPackage rec {
-  version = "0.3.21";
+  version = "0.3.24";
   pname = "pyaxmlparser";
 
   # the PyPI tarball doesn't ship tests.
@@ -9,7 +9,7 @@ buildPythonPackage rec {
     owner = "appknox";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1bphd2vl9akk78yqvvxcz36wmr47hp3nh6xyrdc8w1avy1aby1ij";
+    sha256 = "0fys26p7xhbnbdzp80zm6n3mragp38p08nyrsnilfgnlpi6rjpg0";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/pybind11/default.nix b/pkgs/development/python-modules/pybind11/default.nix
index 2df360dfaabb..0f386a7c42fe 100644
--- a/pkgs/development/python-modules/pybind11/default.nix
+++ b/pkgs/development/python-modules/pybind11/default.nix
@@ -5,9 +5,10 @@
 , python
 , pytest
 , cmake
-, numpy ? null
-, eigen ? null
-, scipy ? null
+, catch
+, numpy
+, eigen
+, scipy
 }:
 
 buildPythonPackage rec {
@@ -21,23 +22,42 @@ buildPythonPackage rec {
     sha256 = "0k89w4bsfbpzw963ykg1cyszi3h3nk393qd31m6y46pcfxkqh4rd";
   };
 
-  dontUseCmakeConfigure = true;
-
   nativeBuildInputs = [ cmake ];
-  checkInputs = [ pytest ]
-    ++ (lib.optional (numpy != null) numpy)
-    ++ (lib.optional (eigen != null) eigen)
-    ++ (lib.optional (scipy != null) scipy);
-  checkPhase = ''
-    cmake ${if eigen != null then "-DEIGEN3_INCLUDE_DIR=${eigen}/include/eigen3" else ""}
-    make -j $NIX_BUILD_CORES pytest
-  '';
 
-  # re-expose the headers to other packages
-  postInstall = ''
-    ln -s $out/include/python${python.pythonVersion}m/pybind11/ $out/include/pybind11
+  buildInputs = [ catch ];
+
+  cmakeFlags = [
+    "-DEIGEN3_INCLUDE_DIR=${eigen}/include/eigen3"
+  ] ++ lib.optionals (!python.isPy2) [
+  # Enable some tests only on Python 3. The "test_string_view" test
+  # 'testTypeError: string_view16_chars(): incompatible function arguments'
+  # fails on Python 2.
+    "-DPYBIND11_CPP_STANDARD=-std=c++17"
+  ];
+
+  dontUseSetuptoolsBuild = true;
+  dontUsePipInstall = true;
+  dontUseSetuptoolsCheck = true;
+
+  preFixup = ''
+    pushd ..
+    export PYBIND11_USE_CMAKE=1
+    setuptoolsBuildPhase
+    pipInstallPhase
+    # Symlink the CMake-installed headers to the location expected by setuptools
+    mkdir -p $out/include/${python.libPrefix}
+    ln -sf $out/include/pybind11 $out/include/${python.libPrefix}/pybind11
+    popd
   '';
 
+  installCheckTarget = "pytest";
+  doInstallCheck = true;
+  checkInputs = [
+    pytest
+    numpy
+    scipy
+  ];
+
   meta = {
     homepage = https://github.com/pybind/pybind11;
     description = "Seamless operability between C++11 and Python";
diff --git a/pkgs/development/python-modules/pybullet/default.nix b/pkgs/development/python-modules/pybullet/default.nix
index f72f09a3328c..f4c12f48542b 100644
--- a/pkgs/development/python-modules/pybullet/default.nix
+++ b/pkgs/development/python-modules/pybullet/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, libGLU_combined
+, libGLU, libGL
 , xorg
 }:
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   };
 
   buildInputs = [
-    libGLU_combined
+    libGLU libGL
     xorg.libX11
   ];
 
diff --git a/pkgs/development/python-modules/pycollada/default.nix b/pkgs/development/python-modules/pycollada/default.nix
index 23ed4917cc58..fd3eb1b4c187 100644
--- a/pkgs/development/python-modules/pycollada/default.nix
+++ b/pkgs/development/python-modules/pycollada/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pycollada";
-  version = "0.6";
+  version = "0.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fcd6f38fd981e350f9ec754d9671834017accd600e967d6d299a6cfdae5ba4f4";
+    sha256 = "0b2vz9fp9asw57m3p9zjlz9gddanrhpxbdfimg98ik654kp2vj7r";
   };
 
   propagatedBuildInputs = [ numpy dateutil ];
diff --git a/pkgs/development/python-modules/pycryptodome/default.nix b/pkgs/development/python-modules/pycryptodome/default.nix
index c3b807ce43c3..17bb7c9dcd03 100644
--- a/pkgs/development/python-modules/pycryptodome/default.nix
+++ b/pkgs/development/python-modules/pycryptodome/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchPypi, buildPythonPackage }:
 
 buildPythonPackage rec {
-  version = "3.9.2";
+  version = "3.9.4";
   pname = "pycryptodome";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e1e007d072d50844188c067c325af8b3ad31e4b87792381469b821e95bf14cd8";
+    sha256 = "a168e73879619b467072509a223282a02c8047d932a48b74fbd498f27224aa04";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/pycryptodomex/default.nix b/pkgs/development/python-modules/pycryptodomex/default.nix
index 7d3204e021a4..bf6ac65fc7f6 100644
--- a/pkgs/development/python-modules/pycryptodomex/default.nix
+++ b/pkgs/development/python-modules/pycryptodomex/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "pycryptodomex";
-  version = "3.9.2";
+  version = "3.9.4";
 
   meta = {
     description = "A self-contained cryptographic library for Python";
@@ -12,6 +12,6 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "137e8e2c7438184dae0b940cdf5d0d4f639b1df564a95dadbb7c4ec188850921";
+    sha256 = "22d970cee5c096b9123415e183ae03702b2cd4d3ba3f0ced25c4e1aba3967167";
   };
 }
diff --git a/pkgs/development/python-modules/pydocstyle/2.nix b/pkgs/development/python-modules/pydocstyle/2.nix
new file mode 100644
index 000000000000..a2f2daa2fe9c
--- /dev/null
+++ b/pkgs/development/python-modules/pydocstyle/2.nix
@@ -0,0 +1,33 @@
+{ lib, buildPythonPackage, fetchFromGitHub, isPy3k, pythonOlder
+, snowballstemmer, six, configparser
+, pytest, pytestpep8, mock, pathlib }:
+
+buildPythonPackage rec {
+  pname = "pydocstyle";
+  version = "2.1.1";
+
+  # no tests on PyPI
+  # https://github.com/PyCQA/pydocstyle/issues/302
+  src = fetchFromGitHub {
+    owner = "PyCQA";
+    repo = pname;
+    rev = version;
+    sha256 = "1h0k8lpx14svc8dini62j0kqiam10pck5sdzvxa4xhsx7y689g5l";
+  };
+
+  propagatedBuildInputs = [ snowballstemmer six ] ++ lib.optional (!isPy3k) configparser;
+
+  checkInputs = [ pytest pytestpep8 mock ] ++ lib.optional (pythonOlder "3.4") pathlib;
+
+  checkPhase = ''
+    # test_integration.py installs packages via pip
+    py.test --pep8 --cache-clear -vv src/tests -k "not test_integration"
+  '';
+
+  meta = with lib; {
+    description = "Python docstring style checker";
+    homepage = https://github.com/PyCQA/pydocstyle/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ dzabraev ];
+  };
+}
diff --git a/pkgs/development/python-modules/pydocstyle/default.nix b/pkgs/development/python-modules/pydocstyle/default.nix
index a2f2daa2fe9c..39d9f9f9a23d 100644
--- a/pkgs/development/python-modules/pydocstyle/default.nix
+++ b/pkgs/development/python-modules/pydocstyle/default.nix
@@ -1,23 +1,25 @@
-{ lib, buildPythonPackage, fetchFromGitHub, isPy3k, pythonOlder
-, snowballstemmer, six, configparser
-, pytest, pytestpep8, mock, pathlib }:
+{ lib, buildPythonPackage, fetchFromGitHub, isPy3k
+, mock
+, pytest
+, pytestpep8
+, snowballstemmer
+}:
 
 buildPythonPackage rec {
   pname = "pydocstyle";
-  version = "2.1.1";
+  version = "4.0.1";
+  disabled = !isPy3k;
 
-  # no tests on PyPI
-  # https://github.com/PyCQA/pydocstyle/issues/302
   src = fetchFromGitHub {
     owner = "PyCQA";
     repo = pname;
     rev = version;
-    sha256 = "1h0k8lpx14svc8dini62j0kqiam10pck5sdzvxa4xhsx7y689g5l";
+    sha256 = "1sr8d2fsfpam4f14v4als6g2v6s3n9h138vxlwhd6slb3ll14y4l";
   };
 
-  propagatedBuildInputs = [ snowballstemmer six ] ++ lib.optional (!isPy3k) configparser;
+  propagatedBuildInputs = [ snowballstemmer ];
 
-  checkInputs = [ pytest pytestpep8 mock ] ++ lib.optional (pythonOlder "3.4") pathlib;
+  checkInputs = [ pytest pytestpep8 mock ];
 
   checkPhase = ''
     # test_integration.py installs packages via pip
diff --git a/pkgs/development/python-modules/pydrive/default.nix b/pkgs/development/python-modules/pydrive/default.nix
new file mode 100644
index 000000000000..aa0515323e29
--- /dev/null
+++ b/pkgs/development/python-modules/pydrive/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, google_api_python_client
+, oauth2client
+, pyyaml
+}:
+
+buildPythonPackage rec {
+  pname = "pydrive";
+  version = "1.3.1";
+
+  src = fetchPypi {
+    pname = "PyDrive";
+    inherit version;
+    sha256 = "11q7l94mb34hfh9wkdwfrh5xw99y13wa33ba7xp1q23q4b60v2c3";
+  };
+
+  propagatedBuildInputs = [
+    google_api_python_client
+    oauth2client
+    pyyaml
+  ];
+
+  # requires client_secrets.json
+  doCheck = false;
+
+  meta = {
+    description = "Google Drive API Python wrapper library";
+    homepage = "https://github.com/gsuitedevs/PyDrive";
+    license = lib.licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/pyftgl/default.nix b/pkgs/development/python-modules/pyftgl/default.nix
index bf92f7360ddb..90fd79038083 100644
--- a/pkgs/development/python-modules/pyftgl/default.nix
+++ b/pkgs/development/python-modules/pyftgl/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchFromGitHub
-, boost, freetype, ftgl, libGLU_combined
+, boost, freetype, ftgl, libGLU, libGL
 , python
 }:
 
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     sed -i "s,'boost_python','boost_python${pythonVersion}',g" setup.py
   '';
 
-  buildInputs = [ boost freetype ftgl libGLU_combined ];
+  buildInputs = [ boost freetype ftgl libGLU libGL ];
 
   meta = with lib; {
     description = "Python bindings for FTGL (FreeType for OpenGL)";
diff --git a/pkgs/development/python-modules/pyglet/default.nix b/pkgs/development/python-modules/pyglet/default.nix
index 16484cb1211e..e6be92c0efb5 100644
--- a/pkgs/development/python-modules/pyglet/default.nix
+++ b/pkgs/development/python-modules/pyglet/default.nix
@@ -1,7 +1,8 @@
 { stdenv
 , buildPythonPackage
 , fetchPypi
-, libGLU_combined
+, libGL
+, libGLU
 , xorg
 , future
 , pytest
@@ -34,9 +35,9 @@ buildPythonPackage rec {
         for name in names:
             path = None
             if name == 'GL':
-                path = '${libGLU_combined}/lib/libGL${ext}'
+                path = '${libGL}/lib/libGL${ext}'
             elif name == 'GLU':
-                path = '${libGLU_combined}/lib/libGLU${ext}'
+                path = '${libGLU}/lib/libGLU${ext}'
             elif name == 'c':
                 path = '${glibc}/lib/libc${ext}.6'
             elif name == 'X11':
diff --git a/pkgs/development/python-modules/pykde4/default.nix b/pkgs/development/python-modules/pykde4/default.nix
deleted file mode 100644
index 5be43a412e52..000000000000
--- a/pkgs/development/python-modules/pykde4/default.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ pyqt4, openssl_1_0_2
-, stdenv, callPackage, fetchurl, cmake, automoc4, sip }:
-
-let
-  kdelibs = callPackage ./kdelibs.nix {
-    openssl = openssl_1_0_2;
-  };
-  sip4_19_3 = sip.overrideAttrs (oldAttrs: rec {
-    src = fetchurl {
-      url = "mirror://sourceforge/pyqt/sip/sip-4.19.3/sip-4.19.3.tar.gz";
-      sha256 = "0x2bghbprwl3az1ni3p87i0bq8r99694la93kg65vi0cz12gh3bl";
-    };
-  });
-  pyqt4_fixed = pyqt4.overrideAttrs (oldAttrs: {
-    propagatedBuildInputs = [ sip4_19_3 ];
-  });
-in stdenv.mkDerivation rec {
-  version = "4.14.3";
-  pname = "pykde4";
-
-  src = fetchurl {
-    url = "mirror://kde/stable/${version}/src/${pname}-${version}.tar.xz";
-    sha256 = "1z40gnkyjlv6ds3cmpzvv99394rhmydr6rxx7qj33m83xnsxgfbz";
-  };
-
-  patches = [ ./dlfcn.patch ];
-
-  buildInputs = [
-    kdelibs
-  ];
-
-  nativeBuildInputs = [ cmake automoc4 ];
-
-  propagatedBuildInputs = [ pyqt4_fixed ];
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-    hydraPlatforms = platforms.none;
-    description = "Python bindings for KDE";
-    license = with licenses; [ gpl2 lgpl2 ];
-    homepage = https://api.kde.org/pykde-4.3-api/;
-    maintainers = with maintainers; [ gnidorah ];
-  };
-}
diff --git a/pkgs/development/python-modules/pykde4/dlfcn.patch b/pkgs/development/python-modules/pykde4/dlfcn.patch
deleted file mode 100644
index 63aff46eeab1..000000000000
--- a/pkgs/development/python-modules/pykde4/dlfcn.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- __init__.py.orig	2017-11-02 09:06:48.998054459 +0300
-+++ ./__init__.py	2017-11-02 09:24:28.089072752 +0300
-@@ -1,4 +1,8 @@
--import sys,DLFCN
-+import sys
-+try:
-+    import DLFCN
-+except ImportError:
-+    import os as DLFCN
- # This is needed to ensure that dynamic_cast and RTTI works inside kdelibs.
- sys.setdlopenflags(DLFCN.RTLD_NOW|DLFCN.RTLD_GLOBAL)
-      
-\ No newline at end of file
diff --git a/pkgs/development/python-modules/pykde4/kdelibs.nix b/pkgs/development/python-modules/pykde4/kdelibs.nix
deleted file mode 100644
index e6f20b8248b8..000000000000
--- a/pkgs/development/python-modules/pykde4/kdelibs.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{
-  stdenv, fetchurl, fetchpatch,
-  automoc4, cmake_2_8, libxslt, perl, pkgconfig, shared-mime-info,
-  attica, docbook_xml_dtd_42, docbook_xsl, giflib,
-  libdbusmenu_qt, libjpeg, phonon, qt4, openssl
-}:
-
-stdenv.mkDerivation rec {
-  version = "4.14.38";
-  pname = "kdelibs";
-  src = fetchurl {
-    url = "mirror://kde/stable/applications/17.08.3/src/${pname}-${version}.tar.xz";
-    sha256 = "1zn3yb09sd22bm54is0rn98amj0398zybl550dp406419sil7z9p";
-  };
-  patches = [
-    # https://phabricator.kde.org/D22989
-    (fetchpatch {
-      url = "https://cgit.kde.org/kdelibs.git/patch/?id=2c3762feddf7e66cf6b64d9058f625a715694a00";
-      sha256 = "1wbzywh8lcc66n6y3pxs18h7cwkq6g216faz27san33jpl8ra1i9";
-      name = "CVE-2019-14744.patch";
-    })
-  ];
-
-  enableParallelBuilding = true;
-
-  nativeBuildInputs = [
-    automoc4 cmake_2_8 libxslt perl pkgconfig shared-mime-info
-  ];
-  buildInputs = [
-    attica giflib libdbusmenu_qt libjpeg openssl
-  ];
-  propagatedBuildInputs = [ qt4 phonon ];
-
-  cmakeFlags = [
-    "-DDOCBOOKXML_CURRENTDTD_DIR=${docbook_xml_dtd_42}/xml/dtd/docbook"
-    "-DDOCBOOKXSL_DIR=${docbook_xsl}/xml/xsl/docbook"
-    "-DKJS_FORCE_DISABLE_PCRE=true"
-    "-DWITH_SOLID_UDISKS2=OFF"
-  ];
-
-  meta = with stdenv.lib; {
-    platforms = platforms.linux;
-    hydraPlatforms = platforms.none;
-    homepage = http://www.kde.org;
-    license = with licenses; [ gpl2 fdl12 lgpl21 ];
-    maintainers = with maintainers; [ gnidorah ];
-  };
-}
diff --git a/pkgs/development/python-modules/pylibacl/default.nix b/pkgs/development/python-modules/pylibacl/default.nix
index f366f6e57f60..08d598c72db6 100644
--- a/pkgs/development/python-modules/pylibacl/default.nix
+++ b/pkgs/development/python-modules/pylibacl/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "pylibacl";
-  version = "0.5.3";
+  version = "0.5.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0c3xw1s5bh6jnsc0wwyxnn6kn6x6rpbmmi05ap1f81fyqlgrzgj0";
+    sha256 = "060f375aeff90a16fbc3a827b7e234694ad636485d8ecd6654e01e1fc4ea3b37";
   };
 
   # ERROR: testExtended (tests.test_acls.AclExtensions)
diff --git a/pkgs/development/python-modules/pylint/default.nix b/pkgs/development/python-modules/pylint/default.nix
index 8861a364b0fa..95f86e31c041 100644
--- a/pkgs/development/python-modules/pylint/default.nix
+++ b/pkgs/development/python-modules/pylint/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "pylint";
-  version = "2.4.3";
+  version = "2.4.4";
 
   disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "856476331f3e26598017290fd65bebe81c960e806776f324093a46b76fb2d1c0";
+    sha256 = "3db5468ad013380e987410a8d6956226963aed94ecb5f9d3a28acca6d9ac36cd";
   };
 
   nativeBuildInputs = [ pytestrunner ];
diff --git a/pkgs/development/python-modules/pympler/default.nix b/pkgs/development/python-modules/pympler/default.nix
index a9350f20eb3f..85be0b4309c7 100644
--- a/pkgs/development/python-modules/pympler/default.nix
+++ b/pkgs/development/python-modules/pympler/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "Pympler";
-  version = "0.7";
+  version = "0.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ki7bqp1h9l1xc2k1h4vjyzsgs20i8ingvcdhszyi72s28wyf4bs";
+    sha256 = "08mrpnb6cv2nvfncvr8a9a8bpwhnasa924anapnjvnaw5jcd4k7p";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pymupdf/default.nix b/pkgs/development/python-modules/pymupdf/default.nix
index dc9b38eec9b7..98071962d4f9 100644
--- a/pkgs/development/python-modules/pymupdf/default.nix
+++ b/pkgs/development/python-modules/pymupdf/default.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPythonPackage, fetchPypi, mupdf, swig }:
 buildPythonPackage rec {
   pname = "PyMuPDF";
-  version = "1.16.7";
+  version = "1.16.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b16c85b2f89cc89e36b59fe734f14e5c939c8b24697bf33ff7a19584e8334976";
+    sha256 = "3099b48a796885c0760d8ac5439131dee1bc6adadf7ae008417e0ca8d8fcdf15";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/python-modules/pynamodb/default.nix b/pkgs/development/python-modules/pynamodb/default.nix
index 74840d72a94d..5016cfb741c5 100644
--- a/pkgs/development/python-modules/pynamodb/default.nix
+++ b/pkgs/development/python-modules/pynamodb/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "pynamodb";
-  version = "4.1.0";
+  version = "4.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d05d5e2b0f663679ad11421c6fc2cf2f89a2a5843e6ebc372706bf5a78d93762";
+    sha256 = "0njbh3h6696nq5palqa0b8s0fbsvhbawpzl923dnfsa9kgq5m294";
   };
 
   propagatedBuildInputs = [ python-dateutil botocore ];
diff --git a/pkgs/development/python-modules/pynvim/default.nix b/pkgs/development/python-modules/pynvim/default.nix
index e5e14f44e109..a4765434f74e 100644
--- a/pkgs/development/python-modules/pynvim/default.nix
+++ b/pkgs/development/python-modules/pynvim/default.nix
@@ -7,22 +7,21 @@
 , trollius
 , pythonOlder
 , isPyPy
+, pytestrunner
 }:
 
 buildPythonPackage rec {
   pname = "pynvim";
-  version = "0.3.2";
+  version = "0.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "01dybk4vs452pljn1q3il5z2sd313ki0lgiglc0xmjc6wp290r6g";
+    sha256 = "1mp9ajsgrb9k2f3s8g7vdflj5mg02ii0d0wk4n6dmvjx52rqpzbi";
   };
 
-  checkInputs = [ nose ];
-
-  checkPhase = ''
-    nosetests
-  '';
+  nativeBuildInputs = [
+    pytestrunner
+  ];
 
   # Tests require pkgs.neovim,
   # which we cannot add because of circular dependency.
diff --git a/pkgs/development/python-modules/pyopengl/default.nix b/pkgs/development/python-modules/pyopengl/default.nix
index 11a51f354d9f..b00502700e81 100644
--- a/pkgs/development/python-modules/pyopengl/default.nix
+++ b/pkgs/development/python-modules/pyopengl/default.nix
@@ -14,7 +14,7 @@ buildPythonPackage rec {
     sha256 = "9b47c5c3a094fa518ca88aeed35ae75834d53e4285512c61879f67a48c94ddaf";
   };
 
-  propagatedBuildInputs = [ pkgs.libGLU_combined pkgs.freeglut pillow ];
+  propagatedBuildInputs = [ pkgs.libGLU pkgs.libGL pkgs.freeglut pillow ];
 
   patchPhase = let
     ext = stdenv.hostPlatform.extensions.sharedLibrary; in ''
diff --git a/pkgs/development/python-modules/pysaml2/default.nix b/pkgs/development/python-modules/pysaml2/default.nix
index 1528623aa0ec..8c0513b0b513 100644
--- a/pkgs/development/python-modules/pysaml2/default.nix
+++ b/pkgs/development/python-modules/pysaml2/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pysaml2";
-  version = "4.8.0";
+  version = "4.9.0";
 
   # No tests in PyPI tarball
   src = fetchFromGitHub {
     owner = "IdentityPython";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1nnmk7apg169bawqi06jbx3p0x4sq12kszzl7k6j39273hqq5ii4";
+    sha256 = "1ww1l34zn25vxifs8nr0bg7gkhbpy5g45mj0jj4d8hzimahb1brx";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/pyscreenshot/default.nix b/pkgs/development/python-modules/pyscreenshot/default.nix
new file mode 100644
index 000000000000..9e9d15e52956
--- /dev/null
+++ b/pkgs/development/python-modules/pyscreenshot/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, EasyProcess
+}:
+
+buildPythonPackage rec {
+  pname = "pyscreenshot";
+  version = "0.5.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "19ec6d17a61c0cd4e7fcf3ab2685598a54b53dc781755393cc5f76dcb7bf359c";
+  };
+
+  propagatedBuildInputs = [
+    EasyProcess
+  ];
+
+  # recursive dependency on pyvirtualdisplay
+  doCheck = false;
+
+  meta = with lib; {
+    description = "python screenshot";
+    homepage = "https://github.com/ponty/pyscreenshot";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyspf/default.nix b/pkgs/development/python-modules/pyspf/default.nix
index 48e731004c1c..0ba230075f9a 100644
--- a/pkgs/development/python-modules/pyspf/default.nix
+++ b/pkgs/development/python-modules/pyspf/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pyspf";
-  version = "2.0.13";
+  version = "2.0.13"; # version 2.0.13 should not be used, see #72791
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "16wjj99d2pikz6z1gwnl1jjvad6qjgpsf3a85lh47qqrjpiipp32";
+    sha256 = "62dc1be39519e343202d480da7ef93d834b5a50cd4f217bef9335ed15292929b";
   };
 
   propagatedBuildInputs = [ pydns ];
diff --git a/pkgs/development/python-modules/pytest-qt/default.nix b/pkgs/development/python-modules/pytest-qt/default.nix
new file mode 100644
index 000000000000..4ce0241f415b
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-qt/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools_scm
+, pytest
+, pyqt5
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-qt";
+  version = "3.2.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "f6ecf4b38088ae1092cbd5beeaf714516d1f81f8938626a2eac546206cdfe7fa";
+  };
+
+  nativeBuildInputs = [
+    setuptools_scm
+  ];
+
+  propagatedBuildInputs = [
+    pytest
+  ];
+
+  checkInputs = [
+    pyqt5
+  ];
+
+  # tests require X server
+  doCheck = false;
+
+  meta = with lib; {
+    description = "pytest support for PyQt and PySide applications";
+    homepage = "https://github.com/pytest-dev/pytest-qt";
+    license = licenses.mit;
+    maintainers = with maintainers; [ costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-repeat/default.nix b/pkgs/development/python-modules/pytest-repeat/default.nix
index afd36155cf78..768ad5967342 100644
--- a/pkgs/development/python-modules/pytest-repeat/default.nix
+++ b/pkgs/development/python-modules/pytest-repeat/default.nix
@@ -8,33 +8,29 @@
 
 buildPythonPackage rec {
   pname = "pytest-repeat";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0axbrpqal3cqw9zq6dakdbg49pnf5gvyvq6yn93hp1ayc7fnhzk3";
+    sha256 = "1nbdmklpi0ra1jnfm032wz96y9nxdlcr4m9sjlnffwm7n4x43g2j";
   };
 
-  # fixes support for pytest >3.6. Should be droppable during the
-  # next bump.
-  patches = [
-    (fetchpatch {
-      url = https://github.com/pytest-dev/pytest-repeat/commit/f94b6940e3651b7593aca5a7a987eb56abe04cb1.patch;
-      sha256 = "00da1gmpq9pslcmm8pw93jcbp8j2zymzqdsm6jq3xinkvjpsbmny";
-    })
+  nativeBuildInputs = [
+    setuptools_scm
   ];
 
-  buildInputs = [ setuptools_scm ];
-  checkInputs = [ pytest ];
+  checkInputs = [
+    pytest
+  ];
 
   checkPhase = ''
-    py.test
+    pytest
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Pytest plugin for repeating tests";
-    homepage = https://github.com/pytest-dev/pytest-repeat;
-    maintainers = with lib.maintainers; [ costrouc ];
-    license = lib.licenses.mpl20;
+    homepage = "https://github.com/pytest-dev/pytest-repeat";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/pytest-rerunfailures/default.nix b/pkgs/development/python-modules/pytest-rerunfailures/default.nix
index 79ce9fa63a9b..f5c35905cf65 100644
--- a/pkgs/development/python-modules/pytest-rerunfailures/default.nix
+++ b/pkgs/development/python-modules/pytest-rerunfailures/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-rerunfailures";
-  version = "7.0";
+  version = "8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1zfm9v80bqfdapygy9wmi6j6y5c179ixpnh9ih27py4v6cqwzjgk";
+    sha256 = "04p8rfvv7yi3gsdm1dw1mfhjwg6507rhgj7nbm5gfqw4kxmj7h8p";
   };
 
   checkInputs = [ mock pytest ];
diff --git a/pkgs/development/python-modules/pytest-xvfb/default.nix b/pkgs/development/python-modules/pytest-xvfb/default.nix
new file mode 100644
index 000000000000..b9ae9be428d3
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-xvfb/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+, virtual-display
+}:
+
+buildPythonPackage rec {
+  pname = "pytest-xvfb";
+  version = "1.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "a7544ca8d0c7c40db4b40d7a417a7b071c68d6ef6bdf9700872d7a167302f979";
+  };
+
+  propagatedBuildInputs = [
+    pytest
+    virtual-display
+  ];
+
+  meta = with lib; {
+    description = "A pytest plugin to run Xvfb for tests";
+    homepage = "https://github.com/The-Compiler/pytest-xvfb";
+    license = licenses.mit;
+    maintainers = with maintainers; [ costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix
index 39eed4f13c60..a0e26b442018 100644
--- a/pkgs/development/python-modules/pytest/default.nix
+++ b/pkgs/development/python-modules/pytest/default.nix
@@ -3,7 +3,7 @@
 , atomicwrites, mock, writeText, pathlib2, wcwidth, packaging, isPyPy, python
 }:
 buildPythonPackage rec {
-  version = "5.2.2";
+  version = "5.2.4";
   pname = "pytest";
 
   disabled = !isPy3k;
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "27abc3fef618a01bebb1f0d6d303d2816a99aa87a5968ebc32fe971be91eb1e6";
+    sha256 = "ff0090819f669aaa0284d0f4aad1a6d9d67a6efdc6dd4eb4ac56b704f890a0d6";
   };
 
   checkInputs = [ hypothesis mock ];
diff --git a/pkgs/development/python-modules/python-daemon/default.nix b/pkgs/development/python-modules/python-daemon/default.nix
index 41b7aa78bab9..e33aee6c1c91 100644
--- a/pkgs/development/python-modules/python-daemon/default.nix
+++ b/pkgs/development/python-modules/python-daemon/default.nix
@@ -1,4 +1,11 @@
-{ lib, buildPythonPackage, fetchPypi, mock, testscenarios, docutils, lockfile }:
+{ lib, buildPythonPackage, fetchPypi
+, docutils
+, lockfile
+, mock
+, pytest
+, testscenarios
+, twine
+}:
 
 buildPythonPackage rec {
   pname = "python-daemon";
@@ -9,12 +16,22 @@ buildPythonPackage rec {
     sha256 = "57c84f50a04d7825515e4dbf3a31c70cc44414394a71608dee6cfde469e81766";
   };
 
-  # A test fail within chroot builds.
-  doCheck = false;
-
-  buildInputs = [ mock testscenarios ];
+  nativeBuildInputs = [ twine ];
   propagatedBuildInputs = [ docutils lockfile ];
 
+  checkInputs = [ pytest mock testscenarios ];
+  checkPhase = ''
+    pytest -k 'not detaches_process_context \
+                and not standard_stream_file_descriptors'
+  '';
+
+  pythonImportsCheck = [
+    "daemon"
+    "daemon.daemon"
+    "daemon.pidfile"
+    "daemon.runner"
+  ];
+
   meta = with lib; {
     description = "Library to implement a well-behaved Unix daemon process";
     homepage = "https://pagure.io/python-daemon/";
diff --git a/pkgs/development/python-modules/python-engineio/default.nix b/pkgs/development/python-modules/python-engineio/default.nix
index bf6d4cd23817..e1c380b64c3a 100644
--- a/pkgs/development/python-modules/python-engineio/default.nix
+++ b/pkgs/development/python-modules/python-engineio/default.nix
@@ -13,13 +13,13 @@
 
 buildPythonPackage rec {
   pname = "python-engineio";
-  version = "3.9.3";
+  version = "3.10.0";
 
   src = fetchFromGitHub {
     owner = "miguelgrinberg";
     repo = "python-engineio";
     rev = "v${version}";
-    sha256 = "0rwlj12d37dpw6y3bdn6rxv68xnd9ykj4fr3ly0fa143xci35d9y";
+    sha256 = "1495r55177c38wq88pb28l50dfd4213iyxwq1k5rmsgp66vww09s";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-gitlab/default.nix b/pkgs/development/python-modules/python-gitlab/default.nix
index def0a2c0adb0..4858ef8f8a6f 100644
--- a/pkgs/development/python-modules/python-gitlab/default.nix
+++ b/pkgs/development/python-modules/python-gitlab/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname   = "python-gitlab";
-  version = "1.12.1";
+  version = "1.13.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "984e110c1f76fd939652c30ce3101267a7064e34417cbfc4687e6106d4db54ec";
+    sha256 = "125zimbdprfx2j90dp19hyh60lzj11264bm494awc585pr6v9d3k";
   };
 
   propagatedBuildInputs = [ requests six ];
diff --git a/pkgs/development/python-modules/python-olm/default.nix b/pkgs/development/python-modules/python-olm/default.nix
new file mode 100644
index 000000000000..4fc0ad66f95b
--- /dev/null
+++ b/pkgs/development/python-modules/python-olm/default.nix
@@ -0,0 +1,29 @@
+{ lib, buildPythonPackage, olm,
+  cffi, future, typing }:
+
+buildPythonPackage {
+  pname = "python-olm";
+  inherit (olm) src version;
+
+  sourceRoot = "${olm.name}/python";
+  buildInputs = [ olm ];
+
+  preBuild = ''
+    make include/olm/olm.h
+  '';
+
+  propagatedBuildInputs = [
+    cffi
+    future
+    typing
+  ];
+
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Python bindings for Olm";
+    homepage = "https://gitlab.matrix.org/matrix-org/olm/tree/master/python";
+    license = olm.meta.license;
+    maintainers = [ maintainers.tilpner ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-periphery/default.nix b/pkgs/development/python-modules/python-periphery/default.nix
index 38642f066d77..4d10c985092b 100644
--- a/pkgs/development/python-modules/python-periphery/default.nix
+++ b/pkgs/development/python-modules/python-periphery/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "python-periphery";
-  version = "1.1.2";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1bhzkzjvz6zb6rc5zmvgqfszrcyh64v1hay7m1m5dn083gaznyk9";
+    sha256 = "1arsibmc19iyzr70lqfrkq0fk6gd6imm3zxa7zxv93b6lwl5bw1d";
   };
 
   # Some tests require physical probing and additional physical setup
diff --git a/pkgs/development/python-modules/python-stdnum/default.nix b/pkgs/development/python-modules/python-stdnum/default.nix
index 06577249a02d..556be12872b5 100644
--- a/pkgs/development/python-modules/python-stdnum/default.nix
+++ b/pkgs/development/python-modules/python-stdnum/default.nix
@@ -1,11 +1,11 @@
 { lib, fetchPypi, buildPythonPackage, nose }:
 
 buildPythonPackage rec {
-  version = "1.11";
+  version = "1.12";
   pname = "python-stdnum";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d5f0af1bee9ddd9a20b398b46ce062dbd4d41fcc9646940f2667256a44df3854";
+    sha256 = "19fb5asv0ngnbpiz1bqzq2jhgn845kv9hjcjajsgzgfp2k24f4sc";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/pyzmq/default.nix b/pkgs/development/python-modules/pyzmq/default.nix
index bb9aeaf32017..f1ecdf7c4f4f 100644
--- a/pkgs/development/python-modules/pyzmq/default.nix
+++ b/pkgs/development/python-modules/pyzmq/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "pyzmq";
-  version = "18.1.0";
+  version = "18.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "93f44739db69234c013a16990e43db1aa0af3cf5a4b8b377d028ff24515fbeb3";
+    sha256 = "8c69a6cbfa94da29a34f6b16193e7c15f5d3220cb772d6d17425ff3faa063a6d";
   };
 
   checkInputs = [  pytest tornado ];
diff --git a/pkgs/development/python-modules/rasterio/default.nix b/pkgs/development/python-modules/rasterio/default.nix
index 42b03849283b..5da97c964c1a 100644
--- a/pkgs/development/python-modules/rasterio/default.nix
+++ b/pkgs/development/python-modules/rasterio/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "rasterio";
-  version = "1.1.0";
+  version = "1.1.1";
 
   # Pypi doesn't ship the tests, so we fetch directly from GitHub
   src = fetchFromGitHub {
     owner = "mapbox";
     repo = "rasterio";
     rev = version;
-    sha256 = "0xa9jazsgsf7is4dbf2bbnfga8q8nmqy0qq4i7jj3riiccwlm6xw";
+    sha256 = "1d0y16c5da252nj3pbdjwbzmd5kmh533s8jwlvg3aappa7h7qc1s";
   };
 
   checkInputs = [ boto3 pytest pytestcov packaging hypothesis ] ++ lib.optional (!isPy3k) mock;
diff --git a/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix b/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix
index 8b3487a98c60..948e523cb7e4 100644
--- a/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix
+++ b/pkgs/development/python-modules/readthedocs-sphinx-ext/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "readthedocs-sphinx-ext";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cc94753be6b2db997e3291046b39e49d578f6441fd75159db22a51a29d2cf1fc";
+    sha256 = "c920d8129752ee3f339c8cf3dfeba800a25730249d6ab43dc9b3c384312d1d32";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/pkgs/development/python-modules/rfc-bibtex/default.nix b/pkgs/development/python-modules/rfc-bibtex/default.nix
index db6fedd89a45..dd114fd70960 100644
--- a/pkgs/development/python-modules/rfc-bibtex/default.nix
+++ b/pkgs/development/python-modules/rfc-bibtex/default.nix
@@ -12,7 +12,7 @@ buildPythonApplication rec {
   disabled = !isPy3k;
 
   meta = with stdenv.lib; {
-    homepage = ttps://github.com/iluxonchik/rfc-bibtex/;
+    homepage = https://github.com/iluxonchik/rfc-bibtex/;
     description = "Generate Bibtex entries for IETF RFCs and Internet-Drafts";
     license = licenses.mit;
     maintainers = with maintainers; [ teto ];
diff --git a/pkgs/development/python-modules/rpy2/2.nix b/pkgs/development/python-modules/rpy2/2.nix
new file mode 100644
index 000000000000..aef184d4afc2
--- /dev/null
+++ b/pkgs/development/python-modules/rpy2/2.nix
@@ -0,0 +1,108 @@
+{ lib
+, python
+, buildPythonPackage
+, fetchPypi
+, isPyPy
+, isPy27
+, readline
+, R
+, rWrapper
+, rPackages
+, pcre
+, lzma
+, bzip2
+, zlib
+, icu
+, singledispatch
+, six
+, jinja2
+, pytz
+, numpy
+, pytest
+, mock
+, extraRPackages ? []
+}:
+
+buildPythonPackage rec {
+    version = "2.8.6"; # python2 support dropped in 2.9.x
+    pname = "rpy2";
+    disabled = isPyPy;
+    src = fetchPypi {
+      inherit version pname;
+      sha256 = "162zki5c1apgv6qbafi7n66y4hgpgp43xag7q75qb6kv99ri6k80";
+    };
+    buildInputs = [
+      readline
+      R
+      pcre
+      lzma
+      bzip2
+      zlib
+      icu
+    ] ++ (with rPackages; [
+      # packages expected by the test framework
+      ggplot2
+      dplyr
+      RSQLite
+      broom
+      DBI
+      dbplyr
+      hexbin
+      lme4
+      tidyr
+
+      # is in upstream's `requires` although it shouldn't be -- this is easier than patching it away
+      pytest
+    ]) ++ extraRPackages ++ rWrapper.recommendedPackages;
+
+    nativeBuildInputs = [
+      R # needed at setup time to detect R_HOME (alternatively set R_HOME explicitly)
+    ];
+
+    patches = [
+      # R_LIBS_SITE is used by the nix r package to point to the installed R libraries.
+      # This patch sets R_LIBS_SITE when rpy2 is imported.
+      ./r-libs-site.patch
+    ];
+    postPatch = ''
+      substituteInPlace ${ if isPy27 then "rpy/rinterface/__init__.py" else "rpy2/rinterface_lib/embedded.py" } --replace '@NIX_R_LIBS_SITE@' "$R_LIBS_SITE"
+    '';
+
+    doPatchelf = false; # fails because of "missing filename"
+    patchelfPhase = "";
+
+    propagatedBuildInputs = [
+      singledispatch
+      six
+      jinja2
+      pytz
+      numpy
+    ];
+
+    checkInputs = [
+      pytest
+      mock
+    ];
+    # One remaining test failure caused by different unicode encoding.
+    # https://bitbucket.org/rpy2/rpy2/issues/488
+    doCheck = false;
+    checkPhase = ''
+      ${python.interpreter} -m 'rpy2'
+    '';
+
+    # For some reason libreadline.so is not found. Curiously `ldd _rinterface.so | grep readline` shows two readline entries:
+    # libreadline.so.6 => not found
+    # libreadline.so.6 => /nix/store/z2zhmrg6jcrn5iq2779mav0nnq4vm2q6-readline-6.3p08/lib/libreadline.so.6 (0x00007f333ac43000)
+    # There must be a better way to fix this, but I don't know it.
+    postFixup = ''
+      patchelf --add-needed ${readline}/lib/libreadline.so "$out/${python.sitePackages}/rpy2/rinterface/"_rinterface*.so
+    '';
+
+    meta = {
+      homepage = http://rpy.sourceforge.net/rpy2;
+      description = "Python interface to R";
+      license = lib.licenses.gpl2Plus;
+      platforms = lib.platforms.unix;
+      maintainers = with lib.maintainers; [ joelmo ];
+    };
+  }
diff --git a/pkgs/development/python-modules/rpy2/default.nix b/pkgs/development/python-modules/rpy2/default.nix
index 1b4ab4d40db9..bc4bc0bcb5b8 100644
--- a/pkgs/development/python-modules/rpy2/default.nix
+++ b/pkgs/development/python-modules/rpy2/default.nix
@@ -3,8 +3,6 @@
 , buildPythonPackage
 , fetchPypi
 , isPyPy
-, isPy27
-, readline
 , R
 , rWrapper
 , rPackages
@@ -13,38 +11,38 @@
 , bzip2
 , zlib
 , icu
-, singledispatch
-, six
+, ipython
 , jinja2
 , pytz
+, pandas
 , numpy
+, cffi
+, tzlocal
+, simplegeneric
 , pytest
-, mock
 , extraRPackages ? []
 }:
 
 buildPythonPackage rec {
-    version = if isPy27 then
-      "2.8.6" # python2 support dropped in 2.9.x
-    else
-      "2.9.5";
+    version = "3.2.2";
     pname = "rpy2";
+
     disabled = isPyPy;
     src = fetchPypi {
       inherit version pname;
-      sha256 = if isPy27 then
-        "162zki5c1apgv6qbafi7n66y4hgpgp43xag7q75qb6kv99ri6k80" # 2.8.x
-      else
-        "1nrj8pgyxrwrfdrxzb4j3z1adjwjx1mr8d1n5cmrz4nhlzy8w7xr"; # 2.9.x
+      sha256 = "0b3jpn9x7m2pccriyzgfsdb68qp6nq4ffhvjy1q2ar8wdxvmf5xp";
     };
+
     buildInputs = [
-      readline
       R
       pcre
       lzma
       bzip2
       zlib
       icu
+
+      # is in the upstream `requires` although it shouldn't be -- this is easier than patching it away
+      pytest
     ] ++ (with rPackages; [
       # packages expected by the test framework
       ggplot2
@@ -58,6 +56,10 @@ buildPythonPackage rec {
       tidyr
     ]) ++ extraRPackages ++ rWrapper.recommendedPackages;
 
+    checkPhase = ''
+      pytest
+    '';
+
     nativeBuildInputs = [
       R # needed at setup time to detect R_HOME (alternatively set R_HOME explicitly)
     ];
@@ -65,38 +67,26 @@ buildPythonPackage rec {
     patches = [
       # R_LIBS_SITE is used by the nix r package to point to the installed R libraries.
       # This patch sets R_LIBS_SITE when rpy2 is imported.
-      ./r-libs-site.patch
+      ./rpy2-3.x-r-libs-site.patch
     ];
     postPatch = ''
-      substituteInPlace rpy/rinterface/__init__.py --replace '@NIX_R_LIBS_SITE@' "$R_LIBS_SITE"
+      substituteInPlace 'rpy2/rinterface_lib/embedded.py' --replace '@NIX_R_LIBS_SITE@' "$R_LIBS_SITE"
     '';
 
     propagatedBuildInputs = [
-      singledispatch
-      six
+      ipython
       jinja2
       pytz
+      pandas
       numpy
+      cffi
+      tzlocal
+      simplegeneric
     ];
 
     checkInputs = [
       pytest
-      mock
     ];
-    # One remaining test failure caused by different unicode encoding.
-    # https://bitbucket.org/rpy2/rpy2/issues/488
-    doCheck = false;
-    checkPhase = ''
-      ${python.interpreter} -m 'rpy2.tests'
-    '';
-
-    # For some reason libreadline.so is not found. Curiously `ldd _rinterface.so | grep readline` shows two readline entries:
-    # libreadline.so.6 => not found
-    # libreadline.so.6 => /nix/store/z2zhmrg6jcrn5iq2779mav0nnq4vm2q6-readline-6.3p08/lib/libreadline.so.6 (0x00007f333ac43000)
-    # There must be a better way to fix this, but I don't know it.
-    postFixup = ''
-      patchelf --add-needed ${readline}/lib/libreadline.so "$out/${python.sitePackages}/rpy2/rinterface/"_rinterface*.so
-    '';
 
     meta = {
       homepage = http://rpy.sourceforge.net/rpy2;
diff --git a/pkgs/development/python-modules/rpy2/rpy2-3.x-r-libs-site.patch b/pkgs/development/python-modules/rpy2/rpy2-3.x-r-libs-site.patch
new file mode 100644
index 000000000000..177e4f9a83d1
--- /dev/null
+++ b/pkgs/development/python-modules/rpy2/rpy2-3.x-r-libs-site.patch
@@ -0,0 +1,21 @@
+diff --git a/rpy2/rinterface_lib/embedded.py b/rpy2/rinterface_lib/embedded.py
+index cc32b6d..3969ad0 100644
+--- a/rpy2/rinterface_lib/embedded.py
++++ b/rpy2/rinterface_lib/embedded.py
+@@ -113,6 +113,16 @@ def _initr(interactive: bool = True,
+         if isinitialized():
+             return None
+         os.environ['R_HOME'] = openrlib.R_HOME
++
++        # path to libraries
++        existing = os.environ.get('R_LIBS_SITE')
++        if existing is not None:
++            prefix = existing + ':'
++        else:
++            prefix = ''
++        additional = '@NIX_R_LIBS_SITE@'
++        os.environ['R_LIBS_SITE'] = prefix + additional
++
+         options_c = [ffi.new('char[]', o.encode('ASCII')) for o in _options]
+         n_options = len(options_c)
+         n_options_c = ffi.cast('int', n_options)
diff --git a/pkgs/development/python-modules/rtslib/default.nix b/pkgs/development/python-modules/rtslib/default.nix
index 5453541e2de5..c1d27488bddf 100644
--- a/pkgs/development/python-modules/rtslib/default.nix
+++ b/pkgs/development/python-modules/rtslib/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "rtslib";
-  version = "2.1.fb69";
+  version = "2.1.71";
 
   src = fetchFromGitHub {
     owner = "open-iscsi";
     repo ="${pname}-fb";
     rev = "v${version}";
-    sha256 = "17rlcrd9757nq91pa8xjr7147k7mxxp8zdka7arhlgsp3kcnbsfd";
+    sha256 = "0cn9azi44hf59mp47207igv72kjbkyz4rsvgzmwbpz0s57b0hnab";
   };
 
   propagatedBuildInputs = [ six pyudev pygobject3 ];
diff --git a/pkgs/development/python-modules/runway-python/default.nix b/pkgs/development/python-modules/runway-python/default.nix
index 62e0d2f0beba..3c893a9a227a 100644
--- a/pkgs/development/python-modules/runway-python/default.nix
+++ b/pkgs/development/python-modules/runway-python/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "runway-python";
-  version = "0.5.1";
+  version = "0.5.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "00cf6fa9ea3b6a195e9eca96216a9d206b6884624d0214bd776f8654cd5e8fea";
+    sha256 = "30046ced74b5502eca604b1ae766fd3daa1b5ed6379fbe1210730710c752d4f6";
   };
 
   propagatedBuildInputs = [ flask flask-cors numpy pillow gevent wget six colorcet ];
diff --git a/pkgs/development/python-modules/secure/default.nix b/pkgs/development/python-modules/secure/default.nix
new file mode 100644
index 000000000000..6d2f2871ec2d
--- /dev/null
+++ b/pkgs/development/python-modules/secure/default.nix
@@ -0,0 +1,30 @@
+{ lib, buildPythonPackage, fetchFromGitHub
+, maya
+, requests
+}:
+
+buildPythonPackage rec {
+  version = "0.2.1";
+  pname = "secure";
+
+  src = fetchFromGitHub {
+    owner = "typeerror";
+    repo = "secure.py";
+    rev = "v${version}";
+    sha256 = "1nbxwi0zccrha6js14ibd596kdi1wpqr7jgs442mqclw4b3f77q5";
+  };
+
+  propagatedBuildInputs = [ maya requests ];
+
+  # no tests in release
+  doCheck = false;
+
+  pythonImportsCheck = [ "secure" ];
+
+  meta = with lib; {
+    description = "Adds optional security headers and cookie attributes for Python web frameworks";
+    homepage = "https://github.com/TypeError/secure.py";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/send2trash/default.nix b/pkgs/development/python-modules/send2trash/default.nix
index 35115a45716e..3809c0418e4c 100644
--- a/pkgs/development/python-modules/send2trash/default.nix
+++ b/pkgs/development/python-modules/send2trash/default.nix
@@ -1,15 +1,12 @@
 { stdenv
-, lib
 , buildPythonPackage
 , fetchFromGitHub
 , pytest
-, configparser
-, isPy3k
 }:
 
 buildPythonPackage rec {
   pname = "Send2Trash";
-  version = "1.4.2";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "hsoft";
@@ -19,10 +16,10 @@ buildPythonPackage rec {
   };
 
   doCheck = !stdenv.isDarwin;
-  checkPhase = "HOME=. py.test";
-  checkInputs = [ pytest ] ++ lib.optional (!isPy3k) configparser;
+  checkPhase = "HOME=$TMPDIR pytest";
+  checkInputs = [ pytest ];
 
-  meta = with lib; {
+  meta = with stdenv.lib; {
     description = "Send file to trash natively under macOS, Windows and Linux";
     homepage = https://github.com/hsoft/send2trash;
     license = licenses.bsd3;
diff --git a/pkgs/development/python-modules/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix
index 9254e53d1428..ae39271a4b00 100644
--- a/pkgs/development/python-modules/setuptools/default.nix
+++ b/pkgs/development/python-modules/setuptools/default.nix
@@ -13,7 +13,7 @@
 
 let
   pname = "setuptools";
-  version = "41.4.0";
+  version = "41.6.0";
 
   # Create an sdist of setuptools
   sdist = stdenv.mkDerivation rec {
@@ -23,7 +23,7 @@ let
       owner = "pypa";
       repo = pname;
       rev = "v${version}";
-      sha256 = "0asxfnsi56r81lm48ynqbfkmm3kvw2jwrlf2l9azn5w6xm30jvp5";
+      sha256 = "0j7bfxq9fwa55ijzw8zn9aa2z2zx4lw2n4jbn1662pjg7v62knv1";
       name = "${pname}-${version}-source";
     };
 
diff --git a/pkgs/development/python-modules/shodan/default.nix b/pkgs/development/python-modules/shodan/default.nix
index 7202b3cf70e2..2e0af01fef07 100644
--- a/pkgs/development/python-modules/shodan/default.nix
+++ b/pkgs/development/python-modules/shodan/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "shodan";
-  version = "1.19.0";
+  version = "1.19.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1i4zrzamvgy3g117a2x66gyi7pzh27slc2w9pqysc0ldfcibi2wx";
+    sha256 = "76b8a3ba577a62799e3ea86410aea54e1f403ef6efbf681a3f38baa2bf4e1c58";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/slicedimage/default.nix b/pkgs/development/python-modules/slicedimage/default.nix
index e121013c150f..edc21e3292df 100644
--- a/pkgs/development/python-modules/slicedimage/default.nix
+++ b/pkgs/development/python-modules/slicedimage/default.nix
@@ -12,6 +12,7 @@
 , six
 , pytest
 , isPy27
+, tifffile
 }:
 
 buildPythonPackage rec {
@@ -31,14 +32,16 @@ buildPythonPackage rec {
     requests
     scikitimage
     six
+    tifffile
   ] ++ lib.optionals isPy27 [ pathlib enum34 ];
 
   checkInputs = [
     pytest
   ];
 
+  # ignore tests which require setup
   checkPhase = ''
-    pytest
+    pytest --ignore tests/io_
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/smart_open/default.nix b/pkgs/development/python-modules/smart_open/default.nix
index 325f59b1df22..48cfcb132f09 100644
--- a/pkgs/development/python-modules/smart_open/default.nix
+++ b/pkgs/development/python-modules/smart_open/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "smart_open";
-  version = "1.8.4";
+  version = "1.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1y845mfsswyvczknwh359xprgc3hk8r17qy1wdibpz6y6pq0g3kq";
+    sha256 = "0xmnp8ywakwg3y21gqdvjw8a4v42vaxfq6njqizzllm4c9g2nk76";
   };
 
   # nixpkgs version of moto is >=1.2.0, remove version pin to fix build
diff --git a/pkgs/development/python-modules/snakebite/default.nix b/pkgs/development/python-modules/snakebite/default.nix
new file mode 100644
index 000000000000..1d08570d7276
--- /dev/null
+++ b/pkgs/development/python-modules/snakebite/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, tox
+, virtualenv
+, protobuf
+}:
+
+buildPythonPackage rec {
+  pname = "snakebite";
+  version = "2.11.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "085238b4944cb9c658ee62d5794de936ac3d0c337c504b2cc86424a205ae978a";
+  };
+
+  checkInputs = [
+    tox
+    virtualenv
+  ];
+
+  propagatedBuildInputs = [
+    protobuf
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "'argparse'" ""
+  '';
+
+  # tests require hadoop hdfs
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Pure Python HDFS client";
+    homepage = http://github.com/spotify/snakebite;
+    license = licenses.asl20;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/spacy/default.nix b/pkgs/development/python-modules/spacy/default.nix
index 23f2a6967da0..e35ea517bf13 100644
--- a/pkgs/development/python-modules/spacy/default.nix
+++ b/pkgs/development/python-modules/spacy/default.nix
@@ -21,16 +21,17 @@
 , blis
 , wasabi
 , srsly
+, catalogue
 , setuptools
 }:
 
 buildPythonPackage rec {
   pname = "spacy";
-  version = "2.2.2";
+  version = "2.2.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "193r7rrqxfj4jqzk4aqgbycficzmc606vkc4ffc46zs3myhlf6sa";
+    sha256 = "0shfjk6nhm6gzp5p88pz5k7bkg5dr3x9yvandkayqb2vsvkwj50x";
   };
 
   propagatedBuildInputs = [
@@ -51,6 +52,7 @@ buildPythonPackage rec {
    blis
    wasabi
    srsly
+   catalogue
    setuptools
   ] ++ lib.optional (pythonOlder "3.4") pathlib;
 
diff --git a/pkgs/development/python-modules/spglib/default.nix b/pkgs/development/python-modules/spglib/default.nix
index 73af5d7b00c6..bad76f8cb93e 100644
--- a/pkgs/development/python-modules/spglib/default.nix
+++ b/pkgs/development/python-modules/spglib/default.nix
@@ -2,22 +2,13 @@
 
 buildPythonPackage rec {
   pname = "spglib";
-  version = "1.12.2.post0";
+  version = "1.14.1.post0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "15b02b74c0f06179bc3650c43a710a5200abbba387c6eda3105bfd9236041443";
+    sha256 = "0kmllcch5p20ylxirqiqzls567jr2808rbld9i8f1kf0205al8qq";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "fix-assertions.patch";
-      url = https://github.com/atztogo/spglib/commit/d57070831585a6f02dec0a31d25b375ba347798c.patch;
-      stripLen = 1;
-      sha256 = "0crmkc498rbrawiy9zbl39qis2nmsbfr4s6kk6k3zhdy8z2ppxw7";
-    })
-  ];
-
   propagatedBuildInputs = [ numpy ];
 
   checkInputs = [ nose pyyaml ];
diff --git a/pkgs/development/python-modules/sqlalchemy-citext/default.nix b/pkgs/development/python-modules/sqlalchemy-citext/default.nix
new file mode 100644
index 000000000000..b91e33854043
--- /dev/null
+++ b/pkgs/development/python-modules/sqlalchemy-citext/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, sqlalchemy
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "sqlalchemy-citext";
+  version = "1.3-0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "7d7343037a35153d6f94c3c2f6baf391f88a57651c3bde5d6749d216859ae4c5";
+  };
+
+  propagatedBuildInputs = [
+    sqlalchemy
+  ];
+
+  checkPhase = ''
+    ${python.interpreter} tests/test_citext.py
+  '';
+
+  meta = with lib; {
+    description = "A sqlalchemy plugin that allows postgres use of CITEXT";
+    homepage = https://github.com/mahmoudimus/sqlalchemy-citext;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/sqlalchemy/default.nix b/pkgs/development/python-modules/sqlalchemy/default.nix
index e9e14b7da4d8..e77f2e0e7b2d 100644
--- a/pkgs/development/python-modules/sqlalchemy/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchPypi, buildPythonPackage, isPy3k, isPy35
+{ stdenv, lib, fetchPypi, buildPythonPackage, isPy3k, isPy35
 , mock
 , pysqlite
 , fetchpatch
@@ -25,7 +25,9 @@ buildPythonPackage rec {
 
   dontUseSetuptoolsCheck = true;
 
-  disabledTests = lib.optionals isPy35 [ "exception_persistent_flush_py3k "];
+  # disable mem-usage tests on mac, has trouble serializing pickle files
+  disabledTests = lib.optionals isPy35 [ "exception_persistent_flush_py3k "]
+    ++ lib.optionals stdenv.isDarwin [ "MemUsageWBackendTest" "MemUsageTest" ];
 
   patches = [
     # Two patches for sqlite 3.30 compatibility.
diff --git a/pkgs/development/python-modules/sshtunnel/default.nix b/pkgs/development/python-modules/sshtunnel/default.nix
new file mode 100644
index 000000000000..ff9d77bc7820
--- /dev/null
+++ b/pkgs/development/python-modules/sshtunnel/default.nix
@@ -0,0 +1,31 @@
+{ lib, buildPythonPackage, fetchPypi
+, paramiko
+, pytest
+, mock
+}:
+
+buildPythonPackage rec {
+  version = "0.1.5";
+  pname = "sshtunnel";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0jcjppp6mdfsqrbfc3ddfxg1ybgvkjv7ri7azwv3j778m36zs4y8";
+  };
+
+  propagatedBuildInputs = [ paramiko ];
+
+  checkInputs = [ pytest mock ];
+
+  # disable impure tests
+  checkPhase = ''
+    pytest -k 'not connect_via_proxy and not read_ssh_config'
+  '';
+
+  meta = with lib; {
+    description = "Pure python SSH tunnels";
+    homepage = "https://github.com/pahaz/sshtunnel";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/starfish/default.nix b/pkgs/development/python-modules/starfish/default.nix
index 7cad8346a6fa..25ce5a0f6515 100644
--- a/pkgs/development/python-modules/starfish/default.nix
+++ b/pkgs/development/python-modules/starfish/default.nix
@@ -26,11 +26,11 @@
 
 buildPythonPackage rec {
   pname = "starfish";
-  version = "0.1.8";
+  version = "0.1.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6924404b9ce7c55b427bebc5712656b87d17b5114e9fb610f2821865bd8d70f4";
+    sha256 = "02002b908572fcd2c7471475936a6c375f143d15df871399ce86ced6d7aef865";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sunpy/default.nix b/pkgs/development/python-modules/sunpy/default.nix
index 252eafec465f..097322524372 100644
--- a/pkgs/development/python-modules/sunpy/default.nix
+++ b/pkgs/development/python-modules/sunpy/default.nix
@@ -1,4 +1,5 @@
-{ lib
+{ stdenv
+, lib
 , buildPythonPackage
 , fetchFromGitHub
 , numpy
@@ -26,14 +27,14 @@
 
 buildPythonPackage rec {
   pname = "sunpy";
-  version = "1.0.2";
+  version = "1.0.6";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "sunpy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0dmfzxxsjjax9wf2ljyl4z07pxbshrj828zi5qnsa9rgk4148q9x";
+    sha256 = "0j2yfhfxgi95rig8cfp9lvszb7694gq90jvs0xrb472hwnzgh2sk";
   };
 
   propagatedBuildInputs = [
@@ -67,8 +68,11 @@ buildPythonPackage rec {
     export HOME=$(mktemp -d)
   '';
 
+  # darwin has write permission issues
+  doCheck = stdenv.isLinux;
+  # ignore documentation tests
   checkPhase = ''
-    pytest sunpy -k "not test_rotation"
+    pytest sunpy -k 'not rst'
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/tables/3.5.nix b/pkgs/development/python-modules/tables/3.5.nix
index b27584d25d02..4cca72aa313a 100644
--- a/pkgs/development/python-modules/tables/3.5.nix
+++ b/pkgs/development/python-modules/tables/3.5.nix
@@ -4,12 +4,12 @@
 with stdenv.lib;
 
 buildPythonPackage rec {
-  version = "3.6.1";
+  version = "3.5.2";
   pname = "tables";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "49a972b8a7c27a8a173aeb05f67acb45fe608b64cd8e9fa667c0962a60b71b49";
+    sha256 = "1hikrki0hx94ass31pn0jyz9iy0zhnkjacfk86m21cxsc8if685j";
   };
 
   buildInputs = [ hdf5 cython bzip2 lzo c-blosc ];
diff --git a/pkgs/development/python-modules/tabulate/default.nix b/pkgs/development/python-modules/tabulate/default.nix
index 956a10b6b047..cda898d2725d 100644
--- a/pkgs/development/python-modules/tabulate/default.nix
+++ b/pkgs/development/python-modules/tabulate/default.nix
@@ -5,12 +5,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.8.5";
+  version = "0.8.6";
   pname = "tabulate";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d0097023658d4dea848d6ae73af84532d1e86617ac0925d1adf1dd903985dac3";
+    sha256 = "5470cc6687a091c7042cee89b2946d9235fe9f6d49c193a4ae2ac7bf386737c8";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/tasklib/default.nix b/pkgs/development/python-modules/tasklib/default.nix
index 73b92ea6d4b6..197c98def3ab 100644
--- a/pkgs/development/python-modules/tasklib/default.nix
+++ b/pkgs/development/python-modules/tasklib/default.nix
@@ -8,11 +8,11 @@ wsl_stub = writeShellScriptBin "wsl" "true";
 
 in buildPythonPackage rec {
   pname = "tasklib";
-  version = "1.2.1";
+  version = "1.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3964fb7e87f86dc5e2708addb67e69d0932534991991b6bae2e37a0c2059273f";
+    sha256 = "19yra86g3wz2xgk22dnrjjh3gla969vb8jrps5rf0cdmsm9qqisv";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/tensorflow-tensorboard/default.nix b/pkgs/development/python-modules/tensorflow-tensorboard/default.nix
index baefd6355666..e0108aed5ef6 100644
--- a/pkgs/development/python-modules/tensorflow-tensorboard/default.nix
+++ b/pkgs/development/python-modules/tensorflow-tensorboard/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, lib, fetchPypi, buildPythonPackage, isPy3k
+{ lib, fetchPypi, buildPythonPackage, isPy3k
 , numpy
+, wheel
 , werkzeug
 , protobuf
 , grpcio
@@ -34,10 +35,29 @@ buildPythonPackage rec {
     werkzeug
     protobuf
     markdown
-    grpcio absl-py
+    grpcio
+    absl-py
+    # not declared in install_requires, but used at runtime
+    # https://github.com/NixOS/nixpkgs/issues/73840
+    wheel
   ] ++ lib.optional (!isPy3k) futures;
 
-  meta = with stdenv.lib; {
+  # in the absence of a real test suite, run cli and imports
+  checkPhase = ''
+    $out/bin/tensorboard --help > /dev/null
+  '';
+
+  pythonImportsCheck = [
+    "tensorboard"
+    "tensorboard.backend"
+    "tensorboard.compat"
+    "tensorboard.data"
+    "tensorboard.plugins"
+    "tensorboard.summary"
+    "tensorboard.util"
+  ];
+
+  meta = with lib; {
     description = "TensorFlow's Visualization Toolkit";
     homepage = http://tensorflow.org;
     license = licenses.asl20;
diff --git a/pkgs/development/python-modules/terminado/default.nix b/pkgs/development/python-modules/terminado/default.nix
index dbcc5935e5e2..af1c4d53e13a 100644
--- a/pkgs/development/python-modules/terminado/default.nix
+++ b/pkgs/development/python-modules/terminado/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "terminado";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "de08e141f83c3a0798b050ecb097ab6259c3f0331b2f7b7750c9075ced2c20c2";
+    sha256 = "4804a774f802306a7d9af7322193c5390f1da0abb429e082a10ef1d46e6fb2c2";
   };
 
   propagatedBuildInputs = [ ptyprocess tornado ];
diff --git a/pkgs/development/python-modules/tesserocr/default.nix b/pkgs/development/python-modules/tesserocr/default.nix
new file mode 100644
index 000000000000..2d4f9d10a8cc
--- /dev/null
+++ b/pkgs/development/python-modules/tesserocr/default.nix
@@ -0,0 +1,34 @@
+{
+  buildPythonPackage,
+  fetchPypi,
+  lib,
+  # build dependencies
+  cython,
+  leptonica,
+  pkg-config,
+  tesseract,
+  # extra python packages
+  pillow
+}:
+
+buildPythonPackage rec {
+  pname = "tesserocr";
+  version = "2.5.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0nj33mwvppacy6p5mqk9a4x26hx9ailshgad84ks60wyms6rgjiv";
+  };
+
+  nativeBuildInputs = [ cython pkg-config ];
+  buildInputs = [ leptonica tesseract ];
+  propagatedBuildInputs = [ pillow ];
+
+  meta = with lib; {
+    description = "A simple, Pillow-friendly, wrapper around the tesseract-ocr API for Optical Character Recognition (OCR)";
+    homepage = "https://github.com/sirfz/tesserocr";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mtrsk ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/python-modules/testfixtures/default.nix b/pkgs/development/python-modules/testfixtures/default.nix
index f429f72cc017..caad49409043 100644
--- a/pkgs/development/python-modules/testfixtures/default.nix
+++ b/pkgs/development/python-modules/testfixtures/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "testfixtures";
-  version = "6.10.1";
+  version = "6.10.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "abbca7ed381d34a77699c6cb68be67919a1e7f5cf8728b57396145417fa34110";
+    sha256 = "c0eb9d20ce3b53e0cf543da7c46c263cc9792f13223def8b26edb6180ecdc895";
   };
 
   checkInputs = [ pytest mock sybil zope_component twisted ];
diff --git a/pkgs/development/python-modules/textwrap3/default.nix b/pkgs/development/python-modules/textwrap3/default.nix
new file mode 100644
index 000000000000..5b8e10db83ea
--- /dev/null
+++ b/pkgs/development/python-modules/textwrap3/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, tox
+, pytest
+, coverage
+, pytestcov
+}:
+
+buildPythonPackage rec {
+  pname = "textwrap3";
+  version = "0.9.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "5008eeebdb236f6303dcd68f18b856d355f6197511d952ba74bc75e40e0c3414";
+  };
+
+  checkInputs = [
+    tox
+    pytest
+    coverage
+    pytestcov
+  ];
+
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = with lib; {
+    description = "Textwrap from Python 3.6 backport plus a few tweaks";
+    homepage = https://github.com/jonathaneunice/textwrap3;
+    license = licenses.psfl;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/tiledb/default.nix b/pkgs/development/python-modules/tiledb/default.nix
new file mode 100644
index 000000000000..b8894f12c6a0
--- /dev/null
+++ b/pkgs/development/python-modules/tiledb/default.nix
@@ -0,0 +1,73 @@
+{ lib
+, python
+, buildPythonPackage
+, fetchFromGitHub
+, cython
+, tiledb
+, numpy
+, wheel
+, isPy3k
+, setuptools_scm
+, psutil
+}:
+
+buildPythonPackage rec {
+  pname = "tiledb";
+  version = "0.5.0";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "TileDB-Inc";
+    repo = "TileDB-Py";
+    rev = version;
+    sha256 = "1c9wl207c8jz0695gy8p6bxywyd1k7wmczcfl7s0hlbknliamvyx";
+  };
+
+  nativeBuildInputs = [
+    cython
+    setuptools_scm
+  ];
+
+  buildInputs = [
+    tiledb
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+    wheel # No idea why but it is listed
+  ];
+
+  checkInputs = [
+    psutil
+  ];
+
+  TILEDB_PATH = tiledb;
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  disabled = !isPy3k; # Not bothering with python2 anymore
+
+  postPatch = ''
+    # Hardcode path to shared object
+    substituteInPlace tiledb/__init__.py --replace \
+      'os.path.join(lib_dir, lib_name)' 'os.path.join("${tiledb}/lib", lib_name)'
+    
+    # Disable failing test
+    substituteInPlace tiledb/tests/test_examples.py --replace \
+      "test_docs" "dont_test_docs"
+  '';
+
+  checkPhase = ''
+    pushd "$out"
+    ${python.interpreter} -m unittest tiledb.tests.all.suite_test
+    popd
+  '';
+
+  meta = with lib; {
+    description = "Python interface to the TileDB storage manager";
+    homepage = https://github.com/TileDB-Inc/TileDB-Py;
+    license = licenses.mit;
+    maintainers = with maintainers; [ fridh ];
+  };
+
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/tinydb/default.nix b/pkgs/development/python-modules/tinydb/default.nix
new file mode 100644
index 000000000000..f4de29b5e6c9
--- /dev/null
+++ b/pkgs/development/python-modules/tinydb/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytest
+, pytestcov
+, pytestrunner
+, pycodestyle
+, pyyaml
+}:
+
+buildPythonPackage rec {
+  pname = "tinydb";
+  version = "v3.14.1";
+
+  src = fetchFromGitHub {
+    owner = "msiemens";
+    repo = pname;
+    rev = version;
+    sha256 = "02idbvrm8j4mwsjfkzy11f4png19k307p53s4qa2ifzssysxpb96";
+  };
+
+  nativeBuildInputs = [
+    pytestrunner
+  ];
+
+  checkInputs = [
+    pytest
+    pytestcov
+    pycodestyle
+    pyyaml
+  ];
+
+  meta = with lib; {
+    description = "A lightweight document oriented database written in pure Python with no external dependencies";
+    homepage = "https://github.com/msiemens/tinydb";
+    license = licenses.asl20;                                                                                                                                                                      
+    maintainers = with maintainers; [ marcus7070 ];
+  };
+}
diff --git a/pkgs/development/python-modules/tld/default.nix b/pkgs/development/python-modules/tld/default.nix
index 95c3756daded..719ea78b7324 100644
--- a/pkgs/development/python-modules/tld/default.nix
+++ b/pkgs/development/python-modules/tld/default.nix
@@ -2,11 +2,11 @@
 
 python.pkgs.buildPythonPackage rec {
   pname   = "tld";
-  version = "0.9.7";
+  version = "0.9.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cef15360ec42547a583d49ef5246936b3ace424a95c00b59c09dcbe44b289961";
+    sha256 = "5963b22029e632a17bde87e35a19dc8c5b17266fb8c58e4d550d5593307e3a72";
   };
 
   propagatedBuildInputs = with python.pkgs; [ six ];
diff --git a/pkgs/development/python-modules/tox/default.nix b/pkgs/development/python-modules/tox/default.nix
index fdc2c9167a34..c24343b46953 100644
--- a/pkgs/development/python-modules/tox/default.nix
+++ b/pkgs/development/python-modules/tox/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "tox";
-  version = "3.14.0";
+  version = "3.14.1";
 
   buildInputs = [ setuptools_scm ];
   propagatedBuildInputs = [ packaging pluggy py six virtualenv toml filelock ];
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c4f6b319c20ba4913dbfe71ebfd14ff95d1853c4231493608182f66e566ecfe1";
+    sha256 = "bcfa3e40abc1e9b70607b56adfd976fe7dc8286ad56aab44e3151daca7d2d0d0";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/traits/default.nix b/pkgs/development/python-modules/traits/default.nix
index bcf205aa1d2d..84aa1c5784e3 100644
--- a/pkgs/development/python-modules/traits/default.nix
+++ b/pkgs/development/python-modules/traits/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "traits";
-  version = "5.1.2";
+  version = "5.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0a17qmpw0z9h7ybh5yxrghvkcf2q90vgxzbnv1n4i0fxhi7mjy3s";
+    sha256 = "1b71vp0l4523428aw098xw6rmkl8vlcy2aag40akijbyz1nnk541";
   };
 
   # Use pytest because its easier to discover tests
diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix
index 95c58e20d91a..9098d41bd69c 100644
--- a/pkgs/development/python-modules/twilio/default.nix
+++ b/pkgs/development/python-modules/twilio/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "twilio";
-  version = "6.32.0";
+  version = "6.33.1";
   # tests not included in PyPi, so fetch from github instead
   src = fetchFromGitHub {
     owner = "twilio";
     repo = "twilio-python";
     rev = version;
-    sha256 = "0by2qjzxv13k4lvy4mas0hf468xf98qbc2arc8fcy6aj7h8jaam8";
+    sha256 = "1k8hf4azgjzb4fifclzi8gj6v22368jk3y9f7f9qhq9ina7ilycj";
   };
 
   buildInputs = [ nose mock ];
diff --git a/pkgs/development/python-modules/twine/default.nix b/pkgs/development/python-modules/twine/default.nix
index a84ab273a4bf..92288b6c774d 100644
--- a/pkgs/development/python-modules/twine/default.nix
+++ b/pkgs/development/python-modules/twine/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pythonOlder
 , pkginfo
 , requests
 , requests_toolbelt
@@ -12,6 +13,7 @@
 buildPythonPackage rec {
   pname = "twine";
   version = "2.0.0";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/uncompyle6/default.nix b/pkgs/development/python-modules/uncompyle6/default.nix
index abc072b19b7f..d4e8d1505d68 100644
--- a/pkgs/development/python-modules/uncompyle6/default.nix
+++ b/pkgs/development/python-modules/uncompyle6/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "uncompyle6";
-  version = "3.5.0";
+  version = "3.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4e6e86c05de588cbf5a2c35ddd080f23cd1770a1ad15c84dc1b2c78d65113af7";
+    sha256 = "af6aea84ca42c889986f8baf86ccb9e3faae5ac1eaef470d2317dfe4131708b3";
   };
 
   checkInputs = [ nose pytest hypothesis six ];
diff --git a/pkgs/development/python-modules/uproot/default.nix b/pkgs/development/python-modules/uproot/default.nix
index 6fd90fc3a18f..f98b34112427 100644
--- a/pkgs/development/python-modules/uproot/default.nix
+++ b/pkgs/development/python-modules/uproot/default.nix
@@ -3,6 +3,7 @@
 , backports_lzma
 , cachetools
 , lz4
+, pandas
 , pytestrunner
 , pytest
 , pkgconfig
@@ -15,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "uproot";
-  version = "3.10.10";
+  version = "3.10.12";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2c780472c5c328d2e34508db1da399038653142572fc3d0b5777b2311edabd83";
+    sha256 = "34953903abe09bbab3ec1a9a4843b05c75b218daa6132c8275d871e88b6e3447";
   };
 
   nativeBuildInputs = [ pytestrunner ];
@@ -27,6 +28,7 @@ buildPythonPackage rec {
   checkInputs = [
     lz4
     mock
+    pandas
     pkgconfig
     pytest
     requests
diff --git a/pkgs/development/python-modules/urllib3/default.nix b/pkgs/development/python-modules/urllib3/default.nix
index 57d5c160ef09..0c8c97925a7b 100644
--- a/pkgs/development/python-modules/urllib3/default.nix
+++ b/pkgs/development/python-modules/urllib3/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "urllib3";
-  version = "1.25.6";
+  version = "1.25.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9a107b99a5393caf59c7aa3c1249c16e6879447533d0887f4336dde834c7be86";
+    sha256 = "f3c5fd51747d450d4dcf6f923c81f78f811aab8205fda64b0aba34a4e48b0745";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/python-modules/vsts-cd-manager/default.nix b/pkgs/development/python-modules/vsts-cd-manager/default.nix
new file mode 100644
index 000000000000..5946fec05b75
--- /dev/null
+++ b/pkgs/development/python-modules/vsts-cd-manager/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildPythonPackage, fetchPypi, isPy27
+, msrest
+, mock
+}:
+
+buildPythonPackage rec {
+  version = "1.0.2";
+  pname = "vsts-cd-manager";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0ys4hrmjbxl4qr26qr3dhhs27yfwn1635vwjdqh1qgjmrmcr1c0b";
+  };
+
+  propagatedBuildInputs = [ msrest mock ];
+
+  # no tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "vsts_cd_manager" ];
+
+  meta = with lib; {
+    description = "Microsoft Azure API Management Client Library for Python";
+    homepage = "https://github.com/Azure/azure-sdk-for-python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/wasabi/default.nix b/pkgs/development/python-modules/wasabi/default.nix
index 6cbb2aa48db6..28912f70471c 100644
--- a/pkgs/development/python-modules/wasabi/default.nix
+++ b/pkgs/development/python-modules/wasabi/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "wasabi";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0f18x27qrr29rgxyiy1k9b469i37n80h0x9vd9i22pyg8wxx67q5";
+    sha256 = "0w2jkgrf0x58v8x90v4nifbwcb87pp613vp3sld1fk2avn80imnw";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/word2vec/default.nix b/pkgs/development/python-modules/word2vec/default.nix
index 36b4b71e0524..706ee7324027 100644
--- a/pkgs/development/python-modules/word2vec/default.nix
+++ b/pkgs/development/python-modules/word2vec/default.nix
@@ -3,19 +3,23 @@
 , fetchPypi
 , cython
 , numpy
+, scikitlearn
+, six
 , python
+, isPy27
 }:
 
 buildPythonPackage rec {
   pname = "word2vec";
   version = "0.10.2";
+  disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "40f6f30a5f113ffbfc24c5ad5de23bfac897f4c1210fb93685b7fca5c4dee7db";
   };
 
-  propagatedBuildInputs = [ cython numpy ];
+  propagatedBuildInputs = [ cython numpy scikitlearn six ];
 
   checkPhase = ''
    cd word2vec/tests;
@@ -27,7 +31,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/danielfrg/word2vec";
     license     = licenses.asl20;
     maintainers = with maintainers; [ NikolaMandic ];
-    broken = true;
   };
 
 }
diff --git a/pkgs/development/python-modules/wrf-python/default.nix b/pkgs/development/python-modules/wrf-python/default.nix
index 8d1443837cde..29c1f8dfa797 100644
--- a/pkgs/development/python-modules/wrf-python/default.nix
+++ b/pkgs/development/python-modules/wrf-python/default.nix
@@ -1,19 +1,20 @@
-{lib, fetchFromGitHub, pythonOlder, buildPythonPackage, gfortran, mock, xarray, wrapt, numpy, netcdf4}:
+{lib, fetchFromGitHub, pythonOlder, buildPythonPackage, gfortran, mock, xarray, wrapt, numpy, netcdf4, setuptools}:
 
 buildPythonPackage rec {
   pname = "wrf-python";
-  version = "1.3.1.1";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
     owner = "NCAR";
     repo = "wrf-python";
     rev = version;
-    sha256 = "12mm7x1r5md6x28vmwyh6k655pgsv6knj8ycmjbxxk8bk7qsj74h";
+    sha256 = "1rklkki54z5392cpwwy78bnmsy2ghc187l3j7nv0rzn6jk5bvyi7";
   };
 
   propagatedBuildInputs = [
     wrapt
     numpy
+    setuptools
     xarray
   ];
 
@@ -39,4 +40,4 @@ buildPythonPackage rec {
     license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ mhaselsteiner ];
 	};
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/wtf-peewee/default.nix b/pkgs/development/python-modules/wtf-peewee/default.nix
new file mode 100644
index 000000000000..a01aaa4631af
--- /dev/null
+++ b/pkgs/development/python-modules/wtf-peewee/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, peewee
+, wtforms
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "wtf-peewee";
+  version = "3.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "acd05d136c8595da3327fcf9176fa85fdcec1f2aac51d235e46e6fc7a0871283";
+  };
+
+  propagatedBuildInputs = [
+    peewee
+    wtforms
+  ];
+
+  checkPhase = ''
+    ${python.interpreter} runtests.py
+  '';
+
+  meta = with lib; {
+    description = "WTForms integration for peewee models";
+    homepage = https://github.com/coleifer/wtf-peewee/;
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/wxPython/4.0.nix b/pkgs/development/python-modules/wxPython/4.0.nix
index bac478561f74..689a1336ef79 100644
--- a/pkgs/development/python-modules/wxPython/4.0.nix
+++ b/pkgs/development/python-modules/wxPython/4.0.nix
@@ -28,11 +28,11 @@
 
 buildPythonPackage rec {
   pname = "wxPython";
-  version = "4.0.7.post1";
+  version = "4.0.7.post2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "da43eaa2eea32c34a52531331b0a69bd791c237803a7c5df451509624766f7ca";
+    sha256 = "5a229e695b64f9864d30a5315e0c1e4ff5e02effede0a07f16e8d856737a0c4e";
   };
 
   doCheck = false;
diff --git a/pkgs/development/python-modules/xdis/default.nix b/pkgs/development/python-modules/xdis/default.nix
index d120f17780b2..533e8d8b577b 100644
--- a/pkgs/development/python-modules/xdis/default.nix
+++ b/pkgs/development/python-modules/xdis/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "xdis";
-  version = "4.1.2";
+  version = "4.1.3";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "rocky";
     repo = "python-xdis";
     rev = version;
-    sha256 = "0icqhafsnmcs6628cg3jjgq0d3x835nqmhljcz93yi457hfqd2lp";
+    sha256 = "0ixx9svyi0kw3z2i51cv1cyg4l5z8hy432kxgsvz20mr9a8z5c91";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/xml2rfc/default.nix b/pkgs/development/python-modules/xml2rfc/default.nix
index ccb4d879be9b..1a54b8b4049c 100644
--- a/pkgs/development/python-modules/xml2rfc/default.nix
+++ b/pkgs/development/python-modules/xml2rfc/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "xml2rfc";
-  version = "2.34.0";
+  version = "2.35.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7b9543edacc2f4fa12cea8b64ae8144afb493d7b2a0135494642f29592b5d272";
+    sha256 = "0jpg9rxxw28n66wzznlhzdgv7b7gd1crcffjhlw7lam93ils4ah5";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/xmlschema/default.nix b/pkgs/development/python-modules/xmlschema/default.nix
index bd5f9eb40b88..19e2ed953288 100644
--- a/pkgs/development/python-modules/xmlschema/default.nix
+++ b/pkgs/development/python-modules/xmlschema/default.nix
@@ -4,14 +4,14 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.0.15";
+  version = "1.0.16";
   pname = "xmlschema";
 
   src = fetchFromGitHub {
     owner = "sissaschool";
     repo = "xmlschema";
     rev = "v${version}";
-    sha256 = "1s8ggvy2s7513cxcal3r37rn1bhpkxhq3hs5m9pgvmrysxjdz8lb";
+    sha256 = "0mxvpafkaxib3qiz3zl7fbsgjaq9hbx4kb0w646azwhg7n7nxghj";
   };
 
   propagatedBuildInputs = [ elementpath ];
diff --git a/pkgs/development/python-modules/xxhash/default.nix b/pkgs/development/python-modules/xxhash/default.nix
index a1d6eaea6003..66f31441ec56 100644
--- a/pkgs/development/python-modules/xxhash/default.nix
+++ b/pkgs/development/python-modules/xxhash/default.nix
@@ -4,12 +4,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.4.2";
+  version = "1.4.3";
   pname = "xxhash";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "82cdc67b41da904aa2921107e9877814079d9b067a99f19852b5d85e8a40555d";
+    sha256 = "8b6b1afe7731d7d9cbb0398b4a811ebb5e6be5c174f72c68abf81f919a435de9";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/yamllint/default.nix b/pkgs/development/python-modules/yamllint/default.nix
index 0406f6fe5a0c..1b83c8987a12 100644
--- a/pkgs/development/python-modules/yamllint/default.nix
+++ b/pkgs/development/python-modules/yamllint/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "yamllint";
-  version = "1.18.0";
+  version = "1.19.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "076hqf189ww95n9vcbkkn8an42nx79cy8pf2qnl251yjncsvnbfl";
+    sha256 = "05fg2i27bq40z83avmz3h91i206dx5k6nyyvpa5vja54sqg14q02";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/zodbpickle/default.nix b/pkgs/development/python-modules/zodbpickle/default.nix
index 1e577fc487ca..b24b5853876a 100644
--- a/pkgs/development/python-modules/zodbpickle/default.nix
+++ b/pkgs/development/python-modules/zodbpickle/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "zodbpickle";
-  version = "1.0.4";
+  version = "2.0.0";
   disabled = isPyPy; # https://github.com/zopefoundation/zodbpickle/issues/10
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0n4hng2zil1j8sbz0b83pxx8ndlh34h2mnmli3bqjmnrbry5zlr5";
+    sha256 = "0fb7c7pnz86pcs6qqwlyw72vnijc04ns2h1zfrm0h7yl8q7r7ng0";
   };
 
   # fails..
diff --git a/pkgs/development/python-modules/zope_proxy/default.nix b/pkgs/development/python-modules/zope_proxy/default.nix
index e08973ecdeab..537fc1465f23 100644
--- a/pkgs/development/python-modules/zope_proxy/default.nix
+++ b/pkgs/development/python-modules/zope_proxy/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "zope.proxy";
-  version = "4.3.2";
+  version = "4.3.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ab6d6975d9c51c13cac828ff03168de21fb562b0664c59bcdc4a4b10f39a5b17";
+    sha256 = "dac4279aa05055d3897ab5e5ee5a7b39db121f91df65a530f8b1ac7f9bd93119";
   };
 
   propagatedBuildInputs = [ zope_interface ];
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
index cd78084d60be..f1a9a9e0e412 100644
--- a/pkgs/development/r-modules/default.nix
+++ b/pkgs/development/r-modules/default.nix
@@ -311,7 +311,7 @@ let
     rgdal = [ pkgs.proj.dev pkgs.gdal ];
     rgeos = [ pkgs.geos ];
     rggobi = [ pkgs.ggobi pkgs.gtk2.dev pkgs.libxml2.dev ];
-    rgl = [ pkgs.libGLU_combined pkgs.xlibsWrapper ];
+    rgl = [ pkgs.libGLU pkgs.libGL pkgs.xlibsWrapper ];
     Rglpk = [ pkgs.glpk ];
     RGtk2 = [ pkgs.gtk2.dev ];
     rhdf5 = [ pkgs.zlib ];
diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix
index d8c3d484f436..18e24d5a31ed 100644
--- a/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/pkgs/development/ruby-modules/gem-config/default.nix
@@ -21,7 +21,7 @@
 , libiconv, postgresql, v8, clang, sqlite, zlib, imagemagick
 , pkgconfig , ncurses, xapian, gpgme, utillinux, tzdata, icu, libffi
 , cmake, libssh2, openssl, libmysqlclient, darwin, git, perl, pcre, gecode_3, curl
-, msgpack, qt59, libsodium, snappy, libossp_uuid, lxc, libpcap, xorg, gtk2, buildRubyGem
+, msgpack, libsodium, snappy, libossp_uuid, lxc, libpcap, xorg, gtk2, buildRubyGem
 , cairo, re2, rake, gobject-introspection, gdk-pixbuf, zeromq, czmq, graphicsmagick, libcxx
 , file, libvirt, glib, vips, taglib, libopus, linux-pam, libidn, protobuf, fribidi, harfbuzz
 , bison, flex, pango, python3, patchelf, binutils, freetds, wrapGAppsHook, atk
@@ -70,11 +70,6 @@ in
     buildInputs = [ cairo pcre xorg.libpthreadstubs xorg.libXdmcp ];
   };
 
-  capybara-webkit = attrs: {
-    buildInputs = [ qt59.qtbase qt59.qtwebkit ] ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Cocoa ];
-    NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1";
-  };
-
   charlock_holmes = attrs: {
     buildInputs = [ which icu zlib ];
   };
diff --git a/pkgs/development/ruby-modules/solargraph/Gemfile.lock b/pkgs/development/ruby-modules/solargraph/Gemfile.lock
index edd946d92850..c2e4840eab06 100644
--- a/pkgs/development/ruby-modules/solargraph/Gemfile.lock
+++ b/pkgs/development/ruby-modules/solargraph/Gemfile.lock
@@ -3,18 +3,18 @@ GEM
   specs:
     ast (2.4.0)
     backport (1.1.2)
-    htmlentities (4.3.4)
-    jaro_winkler (1.5.3)
+    jaro_winkler (1.5.4)
+    maruku (0.7.3)
     mini_portile2 (2.4.0)
-    nokogiri (1.10.4)
+    nokogiri (1.10.5)
       mini_portile2 (~> 2.4.0)
-    parallel (1.18.0)
+    parallel (1.19.1)
     parser (2.6.5.0)
       ast (~> 2.4.0)
     rainbow (3.0.0)
     reverse_markdown (1.3.0)
       nokogiri
-    rubocop (0.75.1)
+    rubocop (0.77.0)
       jaro_winkler (~> 1.5.1)
       parallel (~> 1.10)
       parser (>= 2.6)
@@ -22,11 +22,11 @@ GEM
       ruby-progressbar (~> 1.7)
       unicode-display_width (>= 1.4.0, < 1.7)
     ruby-progressbar (1.10.1)
-    solargraph (0.37.2)
+    solargraph (0.38.0)
       backport (~> 1.1)
       bundler (>= 1.17.2)
-      htmlentities (~> 4.3, >= 4.3.4)
       jaro_winkler (~> 1.5)
+      maruku (~> 0.7, >= 0.7.3)
       nokogiri (~> 1.9, >= 1.9.1)
       parser (~> 2.3)
       reverse_markdown (~> 1.0, >= 1.0.5)
@@ -46,4 +46,4 @@ DEPENDENCIES
   solargraph!
 
 BUNDLED WITH
-   1.17.2
+   1.17.3
diff --git a/pkgs/development/ruby-modules/solargraph/gemset.nix b/pkgs/development/ruby-modules/solargraph/gemset.nix
index aa28f666e5ac..e1ea15fb4e16 100644
--- a/pkgs/development/ruby-modules/solargraph/gemset.nix
+++ b/pkgs/development/ruby-modules/solargraph/gemset.nix
@@ -19,25 +19,25 @@
     };
     version = "1.1.2";
   };
-  htmlentities = {
+  jaro_winkler = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj";
+      sha256 = "1y8l6k34svmdyqxya3iahpwbpvmn3fswhwsvrz0nk1wyb8yfihsh";
       type = "gem";
     };
-    version = "4.3.4";
+    version = "1.5.4";
   };
-  jaro_winkler = {
+  maruku = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1930v0chc1q4fr7hn0y1j34mw0v032a8kh0by4d4sbz8ksy056kf";
+      sha256 = "1r7bxpgnx2hp3g12bjrmdrpv663dfqxsdp0af69kjhxmaxpia56x";
       type = "gem";
     };
-    version = "1.5.3";
+    version = "0.7.3";
   };
   mini_portile2 = {
     groups = ["default"];
@@ -55,20 +55,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
+      sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
       type = "gem";
     };
-    version = "1.10.4";
+    version = "1.10.5";
   };
   parallel = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "091p5zrzzyg3fg48jhdz9lzjf2r9r3akra2cd46yd4nza3xgxshz";
+      sha256 = "12jijkap4akzdv11lm08dglsc8jmc87xcgq6947i1s3qb69f4zn2";
       type = "gem";
     };
-    version = "1.18.0";
+    version = "1.19.1";
   };
   parser = {
     dependencies = ["ast"];
@@ -108,10 +108,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s5q1i7776yklkcwwx6ibm2mwnjky6wv7rpa3xhn8448854is31n";
+      sha256 = "0m88b1bgbhmmbdnz2xv6n0il0j4q5qm9jbc0vf1zsaxmxqp06nx9";
       type = "gem";
     };
-    version = "0.75.1";
+    version = "0.77.0";
   };
   ruby-progressbar = {
     groups = ["default"];
@@ -124,15 +124,15 @@
     version = "1.10.1";
   };
   solargraph = {
-    dependencies = ["backport" "htmlentities" "jaro_winkler" "nokogiri" "parser" "reverse_markdown" "rubocop" "thor" "tilt" "yard"];
+    dependencies = ["backport" "jaro_winkler" "maruku" "nokogiri" "parser" "reverse_markdown" "rubocop" "thor" "tilt" "yard"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0w20g68i6djc2vyx3awzvn15brdfpcwbna27r0903h5djcmnr8a0";
+      sha256 = "1pdqpxvjj6r6gzrz9rmxfg85cmfjs4y2lyq8p5qfg3kfpqx4rhpw";
       type = "gem";
     };
-    version = "0.37.2";
+    version = "0.38.0";
   };
   thor = {
     groups = ["default"];
@@ -174,4 +174,4 @@
     };
     version = "0.9.20";
   };
-}
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/ammonite/default.nix b/pkgs/development/tools/ammonite/default.nix
index ad33edf004f0..69e81596574b 100644
--- a/pkgs/development/tools/ammonite/default.nix
+++ b/pkgs/development/tools/ammonite/default.nix
@@ -22,6 +22,7 @@ stdenv.mkDerivation rec {
     sed -i '0,/java/{s|java|${jre}/bin/java|}' $out/bin/amm
   '' + optionalString (disableRemoteLogging) ''
     sed -i '0,/ammonite.Main/{s|ammonite.Main|ammonite.Main --no-remote-logging|}' $out/bin/amm
+    sed -i '1i #!/bin/sh' $out/bin/amm
   '';
 
   meta = {
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index 81407a3897f8..3fa2dabdcb0c 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchFromGitHub, ocamlPackages, CoreServices }:
+{ stdenv, fetchFromGitHub, ocamlPackages, CoreServices, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "flow";
-  version = "0.111.3";
+  version = "0.112.0";
 
   src = fetchFromGitHub {
     owner  = "facebook";
     repo   = "flow";
     rev    = "refs/tags/v${version}";
-    sha256 = "12hfdcm491ylh0a8rhzj76wdbh556r02aj4q6vv86n3lh2120cxm";
+    sha256 = "1l8aahvlj9hk93snvrqm7r0mxj5iw244q72s6wallsqm7j4g967h";
   };
 
   installPhase = ''
@@ -19,6 +19,14 @@ stdenv.mkDerivation rec {
   buildInputs = (with ocamlPackages; [ ocaml findlib ocamlbuild dtoa core_kernel sedlex ocaml_lwt lwt_log lwt_ppx ppx_deriving ppx_gen_rec ppx_tools_versioned visitors wtf8 ocaml-migrate-parsetree ])
     ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices ];
 
+  patches = [
+    # Fix List.compare labeled argument. Remove when https://github.com/facebook/flow/pull/8191 is merged
+    (fetchpatch {
+      url = "https://github.com/facebook/flow/commit/1625664ec7290d4128587d96cb878571751f8881.patch";
+      sha256 = "18fan0d2xa6z4ilbr7ha3vhnfqlr2s6mb02sgpv8ala99b0mcgmn";
+    })
+  ];
+
   meta = with stdenv.lib; {
     description = "A static type checker for JavaScript";
     homepage = https://flow.org/;
diff --git a/pkgs/development/tools/analysis/radare2/update.py b/pkgs/development/tools/analysis/radare2/update.py
index 794581bca7ad..b9e72e623660 100755
--- a/pkgs/development/tools/analysis/radare2/update.py
+++ b/pkgs/development/tools/analysis/radare2/update.py
@@ -38,7 +38,7 @@ def get_radare2_rev() -> str:
 
 def get_cutter_version() -> str:
     version_expr = """
-(with import <nixpkgs> {}; (builtins.parseDrvName (qt5.callPackage <radare2/cutter.nix> {}).name).version)
+(with import <nixpkgs> {}; lib.getVersion (qt5.callPackage <radare2/cutter.nix> {}))
 """
     return sh("nix", "eval", "--raw", version_expr.strip(), "-I", "radare2={0}".format(SCRIPT_DIR))
 
diff --git a/pkgs/development/tools/analysis/rr/default.nix b/pkgs/development/tools/analysis/rr/default.nix
index 844fd38d9be6..a8d95eb05deb 100644
--- a/pkgs/development/tools/analysis/rr/default.nix
+++ b/pkgs/development/tools/analysis/rr/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     cmake libpfm zlib python2Packages.python python2Packages.pexpect which procps gdb capnproto
   ];
+  propagatedBuildInputs = [ gdb ]; # needs GDB to replay programs at runtime
   cmakeFlags = [
     "-DCMAKE_C_FLAGS_RELEASE:STRING="
     "-DCMAKE_CXX_FLAGS_RELEASE:STRING="
diff --git a/pkgs/development/tools/analysis/tflint/default.nix b/pkgs/development/tools/analysis/tflint/default.nix
index 2e07542d5f9b..65a5539028cc 100644
--- a/pkgs/development/tools/analysis/tflint/default.nix
+++ b/pkgs/development/tools/analysis/tflint/default.nix
@@ -2,22 +2,22 @@
 
 buildGoModule rec {
   pname = "tflint";
-  version = "0.12.1";
+  version = "0.13.1";
 
   src = fetchFromGitHub {
-    owner = "wata727";
+    owner = "terraform-linters";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1vwv6gkzrs5nv5a278siwza2ifwqy08rmcdddx275crcjkz3bv53";
+    sha256 = "0ivvx1nbhzijyiv9q05b5953wxga5wdskamnhfvlwpniabic3gxi";
   };
 
-  modSha256 = "048mh6zr1fkz5bcxg27d0s472ig9xcq0zgbqpxspkvkdxxw9iizf";
+  modSha256 = "0q1sc0bj4a29rzly4fk6m40b8i7syxa7ff9882jwi7gxjdiklch3";
 
   subPackages = [ "." ];
 
   meta = with lib; {
     description = "Terraform linter focused on possible errors, best practices, and so on";
-    homepage = "https://github.com/wata727/tflint";
+    homepage = "https://github.com/terraform-linters/tflint";
     license = licenses.mpl20;
     maintainers = [ maintainers.marsam ];
   };
diff --git a/pkgs/development/tools/analysis/tfsec/default.nix b/pkgs/development/tools/analysis/tfsec/default.nix
new file mode 100644
index 000000000000..80c23205c407
--- /dev/null
+++ b/pkgs/development/tools/analysis/tfsec/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "tfsec";
+  version = "0.12.2";
+
+  src = fetchFromGitHub {
+    owner = "liamg";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1xrhsl60xf7230z4d2dyy86406a2306yfqchijrz0957xpkrik2r";
+  };
+
+  goPackagePath = "github.com/liamg/tfsec";
+
+  meta = with lib; {
+    homepage = "https://github.com/liamg/tfsec";
+    description = "Static analysis powered security scanner for your terraform code";
+    license = licenses.mit;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/pkgs/development/tools/async/default.nix b/pkgs/development/tools/async/default.nix
new file mode 100644
index 000000000000..1b06d8e1adcc
--- /dev/null
+++ b/pkgs/development/tools/async/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "async";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "ctbur";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "19ypflbayi5l0mb8yw7w0a4bq9a3w8nl9jsxapp9m3xggzmsvrxx";
+  };
+
+  cargoSha256 = "1qf52xsd15rj8y9w65zyab7akvzry76k1d4gxvxlz7ph3sl7jl3y";
+
+  meta = with stdenv.lib; {
+    description = "A tool to parallelize shell commands";
+    longDescription = ''
+      `async` is a tool to run shell commands in parallel and is designed to be
+      able to quickly parallelize shell scripts with minimal changes. It was
+      inspired by GNU Parallel, with the main difference being that async
+      retains state between commands by running a server in the background.
+      '';
+    homepage = "https://github.com/ctbur/async";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ minijackson ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/aws-sam-cli/default.nix b/pkgs/development/tools/aws-sam-cli/default.nix
index 67abd284952d..12cce3e8d468 100644
--- a/pkgs/development/tools/aws-sam-cli/default.nix
+++ b/pkgs/development/tools/aws-sam-cli/default.nix
@@ -5,12 +5,11 @@
 let
   py = python.override {
     packageOverrides = self: super: {
-
-      aws-sam-translator = super.aws-sam-translator.overridePythonAttrs (oldAttrs: rec {
-        version = "1.14.0";
+      flask = super.flask.overridePythonAttrs (oldAttrs: rec {
+        version = "1.0.2";
         src = oldAttrs.src.override {
           inherit version;
-          sha256 = "1cghn1m7ana9s8kyg61dwp9mrism5l04vy5rj1wnmksz8vzmnq9w";
+          sha256 = "0j6f4a9rpfh25k1gp7azqhnni4mb4fgy50jammgjgddw1l3w0w92";
         };
       });
 
@@ -34,11 +33,11 @@ with py.pkgs;
 
 buildPythonApplication rec {
   pname = "aws-sam-cli";
-  version = "0.22.0";
+  version = "0.34.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1flbvqlj5llz7nrszmcf00v2a1pa36alv90r1l8lwn8zid5aabkn";
+    sha256 = "1ndgcbd6zr23lvmqn4wikgvnlwl0gj0wgyawaspwm3b0jlvxadik";
   };
 
   # Tests are not included in the PyPI package
@@ -58,6 +57,7 @@ buildPythonApplication rec {
     requests
     serverlessrepo
     six
+    tomlkit
   ];
 
   # fix over-restrictive version bounds
diff --git a/pkgs/development/tools/build-managers/bazel/default.nix b/pkgs/development/tools/build-managers/bazel/default.nix
index 4a5a1d4d44cd..74a4ff4a3da6 100644
--- a/pkgs/development/tools/build-managers/bazel/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/default.nix
@@ -22,11 +22,11 @@
 }:
 
 let
-  version = "1.1.0";
+  version = "1.2.1";
 
   src = fetchurl {
     url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    sha256 = "1awm5wa4y4c37zy7d1ass83amwq5992wydkj5v9jx0zp7b4shrjb";
+    sha256 = "1qfk14mgx1m454b4w4ldggljzqkqwpdwrlynq7rc8aq11yfs8p95";
   };
 
   # Update with `eval $(nix-build -A bazel.updater)`,
@@ -50,7 +50,7 @@ let
        else srcs."java_tools_javac11_linux-v6.1.zip")
       srcs."coverage_output_generator-v2.0.zip"
       srcs.build_bazel_rules_nodejs
-      srcs."android_tools_pkg-0.11.tar.gz"
+      srcs."android_tools_pkg-0.12.tar.gz"
       srcs."0.28.3.tar.gz"
       srcs.rules_pkg
       srcs.rules_cc
diff --git a/pkgs/development/tools/build-managers/bazel/src-deps.json b/pkgs/development/tools/build-managers/bazel/src-deps.json
index 152cce5093e8..e86e6a1c9458 100644
--- a/pkgs/development/tools/build-managers/bazel/src-deps.json
+++ b/pkgs/development/tools/build-managers/bazel/src-deps.json
@@ -55,11 +55,11 @@
             "https://github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz"
         ]
     },
-    "android_tools_pkg-0.11.tar.gz": {
-        "name": "android_tools_pkg-0.11.tar.gz",
-        "sha256": "6fc50151063bffdda700038ea7df99c89d54dc066e9377a5baff60d55d482ad2",
+    "android_tools_pkg-0.12.tar.gz": {
+        "name": "android_tools_pkg-0.12.tar.gz",
+        "sha256": "96c4eef4d195dd95e43a4259cf5b82a1e34f67333439e91955bbdc0e1c8e7a31",
         "urls": [
-            "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.11.tar.gz"
+            "https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.12.tar.gz"
         ]
     },
     "bazel_j2objc": {
@@ -108,11 +108,11 @@
     },
     "com_google_googletest": {
         "name": "com_google_googletest",
-        "sha256": "0fb00ff413f6b9b80ccee44a374ca7a18af7315aea72a43c62f2acd1ca74e9b5",
-        "strip_prefix": "googletest-f13bbe2992d188e834339abe6f715b2b2f840a77",
+        "sha256": "9dc9157a9a1551ec7a7e43daea9a694a0bb5fb8bec81235d8a1e6ef64c716dcb",
+        "strip_prefix": "googletest-release-1.10.0",
         "urls": [
-            "https://mirror.bazel.build/github.com/google/googletest/archive/f13bbe2992d188e834339abe6f715b2b2f840a77.tar.gz",
-            "https://github.com/google/googletest/archive/f13bbe2992d188e834339abe6f715b2b2f840a77.tar.gz"
+            "https://mirror.bazel.build/github.com/google/googletest/archive/release-1.10.0.tar.gz",
+            "https://github.com/google/googletest/archive/release-1.10.0.tar.gz"
         ]
     },
     "coverage_output_generator-v2.0.zip": {
diff --git a/pkgs/development/tools/build-managers/bloop/default.nix b/pkgs/development/tools/build-managers/bloop/default.nix
index 23ffe2868241..ce656d4d78ff 100644
--- a/pkgs/development/tools/build-managers/bloop/default.nix
+++ b/pkgs/development/tools/build-managers/bloop/default.nix
@@ -2,15 +2,15 @@
 
 let
   baseName = "bloop";
-  version = "1.3.2";
-  nailgunCommit = "9327a60a"; # Fetched from https://github.com/scalacenter/bloop/releases/download/v${version}/install.py
+  version = "1.3.4";
+  nailgunCommit = "d7ed5db"; # Fetched from https://github.com/scalacenter/bloop/releases/download/v${version}/install.py
 
   client = stdenv.mkDerivation {
     name = "${baseName}-client-${version}";
 
     src = fetchurl {
       url = "https://raw.githubusercontent.com/scalacenter/nailgun/${nailgunCommit}/pynailgun/ng.py";
-      sha256 = "0z4as5ibmzkd145wsch9caiy4037bgg780gcf7pyns0cv9n955b4";
+      sha256 = "0lrj25m0nvphz2i5mqjwccpyrd7gn8a5k22k5khrpdh6ldxqis8a";
     };
 
     phases = [ "installPhase" ];
@@ -33,7 +33,7 @@ let
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash     = "0k9zc9q793fkfwcssbkmzb0nxmgb99rwi0pjkqhvf719vmgvhc2a";
+    outputHash     = "1z33ip6hgfwiixm2gimz819p5cnxn1fmxb3ryyf77jzwsx7py718";
   };
 
   zsh = stdenv.mkDerivation {
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index 6dd7f5a884cf..3cd724b1a311 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -19,12 +19,12 @@ stdenv.mkDerivation rec {
           + lib.optionalString useNcurses "-cursesUI"
           + lib.optionalString withQt5 "-qt5UI"
           + lib.optionalString useQt4 "-qt4UI";
-  version = "3.15.4";
+  version = "3.15.5";
 
   src = fetchurl {
     url = "${meta.homepage}files/v${lib.versions.majorMinor version}/cmake-${version}.tar.gz";
     # compare with https://cmake.org/files/v${lib.versions.majorMinor version}/cmake-${version}-SHA-256.txt
-    sha256 = "0ypd051rh3nxhjfb5wcmnxi78p1d1qbzrhazn94lwdr1xa4ia8ca";
+    sha256 = "1d5y8d92axcc6rfqlsxamayfs3fc1vdby91hn5mx1kn02ppprpgv";
   };
 
   patches = [
diff --git a/pkgs/development/tools/build-managers/conan/default.nix b/pkgs/development/tools/build-managers/conan/default.nix
index ce7b08710441..59b1b14ac5fa 100644
--- a/pkgs/development/tools/build-managers/conan/default.nix
+++ b/pkgs/development/tools/build-managers/conan/default.nix
@@ -1,4 +1,4 @@
-{ lib, python3, git }:
+{ lib, python3, git, pkgconfig }:
 
 let newPython = python3.override {
   packageOverrides = self: super: {
@@ -37,43 +37,48 @@ let newPython = python3.override {
         sha256 = "c0abe3218b86533cca287e7057a37481883c07acef7814b70583406938214cc8";
       };
     });
-    pyyaml = super.pyyaml_3;
   };
 };
 
 in newPython.pkgs.buildPythonApplication rec {
-  version = "1.12.0";
+  version = "1.12.3";
   pname = "conan";
 
   src = newPython.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "0hgy3wfy96likdchz42h9mawfjw4dxx7k2iinrrlhph7128kji1j";
+    sha256 = "1cnfy9b57apps4bfai6r67g0mrvgnqa154z9idv0kf93k1nvx53g";
   };
+
+  propagatedBuildInputs = with newPython.pkgs; [
+    colorama deprecation distro fasteners bottle
+    future node-semver patch pygments pluginbase
+    pyjwt pylint pyyaml requests six tqdm
+  ];
+
   checkInputs = [
+    pkgconfig
     git
   ] ++ (with newPython.pkgs; [
     codecov
     mock
+    pytest
     node-semver
     nose
     parameterized
     webtest
   ]);
 
-  propagatedBuildInputs = with newPython.pkgs; [
-    colorama deprecation distro fasteners bottle
-    future node-semver patch pygments pluginbase
-    pyjwt pylint pyyaml requests six tqdm
-  ];
-
   checkPhase = ''
-    export HOME="$TMP/conan-home"
-    mkdir -p "$HOME"
+    export HOME=$TMPDIR
+    pytest conans/test/{utils,unittests} \
+      -k 'not SVN and not ToolsNetTest'
   '';
 
   postPatch = ''
     substituteInPlace conans/requirements_server.txt \
       --replace "pluginbase>=0.5, < 1.0" "pluginbase>=0.5"
+    substituteInPlace conans/requirements.txt \
+      --replace "PyYAML>=3.11, <3.14.0" "PyYAML"
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/tools/build-managers/kati/default.nix b/pkgs/development/tools/build-managers/kati/default.nix
index 03cc0518ab51..05834565f931 100644
--- a/pkgs/development/tools/build-managers/kati/default.nix
+++ b/pkgs/development/tools/build-managers/kati/default.nix
@@ -1,14 +1,14 @@
-{ fetchgit, stdenv }:
+{ stdenv, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   pname = "kati-unstable";
-  version = "2017-05-23";
-  rev = "2dde61e46ab789f18956ff3b7c257dd8eb97993f";
+  version = "2019-09-23";
 
-  src = fetchgit {
-    inherit rev;
-    url = "https://github.com/google/kati.git";
-    sha256 = "1das1fvycra546lmh72cr5qpgblhbzqqy7gfywiijjgx160l75vq";
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "kati";
+    rev = "9da3296746a0cd55b38ebebf91e7f57105a4c36f";
+    sha256 = "0s5dfhgpcbx12b1fqmm8p0jpvrhgrnl9qywv1ksbwhw3pfp7j866";
   };
 
   patches = [ ./version.patch ];
@@ -17,10 +17,11 @@ stdenv.mkDerivation rec {
     install -D ckati $out/bin/ckati
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An experimental GNU make clone";
     homepage = https://github.com/google/kati;
-    platforms = stdenv.lib.platforms.all;
-    license = stdenv.lib.licenses.asl20;
+    platforms = platforms.all;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ danielfullmer ];
   };
 }
diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix
index 93c5e39bd23c..6633d101ce40 100644
--- a/pkgs/development/tools/build-managers/meson/default.nix
+++ b/pkgs/development/tools/build-managers/meson/default.nix
@@ -120,7 +120,7 @@ python3Packages.buildPythonApplication rec {
   isCross = stdenv.targetPlatform != stdenv.hostPlatform;
 
   meta = with lib; {
-    homepage = http://mesonbuild.com;
+    homepage = https://mesonbuild.com;
     description = "SCons-like build system that use python as a front-end language and Ninja as a building backend";
     license = licenses.asl20;
     maintainers = with maintainers; [ mbe rasendubi ];
diff --git a/pkgs/development/tools/build-managers/qbs/default.nix b/pkgs/development/tools/build-managers/qbs/default.nix
index 08baa53b1dc0..cd08ae973eba 100644
--- a/pkgs/development/tools/build-managers/qbs/default.nix
+++ b/pkgs/development/tools/build-managers/qbs/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec {
   pname = "qbs";
 
-  version = "1.14.0";
+  version = "1.14.1";
 
   src = fetchFromGitHub {
     owner = "qbs";
     repo = "qbs";
     rev = "v${version}";
-    sha256 = "19adxjyp5bf5hrjisv3ff9ndcmh1glrxfrzifs46xjn3r69kyv1k";
+    sha256 = "0rqfnclhzln6v4gm68fn4vn6ncf5qpi90295fwm4fx6dq4l94b3v";
   };
 
   nativeBuildInputs = [ qmake ];
diff --git a/pkgs/development/tools/build-managers/rebar3/default.nix b/pkgs/development/tools/build-managers/rebar3/default.nix
index feb0086a355d..4ebeb7f05284 100644
--- a/pkgs/development/tools/build-managers/rebar3/default.nix
+++ b/pkgs/development/tools/build-managers/rebar3/default.nix
@@ -1,12 +1,10 @@
 { stdenv, fetchFromGitHub,
   fetchHex, erlang,
-  tree, hexRegistrySnapshot }:
+  tree }:
 
 let
   version = "3.12.0";
 
-  bootstrapper = ./rebar3-nix-bootstrap;
-
   erlware_commons = fetchHex {
     pkg = "erlware_commons";
     version = "1.3.1";
@@ -80,15 +78,9 @@ stdenv.mkDerivation rec {
     sha256 = "0936ix7lfwsamssap58b265zid7x2m97azrr2qpjcln3xysd16lg";
   };
 
-  inherit bootstrapper;
-
   buildInputs = [ erlang tree ];
 
-  # TODO: Remove registry snapshot
-  propagatedBuildInputs = [ hexRegistrySnapshot ];
-
   postPatch = ''
-    ${erlang}/bin/escript ${bootstrapper} registry-only
     mkdir -p _checkouts
     mkdir -p _build/default/lib/
 
diff --git a/pkgs/development/tools/build-managers/rebar3/rebar3-nix-bootstrap b/pkgs/development/tools/build-managers/rebar3/rebar3-nix-bootstrap
index 802f47af6adf..f1deed1df352 100755
--- a/pkgs/development/tools/build-managers/rebar3/rebar3-nix-bootstrap
+++ b/pkgs/development/tools/build-managers/rebar3/rebar3-nix-bootstrap
@@ -25,14 +25,12 @@
 %%%   Environment Variable
 
 -record(data, {version
-              , registry_only = false
               , debug_info = false
               , compile_ports
               , erl_libs
               , plugins
               , root
-              , name
-              , registry_snapshot}).
+              , name}).
 
 -define(HEX_REGISTRY_PATH, ".cache/rebar3/hex/default/registry").
 
@@ -41,30 +39,24 @@ main(Args) ->
     {ok, RequiredData} = gather_required_data_from_the_environment(ArgData),
     do_the_bootstrap(RequiredData).
 
-%% @doc There are two modes 'registry_only' where the register is
-%% created from hex and everything else.
 -spec do_the_bootstrap(#data{}) -> ok.
-do_the_bootstrap(RequiredData = #data{registry_only = true}) ->
-    ok = bootstrap_registry(RequiredData);
 do_the_bootstrap(RequiredData) ->
-    ok = bootstrap_registry(RequiredData),
     ok = bootstrap_configs(RequiredData),
     ok = bootstrap_plugins(RequiredData),
     ok = bootstrap_libs(RequiredData).
 
 %% @doc
 %% Argument parsing is super simple only because we want to keep the
-%% dependencies minimal. For now there can be two entries on the
-%% command line, "registry-only" and "debug-info"
+%% dependencies minimal. For now there can be one entry on the
+%% command line: "debug-info"
 -spec parse_args([string()]) -> #data{}.
 parse_args(Args0) ->
-    PossibleArgs = sets:from_list(["registry-only", "debug-info"]),
+    PossibleArgs = sets:from_list(["debug-info"]),
     Args1 = sets:from_list(Args0),
     Result = sets:subtract(Args1, PossibleArgs),
     case sets:to_list(Result) of
         [] ->
-            {ok, #data{registry_only = sets:is_element("registry-only", Args1),
-                       debug_info = sets:is_element("debug-info", Args1)}};
+            {ok, #data{debug_info = sets:is_element("debug-info", Args1)}};
         UnknownArgs ->
             io:format("Unexpected command line arguments passed in: ~p~n",
                       [UnknownArgs]),
@@ -156,30 +148,6 @@ fixup_app_name(FileName) ->
         [Name, _Version, _Tag] -> Name
     end.
 
--spec bootstrap_registry(#data{}) -> ok.
-bootstrap_registry(#data{registry_snapshot = RegistrySnapshot}) ->
-    io:format("Bootstrapping Hex Registry for Rebar~n"),
-    make_sure_registry_snapshot_exists(RegistrySnapshot),
-    filelib:ensure_dir(?HEX_REGISTRY_PATH),
-    ok = case filelib:is_file(?HEX_REGISTRY_PATH) of
-             true ->
-                 file:delete(?HEX_REGISTRY_PATH);
-             false ->
-                 ok
-         end,
-    ok = file:make_symlink(RegistrySnapshot,
-                           ?HEX_REGISTRY_PATH).
-
--spec make_sure_registry_snapshot_exists(string()) -> ok.
-make_sure_registry_snapshot_exists(RegistrySnapshot) ->
-    case filelib:is_file(RegistrySnapshot) of
-        true ->
-            ok;
-        false ->
-            stderr("Registry snapshot (~s) does not exist!", [RegistrySnapshot]),
-            erlang:halt(1)
-    end.
-
 -spec gather_required_data_from_the_environment(#data{}) -> {ok, #data{}}.
 gather_required_data_from_the_environment(ArgData) ->
     {ok, ArgData#data{ version = guard_env("version")
@@ -187,8 +155,7 @@ gather_required_data_from_the_environment(ArgData) ->
                      , plugins = get_env("buildPlugins", [])
                      , root = code:root_dir()
                      , name = guard_env("name")
-                     , compile_ports = nix2bool(get_env("compilePorts", ""))
-                     , registry_snapshot = guard_env("HEX_REGISTRY_SNAPSHOT")}}.
+                     , compile_ports = nix2bool(get_env("compilePorts", ""))}}.
 
 -spec nix2bool(any()) -> boolean().
 nix2bool("1") ->
diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix
index bb2f000f606a..7440b25c6e49 100644
--- a/pkgs/development/tools/build-managers/sbt/default.nix
+++ b/pkgs/development/tools/build-managers/sbt/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "sbt";
-  version = "1.3.3";
+  version = "1.3.4";
 
   src = fetchurl {
     urls = [
       "https://piccolo.link/sbt-${version}.tgz"
       "https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz"
     ];
-    sha256 = "0v27i8pd9ss53ipi1cs40426mnyppdjgcdjk8nn05bi6rm7a4r7y";
+    sha256 = "0bz6jj7jiwxd35xw9l1jbd846r0129pwgdi8m6dxwb8zybj73k2m";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/tools/buildpack/default.nix b/pkgs/development/tools/buildpack/default.nix
new file mode 100644
index 000000000000..8c1a2bbb62d4
--- /dev/null
+++ b/pkgs/development/tools/buildpack/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "pack";
+  version = "0.5.0";
+
+  src = fetchFromGitHub {
+    owner = "buildpack";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0yh62h7lz2i07gixccmfyxk607djp1nrs57rzk7nkxnjcj4jj5sr";
+  };
+
+  goPackagePath = "github.com/buildpack/pack";
+
+  subPackages = [ "cmd/pack" ];
+
+  buildFlagsArray = [ "-ldflags=-s -w -X github.com/buildpack/pack/cmd.Version=${version}" ];
+
+  meta = with lib; {
+    homepage = "https://buildpacks.io/";
+    description = "Local CLI for building apps using Cloud Native Buildpacks";
+    license = licenses.asl20;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/pkgs/development/tools/ccloud-cli/default.nix b/pkgs/development/tools/ccloud-cli/default.nix
new file mode 100644
index 000000000000..7fa530297722
--- /dev/null
+++ b/pkgs/development/tools/ccloud-cli/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, autoPatchelfHook, fetchurl, lib }:
+
+stdenv.mkDerivation rec {
+  pname = "ccloud-cli";
+  version = "0.202.0";
+
+  # To get the latest version:
+  # curl -L 'https://s3-us-west-2.amazonaws.com/confluent.cloud?prefix=ccloud-cli/archives/&delimiter=/' | nix run nixpkgs.libxml2 -c xmllint --format -
+  src = fetchurl (if stdenv.hostPlatform.isDarwin then {
+      url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/ccloud-cli/archives/${version}/ccloud_v${version}_darwin_amd64.tar.gz";
+      sha256 = "1w7c7fwpjj6f26nmcgm6rkrl4v9zhdpygkh02la77n23lg8wxah5";
+    } else {
+      url = "https://s3-us-west-2.amazonaws.com/confluent.cloud/ccloud-cli/archives/${version}/ccloud_v${version}_linux_amd64.tar.gz";
+      sha256 = "1xbhv2viw8cbwv03rfq99jddnw5lwy812a8xby348290l323xi89";
+    });
+
+  nativeBuildInputs = [ autoPatchelfHook ];
+
+  installPhase = ''
+    mkdir -p $out/{bin,share/doc/ccloud-cli}
+    cp ccloud $out/bin/
+    cp LICENSE $out/share/doc/ccloud-cli/
+    cp -r legal $out/share/doc/ccloud-cli/
+  '';
+
+  meta = with lib; {
+    description = "Confluent Cloud CLI";
+    homepage = https://docs.confluent.io/current/cloud/cli/index.html;
+    license = licenses.unfree;
+    maintainers = with maintainers; [ kalbasit ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/development/tools/chefdk/default.nix b/pkgs/development/tools/chefdk/default.nix
index d5c742014189..d30c0aaeb496 100644
--- a/pkgs/development/tools/chefdk/default.nix
+++ b/pkgs/development/tools/chefdk/default.nix
@@ -1,7 +1,7 @@
 { lib, bundlerEnv, bundlerUpdateScript, ruby_2_4, perl, autoconf }:
 
 bundlerEnv {
-  pname = "chef-dk";
+  name = "chef-dk-2.4.17";
 
   ruby = ruby_2_4;
   gemdir = ./.;
diff --git a/pkgs/development/tools/clang-tools/default.nix b/pkgs/development/tools/clang-tools/default.nix
index 0abea99f64ae..2e8f48901aba 100644
--- a/pkgs/development/tools/clang-tools/default.nix
+++ b/pkgs/development/tools/clang-tools/default.nix
@@ -13,15 +13,20 @@ in stdenv.mkDerivation {
     runHook preInstall
 
     mkdir -p $out/bin
+    export libc_includes="${stdenv.lib.getDev stdenv.cc.libc}/include"
+    export libcpp_includes="${llvmPackages.libcxx}/include/c++/v1"
+
+    export clang=${clang}
+    substituteAll ${./wrapper} $out/bin/clangd
+    chmod +x $out/bin/clangd
     for tool in \
       clang-apply-replacements \
       clang-check \
       clang-format \
       clang-rename \
-      clang-tidy \
-      clangd
+      clang-tidy
     do
-      ln -s ${clang}/bin/$tool $out/bin/$tool
+      ln -s $out/bin/clangd $out/bin/$tool
     done
 
     runHook postInstall
diff --git a/pkgs/development/tools/clang-tools/wrapper b/pkgs/development/tools/clang-tools/wrapper
new file mode 100644
index 000000000000..53c99a67f2d3
--- /dev/null
+++ b/pkgs/development/tools/clang-tools/wrapper
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+buildcpath() {
+  local path
+  while (( $# )); do
+    case $1 in
+        -isystem)
+            shift
+            path=$path${path:+':'}$1
+    esac
+    shift
+  done
+  echo $path
+}
+
+export CPATH=${CPATH}${CPATH:+':'}$(buildcpath ${NIX_CFLAGS_COMPILE})
+export CPATH=${CPATH}${CPATH:+':'}@libc_includes@
+export CPLUS_INCLUDE_PATH=${CPATH}${CPATH:+':'}@libcpp_includes@
+
+exec -a "$0" @clang@/bin/$(basename $0) "$@"
diff --git a/pkgs/development/tools/clj-kondo/default.nix b/pkgs/development/tools/clj-kondo/default.nix
index f821ac32fc43..223da64603b0 100644
--- a/pkgs/development/tools/clj-kondo/default.nix
+++ b/pkgs/development/tools/clj-kondo/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec{
   pname = "clj-kondo";
-  version = "2019.11.03";
+  version = "2019.11.07";
 
   reflectionJson = fetchurl {
     name = "reflection.json";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec{
 
   src = fetchurl {
     url = "https://github.com/borkdude/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
-    sha256 = "1chvdfczlxyy1jspyf4yv1kmgz6fq4fih5qvfarvcyw7nlxlj2np";
+    sha256 = "145cdpcdzh2v77kvg8a0qqac9ra7vdcf9hj71vy5w7fck08yf192";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index 8bac62b07c19..c264e528c8d6 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,16 +1,16 @@
 { lib, buildGoPackage, fetchFromGitLab, fetchurl }:
 
 let
-  version = "12.4.1";
+  version = "12.5.0";
   # Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
   docker_x86_64 = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-x86_64.tar.xz";
-    sha256 = "0y68x5hl2gip7bpcgjychf5qd1535ry4qkjb3fybm2pb81qy2gy7";
+    sha256 = "1g4cgcn33zglk3az0pn81vsnq5b2csclxlx6hbp0l546lqjfw30d";
   };
 
   docker_arm = fetchurl {
     url = "https://gitlab-runner-downloads.s3.amazonaws.com/v${version}/helper-images/prebuilt-arm.tar.xz";
-    sha256 = "1nb0cspjqasyg7bppyrf3m3rg1c26iaw6h9dpnq2m7f60dciyiq2";
+    sha256 = "0v13b4likwx1szbzbj3cf9yvkc9rbn8760agrf1bxik0immhhhq4";
   };
 in
 buildGoPackage rec {
@@ -29,7 +29,7 @@ buildGoPackage rec {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "1smn7b1dvqvaka23a7zhnlnpbqw40hpdn8vvj1r3ivx20khpsnhn";
+    sha256 = "0qlvm0ixwbkbqh73gbhvzhkaswwv1jcmqa79mazxwphxcki04m96";
   };
 
   patches = [ ./fix-shell-path.patch ];
diff --git a/pkgs/development/tools/continuous-integration/gocd-agent/default.nix b/pkgs/development/tools/continuous-integration/gocd-agent/default.nix
index cdc4e6db2c2d..adee52d967ea 100644
--- a/pkgs/development/tools/continuous-integration/gocd-agent/default.nix
+++ b/pkgs/development/tools/continuous-integration/gocd-agent/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "gocd-agent-${version}-${rev}";
-  version = "16.9.0";
-  rev = "4001";
+  version = "19.3.0";
+  rev = "8959";
 
   src = fetchurl {
     url = "https://download.go.cd/binaries/${version}-${rev}/generic/go-agent-${version}-${rev}.zip";
-    sha256 = "1xcwwjf2khhng6v1y7dvi579y2j643al9n0x80m0c46qb9mzd04x";
+    sha256 = "1nirdv82i8x4s1dyb0rmxldh8avappd4g3mbbl6xp7r7s0drcprp";
   };
   meta = with stdenv.lib; {
     description = "A continuous delivery server specializing in advanced workflow modeling and visualization";
diff --git a/pkgs/development/tools/continuous-integration/gocd-server/default.nix b/pkgs/development/tools/continuous-integration/gocd-server/default.nix
index 8982ca5f77ad..c0fabdeb5a16 100644
--- a/pkgs/development/tools/continuous-integration/gocd-server/default.nix
+++ b/pkgs/development/tools/continuous-integration/gocd-server/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "gocd-server-${version}-${rev}";
-  version = "16.9.0";
-  rev = "4001";
+  version = "19.3.0";
+  rev = "8959";
 
   src = fetchurl {
     url = "https://download.go.cd/binaries/${version}-${rev}/generic/go-server-${version}-${rev}.zip";
-    sha256 = "0x5pmjbhrka6p27drkrca7872vgsjxaa5j0cbxsa2ds02wrn57a7";
+    sha256 = "0c30qzd6awlw0zx91rk6na0mmgykqkgrw9ychx18ivjwma0hr0sc";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 28314934b119..0efe141d7bf5 100644
--- a/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jenkins";
-  version = "2.190.2";
+  version = "2.190.3";
 
   src = fetchurl {
     url = "http://mirrors.jenkins.io/war-stable/${version}/jenkins.war";
-    sha256 = "09zij2gpg1i0pkx1nsgccc26p8z4gy4ljhch8m767xaa0000lqj7";
+    sha256 = "146lg8xvg38glqn00kp20gx0bm5f9vv7fn3sy6fdqwdd60mh9hkr";
   };
 
   buildCommand = ''
diff --git a/pkgs/development/tools/continuous-integration/jenkins/update.sh b/pkgs/development/tools/continuous-integration/jenkins/update.sh
index 66d1b4ceff66..4f2f6527eccc 100755
--- a/pkgs/development/tools/continuous-integration/jenkins/update.sh
+++ b/pkgs/development/tools/continuous-integration/jenkins/update.sh
@@ -4,7 +4,7 @@
 set -eu -o pipefail
 
 core_json="$(curl -s --fail --location https://updates.jenkins.io/stable/update-center.actual.json | jq .core)"
-oldVersion=$(nix-instantiate --eval -E "with import ./. {}; jenkins.version or (builtins.parseDrvName jenkins.name).version" | tr -d '"')
+oldVersion=$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion jenkins" | tr -d '"')
 
 version="$(jq -r .version <<<$core_json)"
 sha256="$(jq -r .sha256 <<<$core_json)"
diff --git a/pkgs/development/tools/cue/default.nix b/pkgs/development/tools/cue/default.nix
index 754c014ee165..2046ea90fd1a 100644
--- a/pkgs/development/tools/cue/default.nix
+++ b/pkgs/development/tools/cue/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "cue";
-  version = "0.0.11";
+  version = "0.0.14";
 
   src = fetchgit {
     url = "https://cue.googlesource.com/cue";
     rev = "v${version}";
-    sha256 = "146h3nxx72n3byxr854lnxj7m33ipbmg6j9dy6dlwvqpa7rndrmp";
+    sha256 = "1gbw377wm41bhn9pw0l5l7v6g5s9jw1p2jammflac7hgwdrxkb64";
   };
 
-  modSha256 = "1q0fjm34mbijjxg089v5330vc820nrvwdkhm02zi45rk2fpdgdqd";
+  modSha256 = "04dapx75zwi8cv1pj3c6266znrhwihv3df4izm3gjk34r2i07q6s";
 
   subPackages = [ "cmd/cue" ];
 
@@ -19,8 +19,8 @@ buildGoModule rec {
   ];
 
   meta = {
-    description = "A data constraint language which aims to simplify tasks involving defining and using data.";
-    homepage = https://cue.googlesource.com/cue;
+    description = "A data constraint language which aims to simplify tasks involving defining and using data";
+    homepage = "https://cuelang.org/";
     maintainers = with stdenv.lib.maintainers; [ solson ];
     license = stdenv.lib.licenses.asl20;
   };
diff --git a/pkgs/development/tools/documentation/antora/default.nix b/pkgs/development/tools/documentation/antora/default.nix
index 9f1aa0370871..6427fa461dde 100644
--- a/pkgs/development/tools/documentation/antora/default.nix
+++ b/pkgs/development/tools/documentation/antora/default.nix
@@ -1,16 +1,15 @@
 { stdenv, nodePackages_10_x }:
 
 let
-  drvName = drv: (builtins.parseDrvName drv).name;
   linkNodeDeps = ({ pkg, deps, name ? "" }:
     let
-      targetModule = if name != "" then name else drvName pkg;
+      targetModule = if name != "" then name else stdenv.lib.getName pkg;
     in nodePackages_10_x.${pkg}.override (oldAttrs: {
       postInstall = ''
         mkdir -p $out/lib/node_modules/${targetModule}/node_modules
         ${stdenv.lib.concatStringsSep "\n" (map (dep: ''
-          ln -s ${nodePackages_10_x.${dep}}/lib/node_modules/${drvName dep} \
-            $out/lib/node_modules/${targetModule}/node_modules/${drvName dep}
+          ln -s ${nodePackages_10_x.${dep}}/lib/node_modules/${stdenv.lib.getName dep} \
+            $out/lib/node_modules/${targetModule}/node_modules/${stdenv.lib.getName dep}
         '') deps
         )}
       '';
diff --git a/pkgs/development/tools/documentation/mkdocs/default.nix b/pkgs/development/tools/documentation/mkdocs/default.nix
index 5f3dff95e358..e9e116280a03 100644
--- a/pkgs/development/tools/documentation/mkdocs/default.nix
+++ b/pkgs/development/tools/documentation/mkdocs/default.nix
@@ -1,4 +1,4 @@
-{ lib, python, fetchFromGitHub }:
+{ stdenv, lib, python, fetchFromGitHub }:
 
 with python.pkgs;
 
@@ -35,9 +35,18 @@ buildPythonApplication rec {
     backports_tempfile
   ];
 
-  meta = {
+  meta = with stdenv.lib; {
+    description = "Project documentation with Markdown / static website generator";
+    longDescription = ''
+      MkDocs is a fast, simple and downright gorgeous static site generator that's
+      geared towards building project documentation. Documentation source files
+      are written in Markdown, and configured with a single YAML configuration file.
+      
+      MkDocs can also be used to generate general-purpose Websites.
+    '';
     homepage = http://mkdocs.org/;
-    description = "Project documentation with Markdown";
     license = lib.licenses.bsd2;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.rkoe ];
   };
 }
diff --git a/pkgs/development/tools/flyway/default.nix b/pkgs/development/tools/flyway/default.nix
index b57c9841978f..8ab0ad211708 100644
--- a/pkgs/development/tools/flyway/default.nix
+++ b/pkgs/development/tools/flyway/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, jre_headless, makeWrapper }:
   let
-    version = "5.2.4";
+    version = "6.1.0";
   in
     stdenv.mkDerivation {
       pname = "flyway";
       inherit version;
       src = fetchurl {
         url = "https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/${version}/flyway-commandline-${version}.tar.gz";
-        sha256 = "16ia6nlvj4cgmdkn66bjg73h5vah82hpzk9mf0n5kmqnwcaa8hmc";
+        sha256 = "14f8vviki89dqhd429zlj0frma52xhyxpdln5c81z1dgs7819rpg";
       };
       nativeBuildInputs = [ makeWrapper ];
       dontBuild = true;
@@ -15,7 +15,7 @@
       installPhase = ''
         mkdir -p $out/bin $out/share/flyway
         cp -r sql jars drivers conf $out/share/flyway
-        cp -r lib/community $out/share/flyway/lib
+        install -Dt $out/share/flyway/lib lib/community/*.jar lib/*.jar
         makeWrapper "${jre_headless}/bin/java" $out/bin/flyway \
           --add-flags "-Djava.security.egd=file:/dev/../dev/urandom" \
           --add-flags "-classpath '$out/share/flyway/lib/*:$out/share/flyway/drivers/*'" \
@@ -23,6 +23,13 @@
       '';
       meta = with stdenv.lib; {
         description = "Evolve your Database Schema easily and reliably across all your instances";
+        longDescription = ''
+          The Flyway command-line tool is a standalone Flyway distribution.
+          It is primarily meant for users who wish to migrate their database from the command-line
+          without having to integrate Flyway into their applications nor having to install a build tool.
+
+          This package is only the Community Edition of the Flyway command-line tool.
+        '';
         homepage = "https://flywaydb.org/";
         license = licenses.asl20;
         platforms = platforms.unix;
diff --git a/pkgs/development/tools/gamecube-tools/default.nix b/pkgs/development/tools/gamecube-tools/default.nix
index 872c8fae527d..7c31f691b4e8 100644
--- a/pkgs/development/tools/gamecube-tools/default.nix
+++ b/pkgs/development/tools/gamecube-tools/default.nix
@@ -1,21 +1,20 @@
-{ stdenv, which, autoconf, automake, fetchFromGitHub,
-  libtool, freeimage, mesa }:
+{ stdenv, fetchFromGitHub, autoreconfHook
+, freeimage, libGL }:
+
 stdenv.mkDerivation rec {
-  version = "v1.0.2";
+  version = "1.0.2";
   pname = "gamecube-tools";
 
-  nativeBuildInputs = [ which autoconf automake libtool ];
-  buildInputs = [ freeimage mesa ];
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ freeimage libGL ];
 
   src = fetchFromGitHub {
     owner = "devkitPro";
     repo  = "gamecube-tools";
-    rev = version;
+    rev = "v${version}";
     sha256 = "0zvpkzqvl8iv4ndzhkjkmrzpampyzgb91spv0h2x2arl8zy4z7ca";
   };
 
-  preConfigure = "./autogen.sh";
-
   meta = with stdenv.lib; {
     description = "Tools for gamecube/wii projects";
     homepage = "https://github.com/devkitPro/gamecube-tools/";
diff --git a/pkgs/development/tools/git-series/default.nix b/pkgs/development/tools/git-series/default.nix
index d2bc539860b3..7e126b3d112c 100644
--- a/pkgs/development/tools/git-series/default.nix
+++ b/pkgs/development/tools/git-series/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchFromGitHub, fetchpatch, rustPlatform, openssl, cmake, perl, pkgconfig, zlib, curl, libgit2 }:
+{ stdenv, fetchFromGitHub, fetchpatch, rustPlatform
+, openssl, cmake, perl, pkgconfig, zlib, curl, libgit2, libssh2
+}:
 
 with rustPlatform;
 
@@ -28,8 +30,9 @@ buildRustPackage rec {
   ];
 
   LIBGIT2_SYS_USE_PKG_CONFIG = true;
+  LIBSSH2_SYS_USE_PKG_CONFIG = true;
   nativeBuildInputs = [ cmake pkgconfig perl ];
-  buildInputs = [ openssl zlib curl libgit2 ];
+  buildInputs = [ openssl zlib curl libgit2 libssh2 ];
 
   postBuild = ''
     install -D "$src/git-series.1" "$out/man/man1/git-series.1"
diff --git a/pkgs/development/tools/gotools/default.nix b/pkgs/development/tools/gotools/default.nix
index 4c662f9b5c0e..59416f031346 100644
--- a/pkgs/development/tools/gotools/default.nix
+++ b/pkgs/development/tools/gotools/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "gotools-unstable";
-  version = "2019-09-05";
-  rev = "6b3d1c9ba8bf7ce410f6b490852ec54953383362";
+  version = "2019-11-14";
+  rev = "4191b8cbba092238a318a71cdff48b20b4e1e5d8";
 
   src = fetchgit {
     inherit rev;
     url = "https://go.googlesource.com/tools";
-    sha256 = "0a2xjx9hqkash7fd2qv9hd93wcqdbfrmsdzjd91dwvnk48j61daf";
+    sha256 = "16m62m303j4wqfjr1401xpqpb9m11bs6qc2dhf6x2za2d9pycish";
   };
 
   # Build of golang.org/x/tools/gopls fails with:
diff --git a/pkgs/development/tools/grabserial/default.nix b/pkgs/development/tools/grabserial/default.nix
index ab32674f1881..5e06e9f771d9 100644
--- a/pkgs/development/tools/grabserial/default.nix
+++ b/pkgs/development/tools/grabserial/default.nix
@@ -2,13 +2,13 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "grabserial";
-  version = "1.9.8";
+  version = "1.9.9";
 
   src = fetchFromGitHub {
     owner = "tbird20d";
     repo = "grabserial";
     rev = "v${version}";
-    sha256 = "1xmy3js4hzsxlkxc172hkjzxsc34mmg3vfz61h24c7svmfzyhbd5";
+    sha256 = "0cwrajkh605gfhshrlpbc32gmx86a8kv3pq7cv713k60sgqrgpqx";
   };
 
   propagatedBuildInputs = [ pythonPackages.pyserial ];
diff --git a/pkgs/development/tools/irony-server/default.nix b/pkgs/development/tools/irony-server/default.nix
index f2c926a6f391..228a82f6008b 100644
--- a/pkgs/development/tools/irony-server/default.nix
+++ b/pkgs/development/tools/irony-server/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation {
   pname = "irony-server";
-  inherit (irony) version;
+  inherit (irony) src version;
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ llvmPackages.libclang ];
+  buildInputs = [ llvmPackages.libclang llvmPackages.llvm ];
 
   dontUseCmakeBuildDir = true;
 
@@ -15,13 +15,11 @@ stdenv.mkDerivation {
     "-DCMAKE_PREFIX_PATH=${llvmPackages.clang-unwrapped}"
   ];
 
-  src = irony.src;
-
-  meta = {
+  meta = with stdenv.lib; {
     description = "The server part of irony.";
     homepage = "https://melpa.org/#/irony";
-    maintainers = [ stdenv.lib.maintainers.deepfire ];
-    platforms = stdenv.lib.platforms.unix;
-    license = stdenv.lib.licenses.free;
+    maintainers = [ maintainers.deepfire ];
+    platforms = platforms.unix;
+    license = licenses.free;
   };
 }
diff --git a/pkgs/development/tools/kubectx/default.nix b/pkgs/development/tools/kubectx/default.nix
index fe72f6dcf168..b3116a9b2f9d 100644
--- a/pkgs/development/tools/kubectx/default.nix
+++ b/pkgs/development/tools/kubectx/default.nix
@@ -4,13 +4,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "kubectx";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "ahmetb";
     repo = pname;
     rev = "v${version}";
-    sha256 = "11snp3li2w4ds2r7fc6mldlgj24mga40v0knlralaiz296bd6zcs";
+    sha256 = "0mv40jh94by99i5wkf3p52wk4l68hvly1k5gnn7zsy9avc8fjd0p";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/micronaut/default.nix b/pkgs/development/tools/micronaut/default.nix
index 9b24fc7573c3..fd9fa5f02dae 100644
--- a/pkgs/development/tools/micronaut/default.nix
+++ b/pkgs/development/tools/micronaut/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "micronaut";
-  version = "1.2.5";
+  version = "1.2.6";
 
   src = fetchzip {
     url = "https://github.com/micronaut-projects/micronaut-core/releases/download/v${version}/${pname}-${version}.zip";
-    sha256 = "1ka70cr6kznl68ilc42blzqk59gy20spkyqfn26n6zbk0jm5ssxv";
+    sha256 = "0y7qshg6v8s5rwi0fz9xpyhd1yhv8jrw2jhp276a30dfkglx19qn";
   };
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 210659289d1e..82365d986b8a 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -1,11 +1,13 @@
 { stdenv, lib, buildPackages
-, fetchurl, zlib, autoreconfHook, gettext
+, fetchFromGitHub, fetchurl, zlib, autoreconfHook, gettext
 # Enabling all targets increases output size to a multiple.
 , withAllTargets ? false, libbfd, libopcodes
 , enableShared ? true
 , noSysDirs
 , gold ? !stdenv.buildPlatform.isDarwin || stdenv.hostPlatform == stdenv.targetPlatform
 , bison ? null
+, flex
+, texinfo
 }:
 
 let
@@ -15,21 +17,29 @@ let
   # is now upstream.
   # https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=330b90b5ffbbc20c5de6ae6c7f60c40fab2e7a4f;hp=99181ccac0fc7d82e7dabb05dc7466e91f1645d3
   version = "2.31.1";
-  basename = "binutils-${version}";
+  basename = "binutils";
   # The targetPrefix prepended to binary names to allow multiple binuntils on the
   # PATH to both be usable.
   targetPrefix = lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
                   "${stdenv.targetPlatform.config}-";
+  vc4-binutils-src = fetchFromGitHub {
+    owner = "itszor";
+    repo = "binutils-vc4";
+    rev = "708acc851880dbeda1dd18aca4fd0a95b2573b36";
+    sha256 = "1kdrz6fki55lm15rwwamn74fnqpy0zlafsida2zymk76n3656c63";
+  };
+  # HACK to ensure that we preserve source from bootstrap binutils to not rebuild LLVM
+  normal-src = stdenv.__bootPackages.binutils-unwrapped.src or (fetchurl {
+    url = "mirror://gnu/binutils/${basename}-${version}.tar.bz2";
+    sha256 = "1l34hn1zkmhr1wcrgf0d4z7r3najxnw3cx2y2fk7v55zjlk3ik7z";
+  });
 in
 
 stdenv.mkDerivation {
-  name = targetPrefix + basename;
+  pname = targetPrefix + basename;
+  inherit version;
 
-  # HACK to ensure that we preserve source from bootstrap binutils to not rebuild LLVM
-  src = stdenv.__bootPackages.binutils-unwrapped.src or (fetchurl {
-    url = "mirror://gnu/binutils/${basename}.tar.bz2";
-    sha256 = "1l34hn1zkmhr1wcrgf0d4z7r3najxnw3cx2y2fk7v55zjlk3ik7z";
-  });
+  src = if stdenv.targetPlatform.isVc4 then vc4-binutils-src else normal-src;
 
   patches = [
     # Make binutils output deterministic by default.
@@ -54,6 +64,8 @@ stdenv.mkDerivation {
     # cross-compiling.
     ./always-search-rpath.patch
 
+  ] ++ lib.optionals (!stdenv.targetPlatform.isVc4)
+  [
     # https://sourceware.org/bugzilla/show_bug.cgi?id=22868
     ./gold-symbol-visibility.patch
 
@@ -69,9 +81,9 @@ stdenv.mkDerivation {
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [
     bison
-  ] ++ lib.optionals stdenv.targetPlatform.isiOS [
+  ] ++ (lib.optionals stdenv.targetPlatform.isiOS [
     autoreconfHook
-  ];
+  ]) ++ lib.optionals stdenv.targetPlatform.isVc4 [ texinfo flex ];
   buildInputs = [ zlib gettext ];
 
   inherit noSysDirs;
@@ -132,7 +144,7 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   passthru = {
-    inherit targetPrefix version;
+    inherit targetPrefix;
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/misc/ccls/default.nix b/pkgs/development/tools/misc/ccls/default.nix
index ec97d1bb75b3..8748cdf52b4f 100644
--- a/pkgs/development/tools/misc/ccls/default.nix
+++ b/pkgs/development/tools/misc/ccls/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ccls";
-  version = "0.20190823.4";
+  version = "0.20190823.5";
 
   src = fetchFromGitHub {
     owner = "MaskRay";
     repo = "ccls";
     rev = version;
-    sha256 = "1aq8q32jdkhrdrsghk8sdb8y4si36hfavf7jq2yzbqinjx03y1n4";
+    sha256 = "0b2pkpzn576b92zcxpwchpkyw2fww6s69818rx4g9z34kzm35zy5";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/tools/misc/chrpath/default.nix b/pkgs/development/tools/misc/chrpath/default.nix
index 956a8df69cea..3cae6aa2ae6b 100644
--- a/pkgs/development/tools/misc/chrpath/default.nix
+++ b/pkgs/development/tools/misc/chrpath/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "chrpath-0.16";
 
   src = fetchurl {
-    url = "https://alioth.debian.org/frs/download.php/file/3979/chrpath-0.16.tar.gz";
+    url = "https://alioth-archive.debian.org/releases/chrpath/chrpath/0.16/chrpath-0.16.tar.gz";
     sha256 = "0yvfq891mcdkf8g18gjjkn2m5rvs8z4z4cl1vwdhx6f2p9a4q3dv";
   };
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
       binary. The rpath, or runpath if it is present, is where the runtime
       linker should look for the libraries needed for a program.
     '';
-    homepage = https://alioth.debian.org/projects/chrpath/;
+    homepage = https://tracker.debian.org/pkg/chrpath;
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/development/tools/misc/elfkickers/default.nix b/pkgs/development/tools/misc/elfkickers/default.nix
index c7eaafd9c7a8..288e8bf96998 100644
--- a/pkgs/development/tools/misc/elfkickers/default.nix
+++ b/pkgs/development/tools/misc/elfkickers/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "elfkickers";
-  version = "3.1";
+  version = "3.1a";
 
   src = fetchurl {
     url = "http://www.muppetlabs.com/~breadbox/pub/software/ELFkickers-${version}.tar.gz";
-    sha256 = "0n0sypjrdm3ramv0sby4sdh3i3j9d0ihadr951wa08ypdnq3yrkd";
+    sha256 = "02354yn1lh1dxny35ky2d0b44iq302krsqpwk5grr4glma00hhq6";
   };
 
   makeFlags = [ "CC=cc prefix=$(out)" ];
diff --git a/pkgs/development/tools/misc/mkcert/default.nix b/pkgs/development/tools/misc/mkcert/default.nix
index b9b1f83322d1..ae0a4a6dfe21 100644
--- a/pkgs/development/tools/misc/mkcert/default.nix
+++ b/pkgs/development/tools/misc/mkcert/default.nix
@@ -1,17 +1,23 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "mkcert";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "FiloSottile";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0xcmvzh5lq8vs3b0f1zw645fxdr8471v7prl1656q02v38f58ly7";
+    sha256 = "0w1ji96hbd3anzsz82xjcafsqhgyz7c7n41rsq60yrllwbj5946f";
   };
 
+  modSha256 = "13a3snhcqq3a9lfy9zfr2rx10mf2ymvhmds1bg8n4m7lbwnzm4fg";
+
   goPackagePath = "github.com/FiloSottile/mkcert";
+  buildFlagsArray = ''
+    -ldflags=
+      -X ${goPackagePath}/main.Version=${version}
+  '';
 
   meta = with lib; {
     homepage = https://github.com/FiloSottile/mkcert;
diff --git a/pkgs/development/tools/misc/texlab/default.nix b/pkgs/development/tools/misc/texlab/default.nix
index f55f1154b07e..e11c288c1e99 100644
--- a/pkgs/development/tools/misc/texlab/default.nix
+++ b/pkgs/development/tools/misc/texlab/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "texlab";
-  version = "1.6.0";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "latex-lsp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "115f63fij0lxcccf7ba9p0lzg1hlfp9i2g7gvvnx0il426h4ynnm";
+    sha256 = "0b9lw6cmh7gyzj0pb3ghvqc3q7lzl12bfg9pjhl31lib3mmga8yb";
   };
 
-  cargoSha256 = "0cp8q3qags01s6v3kbghxyzz1hc5rhq6jf15fzz10d1l8mrmw4cy";
+  cargoSha256 = "0qnysl0ayc242dgvanqgmx8v4a2cjg0f1lhbyw16qjv61qcsx8y5";
 
   nativeBuildInputs = [ nodejs ];
 
diff --git a/pkgs/development/tools/misc/travis/Gemfile b/pkgs/development/tools/misc/travis/Gemfile
index 0a470854aaf5..3da9975913e8 100644
--- a/pkgs/development/tools/misc/travis/Gemfile
+++ b/pkgs/development/tools/misc/travis/Gemfile
@@ -1,3 +1,4 @@
 source "https://rubygems.org"
 
-gem "travis", "1.8.10"
+gem "travis"
+gem "pry", "~> 0.11.0"
diff --git a/pkgs/development/tools/misc/travis/Gemfile.lock b/pkgs/development/tools/misc/travis/Gemfile.lock
index c5ac09cb9e6a..a29f329ca8af 100644
--- a/pkgs/development/tools/misc/travis/Gemfile.lock
+++ b/pkgs/development/tools/misc/travis/Gemfile.lock
@@ -3,13 +3,14 @@ GEM
   specs:
     addressable (2.4.0)
     backports (3.15.0)
+    coderay (1.1.2)
     ethon (0.12.0)
       ffi (>= 1.3.0)
-    faraday (0.15.4)
+    faraday (0.17.0)
       multipart-post (>= 1.2, < 3)
     faraday_middleware (0.13.1)
       faraday (>= 0.7.4, < 1.0)
-    ffi (1.11.1)
+    ffi (1.11.2)
     gh (0.15.1)
       addressable (~> 2.4.0)
       backports
@@ -21,10 +22,14 @@ GEM
     json (2.2.0)
     launchy (2.4.3)
       addressable (~> 2.3)
-    multi_json (1.13.1)
+    method_source (0.9.2)
+    multi_json (1.14.1)
     multipart-post (2.1.1)
     net-http-persistent (2.9.4)
     net-http-pipeline (1.0.1)
+    pry (0.11.3)
+      coderay (~> 1.1.0)
+      method_source (~> 0.9.0)
     pusher-client (0.6.2)
       json
       websocket (~> 1.0)
@@ -45,7 +50,8 @@ PLATFORMS
   ruby
 
 DEPENDENCIES
-  travis (= 1.8.10)
+  pry (~> 0.11.0)
+  travis
 
 BUNDLED WITH
    1.17.2
diff --git a/pkgs/development/tools/misc/travis/gemset.nix b/pkgs/development/tools/misc/travis/gemset.nix
index 09d5d41454e5..a12a891b3e78 100644
--- a/pkgs/development/tools/misc/travis/gemset.nix
+++ b/pkgs/development/tools/misc/travis/gemset.nix
@@ -15,6 +15,16 @@
     };
     version = "3.15.0";
   };
+  coderay = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y";
+      type = "gem";
+    };
+    version = "1.1.2";
+  };
   ethon = {
     dependencies = ["ffi"];
     source = {
@@ -26,12 +36,14 @@
   };
   faraday = {
     dependencies = ["multipart-post"];
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s72m05jvzc1pd6cw1i289chas399q0a14xrwg4rvkdwy7bgzrh0";
+      sha256 = "0jk2bar4x6miq2cr73lv0lsbmw4cymiljvp29xb85jifsb3ba6az";
       type = "gem";
     };
-    version = "0.15.4";
+    version = "0.17.0";
   };
   faraday_middleware = {
     dependencies = ["faraday"];
@@ -43,12 +55,14 @@
     version = "0.13.1";
   };
   ffi = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
+      sha256 = "0cbads5da12lb3j0mg2hjrd57s5qkkairxh2y6r9bqyblb5b8xbw";
       type = "gem";
     };
-    version = "1.11.1";
+    version = "1.11.2";
   };
   gh = {
     dependencies = ["addressable" "backports" "faraday" "multi_json" "net-http-persistent" "net-http-pipeline"];
@@ -84,13 +98,25 @@
     };
     version = "2.4.3";
   };
+  method_source = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1pviwzvdqd90gn6y7illcdd9adapw8fczml933p5vl739dkvl3lq";
+      type = "gem";
+    };
+    version = "0.9.2";
+  };
   multi_json = {
+    groups = ["default"];
+    platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
+      sha256 = "0xy54mjf7xg41l8qrg1bqri75agdqmxap9z466fjismc1rn2jwfr";
       type = "gem";
     };
-    version = "1.13.1";
+    version = "1.14.1";
   };
   multipart-post = {
     source = {
@@ -116,6 +142,17 @@
     };
     version = "1.0.1";
   };
+  pry = {
+    dependencies = ["coderay" "method_source"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1mh312k3y94sj0pi160wpia0ps8f4kmzvm505i6bvwynfdh7v30g";
+      type = "gem";
+    };
+    version = "0.11.3";
+  };
   pusher-client = {
     dependencies = ["json" "websocket"];
     source = {
@@ -151,4 +188,4 @@
     };
     version = "1.2.8";
   };
-}
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/misc/uncrustify/default.nix b/pkgs/development/tools/misc/uncrustify/default.nix
index d85cd1a82164..01ed66030188 100644
--- a/pkgs/development/tools/misc/uncrustify/default.nix
+++ b/pkgs/development/tools/misc/uncrustify/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchFromGitHub, cmake }:
+{ stdenv, fetchFromGitHub, cmake, python }:
 
 stdenv.mkDerivation rec {
   name = "${product}-${version}";
   product = "uncrustify";
-  version = "0.67";
+  version = "0.70.1";
 
   src = fetchFromGitHub {
     owner = product;
     repo = product;
     rev = name;
-    sha256 = "0hf8c93aj1hjg6cc77x6p7nf7ddp8mn4b6a9gpcrvmx8w81afpd3";
+    sha256 = "0zr3vxhd947zdvwccw3cj0vsriaawcpfjq3x94v9887hsi8fk87b";
   };
 
-  nativeBuildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake python ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/tools/ocaml/cppo/default.nix b/pkgs/development/tools/ocaml/cppo/default.nix
index bde5cce6048f..27c608fc7195 100644
--- a/pkgs/development/tools/ocaml/cppo/default.nix
+++ b/pkgs/development/tools/ocaml/cppo/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, dune }:
 let
   pname = "cppo";
-  webpage = "http://mjambon.com/${pname}.html";
+  webpage = "https://github.com/ocaml-community/${pname}";
 in
 assert stdenv.lib.versionAtLeast ocaml.version "3.12";
 
diff --git a/pkgs/development/tools/ofono-phonesim/default.nix b/pkgs/development/tools/ofono-phonesim/default.nix
index cc33b675954a..e62827c67b49 100644
--- a/pkgs/development/tools/ofono-phonesim/default.nix
+++ b/pkgs/development/tools/ofono-phonesim/default.nix
@@ -1,27 +1,21 @@
 { stdenv
 , mkDerivation
-, fetchFromGitHub
+, fetchgit
 , autoreconfHook
 , pkgconfig
 , qtbase
-, qtscript
 }:
 
 mkDerivation {
   pname = "ofono-phonesim";
-  version = "unstable-2014-04-22";
+  version = "unstable-2019-11-18";
 
-  src = fetchFromGitHub {
-    owner = "jpakkane";
-    repo = "ofono-phonesim";
-    rev = "baa41f04e6a86c5289d7185cad8a6f08a5c3ed0a";
-    sha256 = "0ywalvvf3dfbn81ml21gji1n2hywh2nmakynakjzyyskcqjn2wiz";
+  src = fetchgit {
+    url = "git://git.kernel.org/pub/scm/network/ofono/phonesim.git";
+    rev = "adf231a84cd3708b825dc82c56e841dd7e3b4541";
+    sha256 = "sha256:1840914sz46l8h2jwa0lymw6dvgj72wq9bhp3k4v4rk6masbf6hp";
   };
 
-  patches = [
-    ./qt5-compat.patch
-  ];
-
   nativeBuildInputs = [
     autoreconfHook
     pkgconfig
@@ -29,7 +23,6 @@ mkDerivation {
 
   buildInputs = [
     qtbase
-    qtscript
   ];
 
   makeFlags = [
@@ -39,7 +32,7 @@ mkDerivation {
 
   meta = with stdenv.lib; {
     description = "Phone Simulator for modem testing";
-    homepage = https://github.com/jpakkane/ofono-phonesim;
+    homepage = "https://01.org/ofono";
     license = licenses.gpl2;
     maintainers = with maintainers; [ jtojnar ];
     platforms = platforms.linux;
diff --git a/pkgs/development/tools/ofono-phonesim/qt5-compat.patch b/pkgs/development/tools/ofono-phonesim/qt5-compat.patch
deleted file mode 100644
index e2e9dcebd6bc..000000000000
--- a/pkgs/development/tools/ofono-phonesim/qt5-compat.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 2436292..993df87 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -21,18 +21,18 @@ AC_ARG_ENABLE(optimization, AC_HELP_STRING([--disable-optimization],
- 	fi
- ])
- 
--PKG_CHECK_MODULES(QT, QtCore QtGui QtXml QtNetwork QtScript QtDBus, dummy=yes,
-+PKG_CHECK_MODULES(QT, Qt5Core Qt5Gui Qt5Widgets Qt5Xml Qt5Network Qt5Script Qt5DBus, dummy=yes,
- 						AC_MSG_ERROR(Qt is required))
- AC_SUBST(QT_CFLAGS)
- AC_SUBST(QT_LIBS)
- 
- AC_MSG_CHECKING(for moc)
--MOC="`$PKG_CONFIG --variable=moc_location QtCore`"
-+MOC="`$PKG_CONFIG --variable=moc_location Qt5Core`"
- AC_SUBST(MOC)
- AC_MSG_RESULT($MOC)
- 
- AC_MSG_CHECKING(for uic)
--UIC="`$PKG_CONFIG --variable=uic_location QtCore`"
-+UIC="`$PKG_CONFIG --variable=uic_location Qt5Core`"
- AC_SUBST(UIC)
- AC_MSG_RESULT($UIC)
- 
-diff --git a/src/control.cpp b/src/control.cpp
-index e1838a6..880da68 100644
---- a/src/control.cpp
-+++ b/src/control.cpp
-@@ -22,7 +22,7 @@
- #include <qslider.h>
- #include <qcheckbox.h>
- #include <qcombobox.h>
--#include <QtGui/qmessagebox.h>
-+#include <QMessageBox>
- #include <qfiledialog.h>
- #include <Qt>
- #include <qbuffer.h>
-@@ -31,7 +31,7 @@
- #include <QFileInfo>
- #include <QFile>
- #include <QDir>
--#include <QtGui/QHeaderView>
-+#include <QHeaderView>
- 
- #define TWO_BYTE_MAX 65535
- #define FOUR_CHAR 4
diff --git a/pkgs/development/tools/overcommit/Gemfile b/pkgs/development/tools/overcommit/Gemfile
new file mode 100644
index 000000000000..39325c7561b3
--- /dev/null
+++ b/pkgs/development/tools/overcommit/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'overcommit'
diff --git a/pkgs/development/tools/overcommit/Gemfile.lock b/pkgs/development/tools/overcommit/Gemfile.lock
new file mode 100644
index 000000000000..bf88c1bb1483
--- /dev/null
+++ b/pkgs/development/tools/overcommit/Gemfile.lock
@@ -0,0 +1,17 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    childprocess (3.0.0)
+    iniparse (1.4.4)
+    overcommit (0.51.0)
+      childprocess (>= 0.6.3, < 4)
+      iniparse (~> 1.4)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  overcommit
+
+BUNDLED WITH
+   1.17.3
diff --git a/pkgs/development/tools/overcommit/default.nix b/pkgs/development/tools/overcommit/default.nix
new file mode 100644
index 000000000000..84529ca4b6fe
--- /dev/null
+++ b/pkgs/development/tools/overcommit/default.nix
@@ -0,0 +1,15 @@
+{ lib, bundlerApp }:
+
+bundlerApp {
+  pname = "overcommit";
+  gemdir = ./.;
+  exes = [ "overcommit" ];
+
+  meta = with lib; {
+    description = "Tool to manage and configure Git hooks";
+    homepage    = https://github.com/sds/overcommit;
+    license     = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/overcommit/gemset.nix b/pkgs/development/tools/overcommit/gemset.nix
new file mode 100644
index 000000000000..b7d58c0ea708
--- /dev/null
+++ b/pkgs/development/tools/overcommit/gemset.nix
@@ -0,0 +1,33 @@
+{
+  childprocess = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ic028k8xgm2dds9mqnvwwx3ibaz32j8455zxr9f4bcnviyahya5";
+      type = "gem";
+    };
+    version = "3.0.0";
+  };
+  iniparse = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1xbik6838gfh5yq9ahh1m7dzszxlk0g7x5lvhb8amk60mafkrgws";
+      type = "gem";
+    };
+    version = "1.4.4";
+  };
+  overcommit = {
+    dependencies = ["childprocess" "iniparse"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0fjrrm9dy9mry5ss96sizn6xcphia5l54ydz9c31phipm61nwmfk";
+      type = "gem";
+    };
+    version = "0.51.0";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/parsing/byacc/default.nix b/pkgs/development/tools/parsing/byacc/default.nix
index 23ea39c6fa9f..8542d4151964 100644
--- a/pkgs/development/tools/parsing/byacc/default.nix
+++ b/pkgs/development/tools/parsing/byacc/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "byacc";
-  version = "20190617";
+  version = "20191119";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.invisible-island.net/byacc/${pname}-${version}.tgz"
       "https://invisible-mirror.net/archives/byacc/${pname}-${version}.tgz"
     ];
-    sha256 = "13ai0az00c86s4k94cpgh48nf5dfccpvccpw635z42wjgcb6hy7q";
+    sha256 = "0ch8y9g7b3lnw1r76p65gvdnbpwd60d4pghgadid122fcq7566p2";
   };
 
   configureFlags = [
diff --git a/pkgs/development/tools/purescript/spago/default.nix b/pkgs/development/tools/purescript/spago/default.nix
new file mode 100644
index 000000000000..6879d6875cc4
--- /dev/null
+++ b/pkgs/development/tools/purescript/spago/default.nix
@@ -0,0 +1,47 @@
+{ mkDerivation, aeson, aeson-pretty, ansi-terminal, async-pool
+, base, bower-json, bytestring, Cabal, containers, dhall, directory
+, either, exceptions, extra, fetchgit, file-embed, filepath, foldl
+, fsnotify, github, Glob, hpack, hspec, hspec-discover
+, hspec-megaparsec, http-client, http-conduit, lens-family-core
+, megaparsec, mtl, network-uri, open-browser, optparse-applicative
+, prettyprinter, process, QuickCheck, retry, rio, rio-orphans, safe
+, semver-range, stdenv, stm, tar, template-haskell, temporary, text
+, time, transformers, turtle, unliftio, unordered-containers
+, vector, versions, zlib
+}:
+mkDerivation {
+  pname = "spago";
+  version = "0.12.1.0";
+  src = fetchgit {
+    url = "https://github.com/spacchetti/spago";
+    sha256 = "17xgp75yxangmb65sv3raysad31kmc109c4q4aj9dgcdqz23fcn2";
+    rev = "a4679880402ead320f8be2f091b25d30e27b62df";
+    fetchSubmodules = true;
+  };
+  isLibrary = true;
+  isExecutable = true;
+  libraryHaskellDepends = [
+    aeson aeson-pretty ansi-terminal async-pool base bower-json
+    bytestring Cabal containers dhall directory either exceptions
+    file-embed filepath foldl fsnotify github Glob http-client
+    http-conduit lens-family-core megaparsec mtl network-uri
+    open-browser prettyprinter process retry rio rio-orphans safe
+    semver-range stm tar template-haskell temporary text time
+    transformers turtle unliftio unordered-containers vector versions
+    zlib
+  ];
+  libraryToolDepends = [ hpack ];
+  executableHaskellDepends = [
+    aeson-pretty async-pool base bytestring containers dhall filepath
+    github lens-family-core megaparsec optparse-applicative process
+    retry stm temporary text time turtle vector
+  ];
+  testHaskellDepends = [
+    base containers directory extra hspec hspec-megaparsec megaparsec
+    process QuickCheck temporary text turtle versions
+  ];
+  testToolDepends = [ hspec-discover ];
+  prePatch = "hpack";
+  homepage = "https://github.com/spacchetti/spago#readme";
+  license = stdenv.lib.licenses.bsd3;
+}
diff --git a/pkgs/development/tools/richgo/default.nix b/pkgs/development/tools/richgo/default.nix
index 507402deed66..871ea0dc67a2 100644
--- a/pkgs/development/tools/richgo/default.nix
+++ b/pkgs/development/tools/richgo/default.nix
@@ -1,21 +1,24 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "richgo";
-  version = "0.2.8";
-  goPackagePath = "github.com/kyoh86/richgo";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "kyoh86";
     repo = "richgo";
     rev = "v${version}";
-    sha256 = "0kbwl3a2gima23zmahk0jxp7wga91bs927a1rp5xl889ikng1n4j";
+    sha256 = "07ipa54c4mzm6yizgvkm6x5yim1xgv3f0xdxg35qziacdfcwd6m4";
   };
 
+  modSha256 = "12wbjfqy6qnapm3f2pz1ci1gvc0y8kzr8c99kihyh1jv9r3zy1wz";
+
+  subPackages = [ "." ];
+
   meta = with stdenv.lib; {
     description = "Enrich `go test` outputs with text decorations.";
     homepage = https://github.com/kyoh86/richgo;
-    license = licenses.unlicense; # NOTE: The project switched to MIT in https://git.io/fA1ik
+    license = licenses.mit;
     maintainers = with maintainers; [ rvolosatovs ];
   };
 }
diff --git a/pkgs/development/tools/rucksack/default.nix b/pkgs/development/tools/rucksack/default.nix
index 85a4d0fa23dc..9eb568040ffb 100644
--- a/pkgs/development/tools/rucksack/default.nix
+++ b/pkgs/development/tools/rucksack/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Texture packer and resource bundler";
-    platforms = platforms.unix;
+    platforms = [ "i686-linux" "x86_64-linux" ]; # fails on Darwin and AArch64
     homepage = https://github.com/andrewrk/rucksack;
     license = licenses.mit;
     maintainers = [ maintainers.andrewrk ];
diff --git a/pkgs/development/tools/rust/cargo-bloat/default.nix b/pkgs/development/tools/rust/cargo-bloat/default.nix
index 0c1af58221b9..32e369251d56 100644
--- a/pkgs/development/tools/rust/cargo-bloat/default.nix
+++ b/pkgs/development/tools/rust/cargo-bloat/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-bloat";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "RazrFalcon";
     repo = pname;
     rev = "v${version}";
-    sha256 = "03pzp5d9kzbx62jpjzgww0x3qv9f08blvl8f4yg5hrlyaaa06xsd";
+    sha256 = "0wzsc8azxgvavsbsdpd1i6g8i4sp07wn9iayr8dp8072ig5c4fhy";
   };
 
   cargoSha256 = "1jc1lx0yk8galkyc4a67d39ywsfrgc2sjjsz08p47gpz7228d64w";
diff --git a/pkgs/development/tools/rust/cargo-expand/default.nix b/pkgs/development/tools/rust/cargo-expand/default.nix
index 43b3a88f6ee3..41fc993c62f4 100644
--- a/pkgs/development/tools/rust/cargo-expand/default.nix
+++ b/pkgs/development/tools/rust/cargo-expand/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-expand";
-  version = "0.4.15";
+  version = "0.4.16";
 
   src = fetchFromGitHub {
     owner = "dtolnay";
     repo = pname;
     rev = version;
-    sha256 = "155b4azkrr0qfg52mk7934zavwsbl28i28hi1inb23d509hrr5ky";
+    sha256 = "0cf539y20hlwxbk0zfs1and99hkb0fqg7m3a6dfd80hwx0dm0xmx";
   };
 
-  cargoSha256 = "050q4rk1x3jghinxg6gszi993a6zbg41vg535dlvvsqi36l278qc";
+  cargoSha256 = "1bspciy7sfx887hwxmckrnjy7b6kpy6g51yraw25yl302mzzng21";
 
   buildInputs = [ llvmPackages.libclang ]
     ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
diff --git a/pkgs/development/tools/rust/cargo-fuzz/default.nix b/pkgs/development/tools/rust/cargo-fuzz/default.nix
index 7ccc85283599..c5b45b92c812 100644
--- a/pkgs/development/tools/rust/cargo-fuzz/default.nix
+++ b/pkgs/development/tools/rust/cargo-fuzz/default.nix
@@ -2,28 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-fuzz";
-  version = "0.5.3"; # Note to self: on 0.5.4, remove the hand-added Cargo.lock
+  version = "0.5.4";
 
-  src =
-    let
-      source = fetchFromGitHub {
-        owner = "rust-fuzz";
-        repo = "cargo-fuzz";
-        rev = version;
-        sha256 = "1l452fnjw7i10nrd4y4rssi5d457vgjp6rhdr9cnq32bjhdkprrs";
-      };
-      cargo-lock = fetchurl {
-        url = "https://gist.githubusercontent.com/Ekleog/7d5b62d13b7207aafa4c37d1bbdf2de7/raw/c6027fc1c531947f4d6836a3c4cba1b3e24df24c/Cargo.lock";
-        sha256 = "0d7b6kxfbfvwksybzrihylamg2zv5fmsk9m6xshryhwipskzzvmd";
-      };
-    in
-    runCommand "cargo-fuzz-src" {} ''
-      cp -R ${source} $out
-      chmod +w $out
-      cp ${cargo-lock} $out/Cargo.lock
-    '';
+  src = fetchFromGitHub {
+    owner = "rust-fuzz";
+    repo = "cargo-fuzz";
+    rev = version;
+    sha256 = "0qy4xb7bxyw2x2ya7zmbkz48wxb69jcnvvj7021f1kyc6wdwcxs7";
+  };
 
-  cargoSha256 = "19kldw2sx0jd89q5q9cwmdcaan148s45fxlb2m0vdxwb69crb7yp";
+  cargoSha256 = "1d42cmpg1yn1ql9isx26kxsxzf5rg6qw6j948skc5p054r0c9n3f";
 
   meta = with stdenv.lib; {
     description = "Command line helpers for fuzzing";
diff --git a/pkgs/development/tools/rust/cargo-generate/default.nix b/pkgs/development/tools/rust/cargo-generate/default.nix
index 970c641fe494..c49739165aa1 100644
--- a/pkgs/development/tools/rust/cargo-generate/default.nix
+++ b/pkgs/development/tools/rust/cargo-generate/default.nix
@@ -2,23 +2,27 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-generate";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "ashleygwilliams";
     repo = "cargo-generate";
     rev = "v${version}";
-    sha256 = "09276jrb0a735v6p06wz94kbk8bblwpca13vpvy8n0jjmqack2xb";
+    sha256 = "07hklya22ixklb44f3qp6yyh5d03a7rjcn0g76icqr36hvcjyjjh";
   };
 
-  cargoSha256 = "1gbxfmhwzpxm0gs3zwzs010j0ndi5aw6xsvvngg0h1lpwg9ypnbr";
+  cargoSha256 = "1rsk9j1ij53dz4gakxwdppgmv12lmyj0ihh9qypdbgskvyq3a2j9";
 
   nativeBuildInputs = [ pkgconfig ];
 
   buildInputs = [ openssl  ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ Security libiconv curl ];
 
-  doCheck = false;
+  preCheck = ''
+    export HOME=$(mktemp -d) USER=nixbld
+    git config --global user.name Nixbld
+    git config --global user.email nixbld@localhost.localnet
+  '';
 
   meta = with stdenv.lib; {
     description = "cargo, make me a project";
diff --git a/pkgs/development/tools/rust/cargo-make/Cargo.lock b/pkgs/development/tools/rust/cargo-make/Cargo.lock
index e4c01baff9f3..54d32639f886 100644
--- a/pkgs/development/tools/rust/cargo-make/Cargo.lock
+++ b/pkgs/development/tools/rust/cargo-make/Cargo.lock
@@ -107,13 +107,13 @@ dependencies = [
 
 [[package]]
 name = "cargo-make"
-version = "0.23.0"
+version = "0.24.0"
 dependencies = [
  "ci_info 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "colored 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "envmnt 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "envmnt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
  "fern 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)",
  "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -153,7 +153,7 @@ name = "ci_info"
 version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
- "envmnt 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "envmnt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
@@ -223,7 +223,7 @@ dependencies = [
 
 [[package]]
 name = "envmnt"
-version = "0.7.0"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "indexmap 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -669,7 +669,7 @@ dependencies = [
 "checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
 "checksum dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3"
 "checksum dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b"
-"checksum envmnt 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7760c979bc8a1f3319ee72ee71df5eaaf02ada9daaa80ae257011cab0f3a25ef"
+"checksum envmnt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "24c6fdfb01bf7386076c5f655278306bbbed4ecc8abe30981217a11079fe3f2b"
 "checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
 "checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
 "checksum fern 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)" = "29d26fa0f4d433d1956746e66ec10d6bf4d6c8b93cd39965cceea7f7cc78c7dd"
diff --git a/pkgs/development/tools/rust/cargo-make/default.nix b/pkgs/development/tools/rust/cargo-make/default.nix
index 0685c11ddfaf..795329e3fe96 100644
--- a/pkgs/development/tools/rust/cargo-make/default.nix
+++ b/pkgs/development/tools/rust/cargo-make/default.nix
@@ -2,7 +2,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-make";
-  version = "0.23.0";
+  version = "0.24.0";
 
   src =
     let
@@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec {
         owner = "sagiegurari";
         repo = pname;
         rev = version;
-        sha256 = "1g62k0g9b5m8jaxxkbx0d59k8yb3di59l3p9m32hx617rn4k5wjd";
+        sha256 = "1sdc9qkclvv99j7ag038g8h1kjvfjxxj16xy0cqn8wvyljrqn3mc";
       };
     in
     runCommand "cargo-make-src" {} ''
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec {
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ Security ];
 
-  cargoSha256 = "1mfsjxvyybq9d5702habxq5abcp9h11qx0ci2rqs2rgkbcnksk98";
+  cargoSha256 = "1hyc275drl5n0kcvkxd3blp77r8nck946bmlnnzym8cj50i5zbq1";
 
   # Some tests fail because they need network access.
   # However, Travis ensures a proper build.
diff --git a/pkgs/development/tools/rust/cargo-watch/default.nix b/pkgs/development/tools/rust/cargo-watch/default.nix
index 9f8577dc19de..55721df22d7f 100644
--- a/pkgs/development/tools/rust/cargo-watch/default.nix
+++ b/pkgs/development/tools/rust/cargo-watch/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-watch";
-  version = "7.2.2";
+  version = "7.3.0";
 
   src = fetchFromGitHub {
     owner = "passcod";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ld45xqmmi13x1wgwm9fa7sck2jiw34pr9xzdwrx5ygl81hf3plv";
+    sha256 = "0l1aalb8ans7scljrza7akhi821jbpqgn6sa8kgd8sys83r93fkj";
   };
 
-  cargoSha256 = "1g8qg7nicdan0w39rfzin573lgx3sbfr3b9hn8k3vgyq0jg6ywh7";
+  cargoSha256 = "0dlbln8nsvmrc9p99bl6yni57fravicias9gbv88fg7az904ilzz";
 
   buildInputs = lib.optional stdenv.isDarwin CoreServices;
 
diff --git a/pkgs/development/tools/simavr/default.nix b/pkgs/development/tools/simavr/default.nix
index 71f488c760a4..c7bc96871f8d 100644
--- a/pkgs/development/tools/simavr/default.nix
+++ b/pkgs/development/tools/simavr/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, libelf, which, pkgconfig, freeglut
 , avrgcc, avrlibc
-, libGLU_combined
+, libGLU, libGL
 , GLUT }:
 
 stdenv.mkDerivation rec {
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [ which pkgconfig avrgcc ];
-  buildInputs = [ libelf freeglut libGLU_combined ]
+  buildInputs = [ libelf freeglut libGLU libGL ]
     ++ stdenv.lib.optional stdenv.isDarwin GLUT;
 
   # Hack to avoid TMPDIR in RPATHs.
diff --git a/pkgs/development/tools/wally-cli/default.nix b/pkgs/development/tools/wally-cli/default.nix
new file mode 100644
index 000000000000..b7333e456442
--- /dev/null
+++ b/pkgs/development/tools/wally-cli/default.nix
@@ -0,0 +1,34 @@
+{ lib, buildGoPackage, fetchFromGitHub, pkg-config, libusb1 }:
+
+buildGoPackage rec {
+  pname = "wally-cli";
+  version = "1.1.1";
+
+  goPackagePath = "github.com/zsa/wally";
+  subPackages = [ "cli" ];
+
+  nativeBuildInputs = [
+    pkg-config
+    libusb1
+  ];
+
+  src = fetchFromGitHub {
+    owner = "zsa";
+    repo = "wally";
+    rev = "68960e452ee0f6c7142f5008d4b1cdc6284d3de7";
+    sha256 = "122m5v7s5wqlshyk2salmd848lqs4rrz54d2ap11ay61kijm0bs2";
+  };
+
+  postInstall = ''
+    mv $bin/bin/cli $bin/bin/wally
+  '';
+
+  goDeps = ./deps.nix;
+
+  meta = with lib; {
+    description = "A tool to flash firmware to mechanical keyboards";
+    homepage = https://ergodox-ez.com/pages/wally-planck;
+    license = licenses.mit;
+    maintainers = [ maintainers.spacekookie ];
+  };
+}
diff --git a/pkgs/development/tools/wally-cli/deps.nix b/pkgs/development/tools/wally-cli/deps.nix
new file mode 100644
index 000000000000..8edac40c0d57
--- /dev/null
+++ b/pkgs/development/tools/wally-cli/deps.nix
@@ -0,0 +1,66 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
+[
+  {
+    goPackagePath = "github.com/caarlos0/spin";
+    fetch = {
+      type = "git";
+      url = "https://github.com/caarlos0/spin";
+      rev = "950231d3237faf48da965375e65a00c224bcb4dc";
+      sha256 = "1yz987f86qwx2avyp1bmi5y35h8bbfgp3z1fipqpjlvfq8m7lf8w";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/gousb";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/gousb";
+      rev = "18f4c1d8a750878c4f86ac3d7319b8aa462a79f9";
+      sha256 = "1i7ffkq395x0v1186j9bhfgy67wlq6s840xkyx8wn87w55yd05rh";
+    };
+  }
+  {
+    goPackagePath = "github.com/logrusorgru/aurora";
+    fetch = {
+      type = "git";
+      url = "https://github.com/logrusorgru/aurora";
+      rev = "66b7ad493a23a2523bac50571522bbfe5b90a835";
+      sha256 = "06allslr29qdapv5j3fpyw9xklmb9fmya5jzybmakz9mwczm76nq";
+    };
+  }
+  {
+    goPackagePath = "github.com/marcinbor85/gohex";
+    fetch = {
+      type = "git";
+      url = "https://github.com/marcinbor85/gohex";
+      rev = "7a43cd876e46e0f6ddc553f10f91731a78e6e949";
+      sha256 = "1nzy1hk7blawq4skycj330ac3kfwh0xr6xd7s3y09hsxfzcv4p9v";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-runewidth";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-runewidth";
+      rev = "f93a0d58d5fd95e53f82782d07bb0c79d23e1290";
+      sha256 = "1sq97q71vgwnbg1fphsmqrzkbfn6mjal6d8a3qgwv4nbgppwaz25";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "f068ffe820e46336f56dfca7777430582d6e507b";
+      sha256 = "14qvaq9wcrm7mgyra4h9jl8ssfcxyygi1hraq3cmf118961m90zn";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/cheggaaa/pb.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/cheggaaa/pb.v1";
+      rev = "f907f6f5dd81f77c2bbc1cde92e4c5a04720cb11";
+      sha256 = "13a66cqbpdif804qj12z9ad8r24va9q41gfk71qbc4zg1wsxs3rh";
+    };
+  }
+]
diff --git a/pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock-for-rustPlatform.buildRustPackage-in-.patch b/pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock-for-0.2.55.patch
index e564717a56f0..3866483f9ed6 100644
--- a/pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock-for-rustPlatform.buildRustPackage-in-.patch
+++ b/pkgs/development/tools/wasm-bindgen-cli/0001-Add-cargo.lock-for-0.2.55.patch
@@ -1,26 +1,26 @@
-From 3d3c33a610856b861204ccb111777e9edd8799b8 Mon Sep 17 00:00:00 2001
+From 26c538a9da9047597f9fd437d8b83502aca3f932 Mon Sep 17 00:00:00 2001
 From: Maximilian Bosch <maximilian@mbosch.me>
-Date: Thu, 3 Oct 2019 22:26:12 +0200
-Subject: [PATCH] Add cargo.lock for `rustPlatform.buildRustPackage` in nixpkgs
+Date: Tue, 26 Nov 2019 22:40:30 +0100
+Subject: [PATCH] Add cargo.lock for 0.2.55
 
 ---
- Cargo.lock | 2221 ++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 2221 insertions(+)
+ Cargo.lock | 2237 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 2237 insertions(+)
  create mode 100644 Cargo.lock
 
 diff --git a/Cargo.lock b/Cargo.lock
 new file mode 100644
-index 00000000..d7d32a06
+index 00000000..f256688d
 --- /dev/null
 +++ b/Cargo.lock
-@@ -0,0 +1,2221 @@
+@@ -0,0 +1,2237 @@
 +# This file is automatically @generated by Cargo.
 +# It is not intended for manual editing.
 +[[package]]
 +name = "add"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.55",
 +]
 +
 +[[package]]
@@ -37,17 +37,19 @@ index 00000000..d7d32a06
 +]
 +
 +[[package]]
++name = "anyhow"
++version = "1.0.23"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++
++[[package]]
 +name = "arrayref"
 +version = "0.3.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "arrayvec"
-+version = "0.4.11"
++version = "0.5.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
-+dependencies = [
-+ "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+]
 +
 +[[package]]
 +name = "ascii"
@@ -80,9 +82,9 @@ index 00000000..d7d32a06
 +version = "0.7.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
 + "toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -92,7 +94,7 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "escargot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "predicates 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "predicates 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "predicates-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "predicates-tree 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -102,33 +104,33 @@ index 00000000..d7d32a06
 +version = "0.2.13"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "autocfg"
-+version = "0.1.6"
++version = "0.1.7"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "backtrace"
-+version = "0.3.38"
++version = "0.3.40"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "backtrace-sys 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)",
++ "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "backtrace-sys"
-+version = "0.1.31"
++version = "0.1.32"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.47 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -137,7 +139,7 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "safemem 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "safemem 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -155,16 +157,16 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "bitflags"
-+version = "1.2.0"
++version = "1.2.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "blake2b_simd"
-+version = "0.5.8"
++version = "0.5.9"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -174,7 +176,7 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "safemem 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "safemem 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -189,25 +191,24 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "c2-chacha"
-+version = "0.2.2"
++version = "0.2.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "canvas"
 +version = "0.1.0"
 +dependencies = [
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "js-sys 0.3.32",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
 +name = "cc"
-+version = "1.0.45"
++version = "1.0.47"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -219,17 +220,16 @@ index 00000000..d7d32a06
 +name = "char"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.55",
 +]
 +
 +[[package]]
 +name = "chrono"
-+version = "0.4.9"
++version = "0.4.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
 + "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
 + "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -242,9 +242,9 @@ index 00000000..d7d32a06
 +name = "closures"
 +version = "0.1.0"
 +dependencies = [
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "js-sys 0.3.32",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
@@ -252,7 +252,7 @@ index 00000000..d7d32a06
 +version = "0.0.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "bitflags 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -266,15 +266,15 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.55",
 +]
 +
 +[[package]]
 +name = "console_log"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
@@ -284,32 +284,32 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "crossbeam-deque"
-+version = "0.7.1"
++version = "0.7.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-epoch 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "crossbeam-epoch"
-+version = "0.7.2"
++version = "0.8.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "crossbeam-queue"
-+version = "0.1.2"
++version = "0.2.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -322,14 +322,24 @@ index 00000000..d7d32a06
 +]
 +
 +[[package]]
++name = "crossbeam-utils"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++]
++
++[[package]]
 +name = "curl"
-+version = "0.4.24"
++version = "0.4.25"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "curl-sys 0.4.22 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "curl-sys 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "openssl-sys 0.9.50 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl-sys 0.9.53 (registry+https://github.com/rust-lang/crates.io-index)",
 + "schannel 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
 + "socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -337,14 +347,14 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "curl-sys"
-+version = "0.4.22"
++version = "0.4.24"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.47 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "openssl-sys 0.9.50 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl-sys 0.9.53 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
 + "vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -368,7 +378,7 @@ index 00000000..d7d32a06
 +version = "1.0.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -380,7 +390,7 @@ index 00000000..d7d32a06
 +dependencies = [
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
 + "strsim 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -388,8 +398,8 @@ index 00000000..d7d32a06
 +name = "dom"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
@@ -407,7 +417,7 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "env_logger"
-+version = "0.7.0"
++version = "0.7.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -424,59 +434,59 @@ index 00000000..d7d32a06
 +dependencies = [
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.42 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "failure"
-+version = "0.1.5"
++version = "0.1.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "backtrace 0.3.38 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "failure_derive"
-+version = "0.1.5"
++version = "0.1.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "fetch"
 +version = "0.1.0"
 +dependencies = [
-+ "js-sys 0.3.28",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-futures 0.4.1",
-+ "web-sys 0.3.28",
++ "js-sys 0.3.32",
++ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen 0.2.55",
++ "wasm-bindgen-futures 0.4.5",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
 +name = "filetime"
-+version = "0.2.7"
++version = "0.2.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "float-cmp"
-+version = "0.4.0"
++version = "0.5.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -512,11 +522,11 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "getrandom"
-+version = "0.1.12"
++version = "0.1.13"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -538,7 +548,7 @@ index 00000000..d7d32a06
 +name = "guide-supported-types-examples"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.55",
 +]
 +
 +[[package]]
@@ -546,14 +556,22 @@ index 00000000..d7d32a06
 +version = "0.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "hello_world"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.55",
++]
++
++[[package]]
++name = "hermit-abi"
++version = "0.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++dependencies = [
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -574,7 +592,7 @@ index 00000000..d7d32a06
 +version = "2.2.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -584,7 +602,7 @@ index 00000000..d7d32a06
 +dependencies = [
 + "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-normalization 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -607,7 +625,7 @@ index 00000000..d7d32a06
 +name = "import_js"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.55",
 +]
 +
 +[[package]]
@@ -626,24 +644,24 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "js-sys"
-+version = "0.3.28"
++version = "0.3.32"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-futures 0.4.1",
-+ "wasm-bindgen-test 0.3.1",
++ "wasm-bindgen 0.2.55",
++ "wasm-bindgen-futures 0.4.5",
++ "wasm-bindgen-test 0.3.5",
 +]
 +
 +[[package]]
 +name = "julia_set"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
@@ -658,7 +676,7 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "libc"
-+version = "0.2.62"
++version = "0.2.65"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -666,9 +684,9 @@ index 00000000..d7d32a06
 +version = "1.0.25"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.47 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
 + "vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -705,7 +723,7 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "memoffset"
-+version = "0.5.1"
++version = "0.5.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -742,7 +760,7 @@ index 00000000..d7d32a06
 + "mime_guess 1.8.7 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "safemem 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "safemem 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
 + "twoway 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -751,15 +769,10 @@ index 00000000..d7d32a06
 +name = "no-std"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.55",
 +]
 +
 +[[package]]
-+name = "nodrop"
-+version = "0.1.13"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+
-+[[package]]
 +name = "nom"
 +version = "4.2.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -778,8 +791,8 @@ index 00000000..d7d32a06
 +version = "0.1.41"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -787,9 +800,9 @@ index 00000000..d7d32a06
 +version = "0.1.39"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 + "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -798,7 +811,7 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -806,36 +819,37 @@ index 00000000..d7d32a06
 +version = "0.1.43"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "num-traits"
-+version = "0.2.8"
++version = "0.2.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "num_cpus"
-+version = "1.10.1"
++version = "1.11.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hermit-abi 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "openssl"
-+version = "0.10.25"
++version = "0.10.26"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "bitflags 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
 + "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "openssl-sys 0.9.50 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl-sys 0.9.53 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -848,19 +862,19 @@ index 00000000..d7d32a06
 +version = "111.6.0+1.1.1d"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.47 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "openssl-sys"
-+version = "0.9.50"
++version = "0.9.53"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc 1.0.47 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "openssl-src 111.6.0+1.1.1d (registry+https://github.com/rust-lang/crates.io-index)",
-+ "pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
 + "vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -874,8 +888,8 @@ index 00000000..d7d32a06
 +version = "0.1.0"
 +dependencies = [
 + "humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
@@ -915,7 +929,7 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "pkg-config"
-+version = "0.3.16"
++version = "0.3.17"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -931,16 +945,16 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "ppv-lite86"
-+version = "0.2.5"
++version = "0.2.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "predicates"
-+version = "1.0.1"
++version = "1.0.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "float-cmp 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "float-cmp 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "normalize-line-endings 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "predicates-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -970,7 +984,7 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "proc-macro2"
-+version = "1.0.4"
++version = "1.0.6"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -994,7 +1008,7 @@ index 00000000..d7d32a06
 +version = "1.0.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1003,7 +1017,7 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1016,7 +1030,7 @@ index 00000000..d7d32a06
 +dependencies = [
 + "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -1026,8 +1040,8 @@ index 00000000..d7d32a06
 +version = "0.6.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1044,8 +1058,8 @@ index 00000000..d7d32a06
 +version = "0.7.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1056,7 +1070,7 @@ index 00000000..d7d32a06
 +version = "0.1.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -1065,7 +1079,7 @@ index 00000000..d7d32a06
 +version = "0.2.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -1087,7 +1101,7 @@ index 00000000..d7d32a06
 +version = "0.5.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1119,7 +1133,7 @@ index 00000000..d7d32a06
 +version = "0.1.4"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -1131,7 +1145,7 @@ index 00000000..d7d32a06
 +dependencies = [
 + "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1142,7 +1156,7 @@ index 00000000..d7d32a06
 +version = "0.1.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -1156,24 +1170,24 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "rayon"
-+version = "1.2.0"
++version = "1.2.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rayon-core 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon-core 1.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "rayon-core"
-+version = "1.6.0"
++version = "1.6.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-queue 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1182,13 +1196,13 @@ index 00000000..d7d32a06
 +dependencies = [
 + "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "futures-channel-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "js-sys 0.3.28",
-+ "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rayon-core 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "js-sys 0.3.32",
++ "rayon 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon-core 1.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "raytracer 0.1.0 (git+https://github.com/alexcrichton/raytracer?branch=update-deps)",
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-futures 0.4.1",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.55",
++ "wasm-bindgen-futures 0.4.5",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
@@ -1197,8 +1211,8 @@ index 00000000..d7d32a06
 +source = "git+https://github.com/alexcrichton/raytracer?branch=update-deps#42faa13859f7d8d47fd18be785c108003a207786"
 +dependencies = [
 + "image 0.12.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1219,7 +1233,7 @@ index 00000000..d7d32a06
 +version = "0.3.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
 + "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1253,8 +1267,8 @@ index 00000000..d7d32a06
 +name = "request-animation-frame"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
@@ -1263,14 +1277,14 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "chrono 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "filetime 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "filetime 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "multipart 0.15.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.42 (registry+https://github.com/rust-lang/crates.io-index)",
 + "sha1 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "term 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "threadpool 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1285,7 +1299,7 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "blake2b_simd 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)",
 + "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -1293,7 +1307,7 @@ index 00000000..d7d32a06
 +name = "rust-duck-typed-interfaces"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.55",
 +]
 +
 +[[package]]
@@ -1311,22 +1325,22 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "ryu"
-+version = "1.0.0"
++version = "1.0.2"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "safemem"
-+version = "0.3.2"
++version = "0.3.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "sample"
 +version = "0.1.0"
 +dependencies = [
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-futures 0.4.1",
-+ "wasm-bindgen-test 0.3.1",
++ "js-sys 0.3.32",
++ "wasm-bindgen 0.2.55",
++ "wasm-bindgen-futures 0.4.5",
++ "wasm-bindgen-test 0.3.5",
 +]
 +
 +[[package]]
@@ -1368,30 +1382,30 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "serde"
-+version = "1.0.101"
++version = "1.0.103"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "serde_derive"
-+version = "1.0.101"
++version = "1.0.103"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "serde_json"
-+version = "1.0.40"
++version = "1.0.42"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "ryu 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1406,7 +1420,7 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "smallvec"
-+version = "0.6.10"
++version = "1.0.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -1415,7 +1429,7 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -1442,23 +1456,23 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "syn"
-+version = "1.0.5"
++version = "1.0.8"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "synstructure"
-+version = "0.10.2"
++version = "0.12.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1476,7 +1490,7 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
 + "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1514,7 +1528,7 @@ index 00000000..d7d32a06
 +version = "1.7.1"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1522,7 +1536,7 @@ index 00000000..d7d32a06
 +version = "0.1.42"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
 + "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
 + "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
@@ -1533,7 +1547,7 @@ index 00000000..d7d32a06
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "ascii 0.8.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "chrono 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
 + "chunked_transfer 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1545,9 +1559,9 @@ index 00000000..d7d32a06
 +dependencies = [
 + "askama 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "js-sys 0.3.32",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
@@ -1555,15 +1569,15 @@ index 00000000..d7d32a06
 +version = "0.4.10"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "toml"
-+version = "0.5.3"
++version = "0.5.5"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1573,15 +1587,15 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "trybuild"
-+version = "1.0.16"
++version = "1.0.18"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.42 (registry+https://github.com/rust-lang/crates.io-index)",
 + "termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "toml 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1596,7 +1610,7 @@ index 00000000..d7d32a06
 +name = "typescript-tests"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.55",
 +]
 +
 +[[package]]
@@ -1617,15 +1631,15 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "unicode-normalization"
-+version = "0.1.8"
++version = "0.1.11"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "unicode-segmentation"
-+version = "1.3.0"
++version = "1.6.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
@@ -1660,27 +1674,27 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "walrus"
-+version = "0.12.0"
++version = "0.13.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)",
 + "id-arena 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "leb128 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus-macro 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasmparser 0.37.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rayon 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus-macro 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasmparser 0.39.3 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "walrus-macro"
-+version = "0.12.0"
++version = "0.13.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
 + "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "syn 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
@@ -1690,217 +1704,217 @@ index 00000000..d7d32a06
 +
 +[[package]]
 +name = "wasm-bindgen"
-+version = "0.2.51"
++version = "0.2.55"
 +dependencies = [
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "js-sys 0.3.28",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen-futures 0.4.1",
-+ "wasm-bindgen-macro 0.2.51",
-+ "wasm-bindgen-test 0.3.1",
++ "js-sys 0.3.32",
++ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-futures 0.4.5",
++ "wasm-bindgen-macro 0.2.55",
++ "wasm-bindgen-test 0.3.5",
 + "wasm-bindgen-test-crate-a 0.1.0",
 + "wasm-bindgen-test-crate-b 0.1.0",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-anyref-xform"
-+version = "0.2.51"
++version = "0.2.55"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-backend"
-+version = "0.2.51"
++version = "0.2.55"
 +dependencies = [
 + "bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen-shared 0.2.51",
++ "syn 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-shared 0.2.55",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-benchmark"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-cli"
-+version = "0.2.51"
++version = "0.2.55"
 +dependencies = [
++ "anyhow 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)",
 + "assert_cmd 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "curl 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "curl 0.4.25 (registry+https://github.com/rust-lang/crates.io-index)",
 + "docopt 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "env_logger 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "openssl 0.10.25 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "predicates 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "openssl 0.10.26 (registry+https://github.com/rust-lang/crates.io-index)",
++ "predicates 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rouille 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen-cli-support 0.2.51",
-+ "wasm-bindgen-shared 0.2.51",
++ "serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-cli-support 0.2.55",
++ "wasm-bindgen-shared 0.2.55",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-cli-support"
-+version = "0.2.51"
++version = "0.2.55"
 +dependencies = [
++ "anyhow 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)",
 + "base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_json 1.0.42 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen-anyref-xform 0.2.51",
-+ "wasm-bindgen-multi-value-xform 0.2.51",
-+ "wasm-bindgen-shared 0.2.51",
-+ "wasm-bindgen-threads-xform 0.2.51",
-+ "wasm-bindgen-wasm-conventions 0.2.51",
-+ "wasm-bindgen-wasm-interpreter 0.2.51",
-+ "wasm-webidl-bindings 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-anyref-xform 0.2.55",
++ "wasm-bindgen-multi-value-xform 0.2.55",
++ "wasm-bindgen-shared 0.2.55",
++ "wasm-bindgen-threads-xform 0.2.55",
++ "wasm-bindgen-wasm-conventions 0.2.55",
++ "wasm-bindgen-wasm-interpreter 0.2.55",
++ "wasm-webidl-bindings 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-futures"
-+version = "0.4.1"
++version = "0.4.5"
 +dependencies = [
 + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
 + "futures-channel-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-test 0.3.1",
-+ "web-sys 0.3.28",
++ "js-sys 0.3.32",
++ "wasm-bindgen 0.2.55",
++ "wasm-bindgen-test 0.3.5",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-macro"
-+version = "0.2.51"
++version = "0.2.55"
 +dependencies = [
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "trybuild 1.0.16 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-futures 0.4.1",
-+ "wasm-bindgen-macro-support 0.2.51",
++ "trybuild 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen 0.2.55",
++ "wasm-bindgen-futures 0.4.5",
++ "wasm-bindgen-macro-support 0.2.55",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-macro-support"
-+version = "0.2.51"
++version = "0.2.55"
 +dependencies = [
-+ "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen-backend 0.2.51",
-+ "wasm-bindgen-shared 0.2.51",
++ "syn 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-backend 0.2.55",
++ "wasm-bindgen-shared 0.2.55",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-multi-value-xform"
-+version = "0.2.51"
++version = "0.2.55"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-paint"
 +version = "0.1.0"
 +dependencies = [
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "js-sys 0.3.32",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-shared"
-+version = "0.2.51"
++version = "0.2.55"
 +
 +[[package]]
 +name = "wasm-bindgen-test"
-+version = "0.3.1"
++version = "0.3.5"
 +dependencies = [
 + "console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "js-sys 0.3.28",
++ "js-sys 0.3.32",
 + "scoped-tls 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-futures 0.4.1",
-+ "wasm-bindgen-test-macro 0.3.1",
++ "wasm-bindgen 0.2.55",
++ "wasm-bindgen-futures 0.4.5",
++ "wasm-bindgen-test-macro 0.3.5",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-test-crate-a"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.55",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-test-crate-b"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.55",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-test-macro"
-+version = "0.3.1"
++version = "0.3.5"
 +dependencies = [
-+ "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-threads-xform"
-+version = "0.2.51"
++version = "0.2.55"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen-wasm-conventions 0.2.51",
++ "anyhow 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-wasm-conventions 0.2.55",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-wasm-conventions"
-+version = "0.2.51"
++version = "0.2.55"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-wasm-interpreter"
-+version = "0.2.51"
++version = "0.2.55"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
 + "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasm-bindgen-webidl"
-+version = "0.2.51"
++version = "0.2.55"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)",
 + "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
 + "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen-backend 0.2.51",
++ "syn 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen-backend 0.2.55",
 + "weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
@@ -1908,81 +1922,81 @@ index 00000000..d7d32a06
 +name = "wasm-in-wasm"
 +version = "0.1.0"
 +dependencies = [
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
++ "js-sys 0.3.32",
++ "wasm-bindgen 0.2.55",
 +]
 +
 +[[package]]
 +name = "wasm-webidl-bindings"
-+version = "0.5.0"
++version = "0.6.0"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +dependencies = [
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)",
 + "id-arena 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 + "leb128 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
 +]
 +
 +[[package]]
 +name = "wasm2js"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
++ "wasm-bindgen 0.2.55",
 +]
 +
 +[[package]]
 +name = "wasmparser"
-+version = "0.37.2"
++version = "0.39.3"
 +source = "registry+https://github.com/rust-lang/crates.io-index"
 +
 +[[package]]
 +name = "web-sys"
-+version = "0.3.28"
++version = "0.3.32"
 +dependencies = [
-+ "env_logger 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "js-sys 0.3.28",
++ "anyhow 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)",
++ "env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "js-sys 0.3.32",
 + "sourcefile 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-futures 0.4.1",
-+ "wasm-bindgen-test 0.3.1",
-+ "wasm-bindgen-webidl 0.2.51",
++ "wasm-bindgen 0.2.55",
++ "wasm-bindgen-futures 0.4.5",
++ "wasm-bindgen-test 0.3.5",
++ "wasm-bindgen-webidl 0.2.55",
 +]
 +
 +[[package]]
 +name = "webaudio"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
 +name = "webgl"
 +version = "0.1.0"
 +dependencies = [
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "js-sys 0.3.32",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
 +name = "webidl-tests"
 +version = "0.1.0"
 +dependencies = [
-+ "env_logger 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "js-sys 0.3.28",
-+ "wasm-bindgen 0.2.51",
-+ "wasm-bindgen-test 0.3.1",
-+ "wasm-bindgen-webidl 0.2.51",
++ "env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "js-sys 0.3.32",
++ "wasm-bindgen 0.2.55",
++ "wasm-bindgen-test 0.3.5",
++ "wasm-bindgen-webidl 0.2.55",
 +]
 +
 +[[package]]
 +name = "websockets"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
@@ -2033,76 +2047,79 @@ index 00000000..d7d32a06
 +name = "without-a-bundler"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[[package]]
 +name = "without-a-bundler-no-modules"
 +version = "0.1.0"
 +dependencies = [
-+ "wasm-bindgen 0.2.51",
-+ "web-sys 0.3.28",
++ "wasm-bindgen 0.2.55",
++ "web-sys 0.3.32",
 +]
 +
 +[metadata]
 +"checksum adler32 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5d2e7343e7fc9de883d1b0341e0b13970f764c14101234857d2ddafa1cb1cac2"
 +"checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
++"checksum anyhow 1.0.23 (registry+https://github.com/rust-lang/crates.io-index)" = "6f1072d8f55592084072d2d3cb23a4b680a8543c00f10d446118e85ad3718142"
 +"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
-+"checksum arrayvec 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b8d73f9beda665eaa98ab9e4f7442bd4e7de6652587de55b2525e52e29c1b0ba"
++"checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
 +"checksum ascii 0.8.7 (registry+https://github.com/rust-lang/crates.io-index)" = "97be891acc47ca214468e09425d02cef3af2c94d0d82081cd02061f996802f14"
 +"checksum askama 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "eed81479263c8753e06f4981f5a313b3fe6cbff30c3ff8d9ae15ef0c72d93fb5"
 +"checksum askama_derive 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "46580c08e5520afadc6e9064759e15fc743489a4db78f9c751113e3d32a1e083"
 +"checksum askama_shared 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "64509fd5c2fa767fa7ea973b732c61f0b8d30d1adf084e5164523e51a5e35d71"
 +"checksum assert_cmd 0.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2dc477793bd82ec39799b6f6b3df64938532fdf2ab0d49ef817eac65856a5a1e"
 +"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
-+"checksum autocfg 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "b671c8fb71b457dd4ae18c4ba1e59aa81793daacc361d82fcd410cef0d491875"
-+"checksum backtrace 0.3.38 (registry+https://github.com/rust-lang/crates.io-index)" = "690a62be8920ccf773ee00ef0968649b0e724cda8bd5b12286302b4ae955fdf5"
-+"checksum backtrace-sys 0.1.31 (registry+https://github.com/rust-lang/crates.io-index)" = "82a830b4ef2d1124a711c71d263c5abdc710ef8e907bd508c88be475cebc422b"
++"checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
++"checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea"
++"checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
 +"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
 +"checksum base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643"
 +"checksum bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d"
-+"checksum bitflags 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8a606a02debe2813760609f57a64a2ffd27d9fdf5b2f133eaca0b248dd92cdd2"
-+"checksum blake2b_simd 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)" = "5850aeee1552f495dd0250014cf64b82b7c8879a89d83b33bbdace2cc4f63182"
++"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
++"checksum blake2b_simd 0.5.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b83b7baab1e671718d78204225800d6b170e648188ac7dc992e9d6bddf87d0c0"
 +"checksum buf_redux 0.8.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b953a6887648bb07a535631f2bc00fbdb2a2216f135552cb3f534ed136b9c07f"
 +"checksum bumpalo 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ad807f2fc2bf185eeb98ff3a901bd46dc5ad58163d0fa4577ba0d25674d71708"
 +"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
-+"checksum c2-chacha 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7d64d04786e0f528460fc884753cf8dddcc466be308f6026f8e355c41a0e4101"
-+"checksum cc 1.0.45 (registry+https://github.com/rust-lang/crates.io-index)" = "4fc9a35e1f4290eb9e5fc54ba6cf40671ed2a2514c3eeb2b2a908dda2ea5a1be"
++"checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb"
++"checksum cc 1.0.47 (registry+https://github.com/rust-lang/crates.io-index)" = "aa87058dce70a3ff5621797f1506cb837edd02ac4c0ae642b4542dce802908b8"
 +"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-+"checksum chrono 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e8493056968583b0193c1bb04d6f7684586f3726992d6c573261941a895dbd68"
++"checksum chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "31850b4a4d6bae316f7a09e691c944c28299298837edc0a03f755618c23cbc01"
 +"checksum chunked_transfer 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "498d20a7aaf62625b9bf26e637cf7736417cde1d0c99f1d04d1170229a85cf87"
 +"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
 +"checksum color_quant 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0dbbb57365263e881e805dc77d94697c9118fd94d8da011240555aa7b23445bd"
 +"checksum console_error_panic_hook 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "b8d976903543e0c48546a91908f21588a680a8c8f984df9a5d69feccb2b2a211"
 +"checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120"
-+"checksum crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18cd2e169ad86297e6bc0ad9aa679aee9daa4f19e8163860faf7c164e4f5a71"
-+"checksum crossbeam-epoch 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fedcd6772e37f3da2a9af9bf12ebe046c0dfe657992377b4df982a2b54cd37a9"
-+"checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b"
++"checksum crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c3aa945d63861bfe624b55d153a39684da1e8c0bc8fba932f7ee3a3c16cea3ca"
++"checksum crossbeam-epoch 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5064ebdbf05ce3cb95e45c8b086f72263f4166b29b97f6baff7ef7fe047b55ac"
++"checksum crossbeam-queue 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "dfd6515864a82d2f877b42813d4553292c6659498c9a2aa31bab5a15243c2700"
 +"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
-+"checksum curl 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)" = "d08ad3cb89d076a36b0ce5749eec2c9964f70c0c58480ab6b75a91ec4fc206d8"
-+"checksum curl-sys 0.4.22 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9a9a4e417722876332136a00cacf92c2ceb331fab4b52b6a1ad16c6cd79255"
++"checksum crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4"
++"checksum curl 0.4.25 (registry+https://github.com/rust-lang/crates.io-index)" = "06aa71e9208a54def20792d877bc663d6aae0732b9852e612c4a933177c31283"
++"checksum curl-sys 0.4.24 (registry+https://github.com/rust-lang/crates.io-index)" = "f659f3ffac9582d6177bb86d1d2aa649f4eb9d0d4de9d03ccc08b402832ea340"
 +"checksum deflate 0.7.20 (registry+https://github.com/rust-lang/crates.io-index)" = "707b6a7b384888a70c8d2e8650b3e60170dfc6a67bb4aa67b6dfca57af4bedb4"
 +"checksum difference 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198"
 +"checksum dirs 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901"
 +"checksum docopt 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7f525a586d310c87df72ebcd98009e57f1cc030c8c268305287a476beb653969"
 +"checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3"
 +"checksum enum_primitive 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "be4551092f4d519593039259a9ed8daedf0da12e5109c5280338073eaeb81180"
-+"checksum env_logger 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "39ecdb7dd54465526f0a56d666e3b2dd5f3a218665a030b6e4ad9e70fa95d8fa"
++"checksum env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
 +"checksum escargot 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ceb9adbf9874d5d028b5e4c5739d22b71988252b25c9c98fe7cf9738bee84597"
-+"checksum failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2"
-+"checksum failure_derive 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1"
-+"checksum filetime 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6bd7380b54ced79dda72ecc35cc4fbbd1da6bba54afaa37e96fd1c2a308cd469"
-+"checksum float-cmp 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "134a8fa843d80a51a5b77d36d42bc2def9edcb0262c914861d08129fd1926600"
++"checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
++"checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
++"checksum filetime 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "1ff6d4dab0aa0c8e6346d46052e93b13a16cf847b54ed357087c35011048cc7d"
++"checksum float-cmp 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "75224bec9bfe1a65e2d34132933f2de7fe79900c96a0174307554244ece8150e"
 +"checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
 +"checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
 +"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
 +"checksum futures-channel-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)" = "d5e5f4df964fa9c1c2f8bddeb5c3611631cacd93baf810fc8bb2fb4b495c263a"
 +"checksum futures-core-preview 0.3.0-alpha.19 (registry+https://github.com/rust-lang/crates.io-index)" = "b35b6263fb1ef523c3056565fa67b1d16f0a8604ff12b11b08c25f28a734c60a"
-+"checksum getrandom 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "473a1265acc8ff1e808cd0a1af8cee3c2ee5200916058a2ca113c29f2d903571"
++"checksum getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407"
 +"checksum gif 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e2e41945ba23db3bf51b24756d73d81acb4f28d85c3dccc32c6fae904438c25f"
 +"checksum glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
 +"checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
++"checksum hermit-abi 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "307c3c9f937f38e3534b1d6447ecf090cafcc9744e4a6360e8b037b2cf5af120"
 +"checksum httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9"
 +"checksum humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
 +"checksum id-arena 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005"
@@ -2113,43 +2130,42 @@ index 00000000..d7d32a06
 +"checksum jpeg-decoder 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "c1aae18ffeeae409c6622c3b6a7ee49792a7e5a062eea1b135fbb74e301792ba"
 +"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 +"checksum leb128 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3576a87f2ba00f6f106fdfcd16db1d698d648a26ad8e0573cad8537c3c362d2a"
-+"checksum libc 0.2.62 (registry+https://github.com/rust-lang/crates.io-index)" = "34fcd2c08d2f832f376f4173a231990fa5aef4e99fb569867318a227ef4c06ba"
++"checksum libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)" = "1a31a0627fdf1f6a39ec0dd577e101440b7db22672c0901fe00a9a6fbb5c24e8"
 +"checksum libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "2eb5e43362e38e2bca2fd5f5134c4d4564a23a5c28e9b95411652021a8675ebe"
 +"checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b"
 +"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
 +"checksum lzw 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7d947cbb889ed21c2a84be6ffbaebf5b4e0f4340638cba0444907e38b56be084"
 +"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
 +"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
-+"checksum memoffset 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ce6075db033bbbb7ee5a0bbd3a3186bbae616f57fb001c485c7ff77955f8177f"
++"checksum memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "75189eb85871ea5c2e2c15abbdd541185f63b408415e5051f5cac122d8c774b9"
 +"checksum mime 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ba626b8a6de5da682e1caa06bdb42a335aee5a84db8e5046a3e8ab17ba0a3ae0"
 +"checksum mime_guess 1.8.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0d977de9ee851a0b16e932979515c0f3da82403183879811bc97d50bd9cc50f7"
 +"checksum multipart 0.15.4 (registry+https://github.com/rust-lang/crates.io-index)" = "adba94490a79baf2d6a23eac897157047008272fa3eecb3373ae6377b91eca28"
-+"checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945"
 +"checksum nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6"
 +"checksum normalize-line-endings 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2e0a1a39eab95caf4f5556da9289b9e68f0aafac901b2ce80daaf020d3b733a8"
 +"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09"
 +"checksum num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "76bd5272412d173d6bf9afdf98db8612bbabc9a7a830b7bfc9c188911716132e"
 +"checksum num-rational 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "ee314c74bd753fc86b4780aa9475da469155f3848473a261d2d18e35245a784e"
 +"checksum num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31"
-+"checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32"
-+"checksum num_cpus 1.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bcef43580c035376c0705c42792c294b66974abbfd2789b511784023f71f3273"
-+"checksum openssl 0.10.25 (registry+https://github.com/rust-lang/crates.io-index)" = "2f372b2b53ce10fb823a337aaa674e3a7d072b957c6264d0f4ff0bd86e657449"
++"checksum num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c81ffc11c212fa327657cb19dd85eb7419e163b5b076bede2bdb5c974c07e4"
++"checksum num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "76dac5ed2a876980778b8b85f75a71b6cbf0db0b1232ee12f826bccb00d09d72"
++"checksum openssl 0.10.26 (registry+https://github.com/rust-lang/crates.io-index)" = "3a3cc5799d98e1088141b8e01ff760112bbd9f19d850c124500566ca6901a585"
 +"checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
 +"checksum openssl-src 111.6.0+1.1.1d (registry+https://github.com/rust-lang/crates.io-index)" = "b9c2da1de8a7a3f860919c01540b03a6db16de042405a8a07a5e9d0b4b825d9c"
-+"checksum openssl-sys 0.9.50 (registry+https://github.com/rust-lang/crates.io-index)" = "2c42dcccb832556b5926bc9ae61e8775f2a61e725ab07ab3d1e7fcf8ae62c3b6"
++"checksum openssl-sys 0.9.53 (registry+https://github.com/rust-lang/crates.io-index)" = "465d16ae7fc0e313318f7de5cecf57b2fbe7511fd213978b457e1c96ff46736f"
 +"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
 +"checksum phf 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b3da44b85f8e8dfaec21adae67f95d93244b2ecf6ad2a692320598dcc8e6dd18"
 +"checksum phf_codegen 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b03e85129e324ad4166b06b2c7491ae27fe3ec353af72e72cd1654c7225d517e"
 +"checksum phf_generator 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "09364cc93c159b8b06b1f4dd8a4398984503483891b0c26b867cf431fb132662"
 +"checksum phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0"
-+"checksum pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)" = "72d5370d90f49f70bd033c3d75e87fc529fbfff9d6f7cccef07d6170079d91ea"
++"checksum pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)" = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677"
 +"checksum png 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3cb773e9a557edb568ce9935cf783e3cdcabe06a9449d41b3e5506d88e582c82"
-+"checksum ppv-lite86 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e3cbf9f658cdb5000fcf6f362b8ea2ba154b9f146a61c7a20d647034c6b6561b"
-+"checksum predicates 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "53e09015b0d3f5a0ec2d4428f7559bb7b3fff341b4e159fedd1d57fac8b939ff"
++"checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b"
++"checksum predicates 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a9bfe52247e5cc9b2f943682a85a5549fb9662245caf094504e69a2f03fe64d4"
 +"checksum predicates-core 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "06075c3a3e92559ff8929e7a280684489ea27fe44805174c3ebd9328dcb37178"
 +"checksum predicates-tree 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8e63c4859013b38a76eca2414c64911fba30def9e3202ac461a2d22831220124"
 +"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
-+"checksum proc-macro2 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afdc77cc74ec70ed262262942ebb7dac3d479e9e5cfa2da1841c0806f6cdabcc"
++"checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27"
 +"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
 +"checksum quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1"
 +"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
@@ -2169,8 +2185,8 @@ index 00000000..d7d32a06
 +"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
 +"checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
 +"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
-+"checksum rayon 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "83a27732a533a1be0a0035a111fe76db89ad312f6f0347004c220c57f209a123"
-+"checksum rayon-core 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "98dcf634205083b17d0861252431eb2acbfb698ab7478a2d20de07954f47ec7b"
++"checksum rayon 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "43739f8831493b276363637423d3622d4bd6394ab6f0a9c4a552e208aeb7fddd"
++"checksum rayon-core 1.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f8bf17de6f23b05473c437eb958b9c850bfc8af0961fe17b4cc92d5a627b4791"
 +"checksum raytracer 0.1.0 (git+https://github.com/alexcrichton/raytracer?branch=update-deps)" = "<none>"
 +"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
 +"checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
@@ -2182,26 +2198,26 @@ index 00000000..d7d32a06
 +"checksum rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ca4eaef519b494d1f2848fc602d18816fed808a981aedf4f1f00ceb7c9d32cf"
 +"checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
 +"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
-+"checksum ryu 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c92464b447c0ee8c4fb3824ecc8383b81717b9f1e74ba2e72540aef7b9f82997"
-+"checksum safemem 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d2b08423011dae9a5ca23f07cf57dac3857f5c885d352b76f6d95f4aea9434d0"
++"checksum ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8"
++"checksum safemem 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
 +"checksum schannel 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "87f550b06b6cba9c8b8be3ee73f391990116bf527450d2556e9b9ce263b9a021"
 +"checksum scoped-tls 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2"
 +"checksum scoped_threadpool 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8"
 +"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
 +"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
 +"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
-+"checksum serde 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)" = "9796c9b7ba2ffe7a9ce53c2287dfc48080f4b2b362fcc245a259b3a7201119dd"
-+"checksum serde_derive 1.0.101 (registry+https://github.com/rust-lang/crates.io-index)" = "4b133a43a1ecd55d4086bd5b4dc6c1751c68b1bfbeba7a5040442022c7e7c02e"
-+"checksum serde_json 1.0.40 (registry+https://github.com/rust-lang/crates.io-index)" = "051c49229f282f7c6f3813f8286cc1e3323e8051823fce42c7ea80fe13521704"
++"checksum serde 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)" = "1217f97ab8e8904b57dd22eb61cde455fa7446a9c1cf43966066da047c1f3702"
++"checksum serde_derive 1.0.103 (registry+https://github.com/rust-lang/crates.io-index)" = "a8c6faef9a2e64b0064f48570289b4bf8823b7581f1d6157c1b52152306651d0"
++"checksum serde_json 1.0.42 (registry+https://github.com/rust-lang/crates.io-index)" = "1a3351dcbc1f067e2c92ab7c3c1f288ad1a4cffc470b5aaddb4c2e0a3ae80043"
 +"checksum sha1 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d"
 +"checksum siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
-+"checksum smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ab606a9c5e214920bb66c458cd7be8ef094f813f20fe77a54cc7dbfff220d4b7"
++"checksum smallvec 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecf3b85f68e8abaa7555aa5abdb1153079387e60b718283d732f03897fcfc86"
 +"checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85"
 +"checksum sourcefile 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4bf77cb82ba8453b42b6ae1d692e4cdc92f9a47beaf89a847c8be83f4e328ad3"
 +"checksum strsim 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "032c03039aae92b350aad2e3779c352e104d919cb192ba2fabbd7b831ce4f0f6"
 +"checksum syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)" = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5"
-+"checksum syn 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "66850e97125af79138385e9b88339cbcd037e3f28ceab8c5ad98e64f0f1f80bf"
-+"checksum synstructure 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)" = "02353edf96d6e4dc81aea2d8490a7e9db177bf8acb0e951c24940bf866cb313f"
++"checksum syn 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "661641ea2aa15845cddeb97dad000d22070bb5c1fb456b96c1cba883ec691e92"
++"checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545"
 +"checksum tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
 +"checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
 +"checksum term 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "edd106a334b7657c10b7c540a0106114feadeb4dc314513e97df481d5d966f42"
@@ -2211,24 +2227,24 @@ index 00000000..d7d32a06
 +"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
 +"checksum tiny_http 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1661fa0a44c95d01604bd05c66732a446c657efb62b5164a7a083a3b552b4951"
 +"checksum toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "758664fc71a3a69038656bee8b6be6477d2a6c315a6b81f7081f591bffa4111f"
-+"checksum toml 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c7aabe75941d914b72bf3e5d3932ed92ce0664d49d8432305a8b547c37227724"
++"checksum toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "01d1404644c8b12b16bfcffa4322403a91a451584daaaa7c28d3152e6cbc98cf"
 +"checksum treeline 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a7f741b240f1a48843f9b8e0444fb55fb2a4ff67293b50a9179dfd5ea67f8d41"
-+"checksum trybuild 1.0.16 (registry+https://github.com/rust-lang/crates.io-index)" = "10d8f366221c5a5ff8a62faa005e186fdce758949d34a9140b64a062951bae68"
++"checksum trybuild 1.0.18 (registry+https://github.com/rust-lang/crates.io-index)" = "b75e31d624df08744532e935f1d4bfedd319a277d5a162c5b15f6ced59307575"
 +"checksum twoway 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "59b11b2b5241ba34be09c3cc85a36e56e48f9888862e19cedf23336d35316ed1"
 +"checksum unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33"
 +"checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
-+"checksum unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426"
-+"checksum unicode-segmentation 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1967f4cdfc355b37fd76d2a954fb2ed3871034eb4f26d60537d88795cfc332a9"
++"checksum unicode-normalization 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b561e267b2326bb4cebfc0ef9e68355c7abe6c6f522aeac2f5bf95d56c59bdcf"
++"checksum unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
 +"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
 +"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
 +"checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
 +"checksum vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "33dd455d0f96e90a75803cfeb7f948768c08d70a6de9a8d2362461935698bf95"
 +"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
-+"checksum walrus 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e6f3bd9559eb5b59d55cc60986e26dc9b3f64377d0b9495e41abd9ede9a6443f"
-+"checksum walrus-macro 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0464a6e0d86be4c95c8c838bcb1910df831e1216a9586feeb02478cd52c4e554"
++"checksum walrus 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "85ce93ab0c27412ba41d509f2410fa575ecbfdb4a6aba0e02e79e12c09745485"
++"checksum walrus-macro 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8757b0da38353d55a9687f4dee68a8f441f980dd36e16ab07d6e6c673f505f76"
 +"checksum wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d"
-+"checksum wasm-webidl-bindings 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e407ee3155cb0742acacd0b21060daafe2ad78ea718f2d6b10e7d9d1032aa961"
-+"checksum wasmparser 0.37.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f7387ba67c13dd9cd01d7d961e733375aee889f828564e190da85b5602eb5eeb"
++"checksum wasm-webidl-bindings 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b5cae185868c6038a48f487b9af3766ee0c68d4a85fa3610c3a0522092b3cec1"
++"checksum wasmparser 0.39.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c702914acda5feeeffbc29e4d953e5b9ce79d8b98da4dbf18a77086e116c5470"
 +"checksum weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3bb43f70885151e629e2a19ce9e50bd730fd436cfd4b666894c9ce4de9141164"
 +"checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
 +"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
diff --git a/pkgs/development/tools/wasm-bindgen-cli/default.nix b/pkgs/development/tools/wasm-bindgen-cli/default.nix
index 2fd30ecc6b14..26f37c5dc746 100644
--- a/pkgs/development/tools/wasm-bindgen-cli/default.nix
+++ b/pkgs/development/tools/wasm-bindgen-cli/default.nix
@@ -2,20 +2,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wasm-bindgen-cli";
-  version = "0.2.51";
+  version = "0.2.55";
 
   src = fetchFromGitHub {
     owner = "rustwasm";
     repo = "wasm-bindgen";
     rev = version;
-    sha256 = "1pfkwak11k3ghvv985c20vhg4cyvf131a1f7k3sv5snw2klww7vm";
+    sha256 = "13pcfrdf3nk4mrc7lqpz9qjdh7gfpqf849iywcyjk3f9y8sm46ii";
   };
 
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security curl ];
   nativeBuildInputs = [ pkgconfig ];
 
-  cargoSha256 = "06zk2yzwpl569q5mgn56gprsfxxvyz4a2i949lls13daq1kal5pa";
-  cargoPatches = [ ./0001-Add-cargo.lock-for-rustPlatform.buildRustPackage-in-.patch ];
+  cargoSha256 = "0mpq40llddqj7syi07pfhr48kndx35f1hyf5pvx5zdnfz29a924v";
+  cargoPatches = [ ./0001-Add-cargo.lock-for-0.2.55.patch ];
   cargoBuildFlags = [ "-p" pname ];
 
   meta = with lib; {
diff --git a/pkgs/development/tools/yarn/default.nix b/pkgs/development/tools/yarn/default.nix
index 43d3e20d3dfd..3384dac54100 100644
--- a/pkgs/development/tools/yarn/default.nix
+++ b/pkgs/development/tools/yarn/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "yarn";
-  version = "1.19.1";
+  version = "1.19.2";
 
   src = fetchzip {
     url = "https://github.com/yarnpkg/yarn/releases/download/v${version}/yarn-v${version}.tar.gz";
-    sha256 = "0qlrwmvpv0ifvywqqzg28ywmhk4prkk1dflnnpk6grpgkq3bfv77";
+    sha256 = "05sjf7pgdj3hh92j2xxl683frrkiw1rqxs72z3an4gb83nllvi0n";
   };
 
   buildInputs = [ nodejs ];
diff --git a/pkgs/development/tools/yarn2nix-moretea/fetch-source.nix b/pkgs/development/tools/yarn2nix-moretea/fetch-source.nix
index b15b40c4a043..fc9b149887a5 100644
--- a/pkgs/development/tools/yarn2nix-moretea/fetch-source.nix
+++ b/pkgs/development/tools/yarn2nix-moretea/fetch-source.nix
@@ -5,6 +5,6 @@
 fetchFromGitHub {
   owner  = "moretea";
   repo   = "yarn2nix";
-  rev    = "3f2dbb08724bf8841609f932bfe1d61a78277232";
-  sha256 = "142av7dwviapsnahgj8r6779gs2zr17achzhr8b97s0hsl08dcl2";
+  rev    = "9e7279edde2a4e0f5ec04c53f5cd64440a27a1ae";
+  sha256 = "0zz2lrwn3y3rb8gzaiwxgz02dvy3s552zc70zvfqc0zh5dhydgn7";
 }
diff --git a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
index f5989390c4b0..22032e145d3f 100644
--- a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
+++ b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix
@@ -238,7 +238,7 @@ in rec {
       package = lib.importJSON packageJSON;
       pname = package.name;
       safeName = reformatPackageName pname;
-      version = package.version;
+      version = package.version or attrs.version;
       baseName = unlessNull name "${safeName}-${version}";
 
       workspaceDependenciesTransitive = lib.unique (
@@ -389,6 +389,11 @@ in rec {
     # yarn2nix is the only package that requires the yarnNix option.
     # All the other projects can auto-generate that file.
     yarnNix = ./yarn.nix;
+    
+    # Using the filter above and importing package.json from the filtered
+    # source results in an error in restricted mode. To circumvent this,
+    # we import package.json from the unfiltered source
+    packageJSON = ./package.json;
 
     yarnFlags = defaultYarnFlags ++ ["--production=true"];
 
diff --git a/pkgs/development/web/cypress/default.nix b/pkgs/development/web/cypress/default.nix
index f88a6ceaeb34..796060de0b0a 100644
--- a/pkgs/development/web/cypress/default.nix
+++ b/pkgs/development/web/cypress/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec{
   pname = "cypress";
-  version = "3.5.0";
+  version = "3.6.1";
 
   src = fetchzip {
     url = "https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip";
-    sha256 = "1w1nqa0j3bzjr000d4jlr34d1asdc1fv81pq831s3wl55hyqbij6";
+    sha256 = "0vlfmhsz7zkp3bjsgqmp9n716d5znicl42hm0m9hl7ndvgm9z9z0";
   };
 
   # don't remove runtime deps
diff --git a/pkgs/development/web/nodejs/disable-libatomic-darwin-12_x.patch b/pkgs/development/web/nodejs/disable-libatomic-darwin-12_x.patch
deleted file mode 100644
index d6ac38138b88..000000000000
--- a/pkgs/development/web/nodejs/disable-libatomic-darwin-12_x.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/node.gyp
-+++ b/node.gyp
-@@ -289,7 +289,7 @@
-           '-Wl,-bnoerrmsg',
-         ],
-       }],
--      ['(OS=="linux" or OS=="mac") and llvm_version!=0', {
-+      ['OS=="linux" and llvm_version!=0', {
-         'libraries': ['-latomic'],
-       }],
-     ],
diff --git a/pkgs/development/web/nodejs/disable-libatomic-darwin-13_x.patch b/pkgs/development/web/nodejs/disable-libatomic-darwin.patch
index b3b2c8b0fb65..7ac6c2ef8953 100644
--- a/pkgs/development/web/nodejs/disable-libatomic-darwin-13_x.patch
+++ b/pkgs/development/web/nodejs/disable-libatomic-darwin.patch
@@ -5,7 +5,7 @@
          ],
        }],
 -      ['OS in ("linux", "mac") and llvm_version != "0.0"', {
-+      ['OS=="linux" and llvm_version!=0', {
++      ['OS == "linux" and llvm_version != "0.0"', {
          'libraries': ['-latomic'],
        }],
      ],
diff --git a/pkgs/development/web/nodejs/v12.nix b/pkgs/development/web/nodejs/v12.nix
index bed3127ee4bf..fbec83c387a0 100644
--- a/pkgs/development/web/nodejs/v12.nix
+++ b/pkgs/development/web/nodejs/v12.nix
@@ -5,8 +5,8 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "12.13.0";
-    sha256 = "1xmy73q3qjmy68glqxmfrk6baqk655py0cic22h1h0v7rx0iaax8";
+    version = "12.13.1";
+    sha256 = "14mia71sr8p0ibz9g4j5xb5qwmik36qi5nhabjbv0sy2kirkm7il";
 
-    patches = stdenv.lib.optionals stdenv.isDarwin [ ./disable-libatomic-darwin-12_x.patch ];
+    patches = stdenv.lib.optionals stdenv.isDarwin [ ./disable-libatomic-darwin.patch ];
   }
diff --git a/pkgs/development/web/nodejs/v13.nix b/pkgs/development/web/nodejs/v13.nix
index 37d42e0ee771..ee5d384f200a 100644
--- a/pkgs/development/web/nodejs/v13.nix
+++ b/pkgs/development/web/nodejs/v13.nix
@@ -5,8 +5,8 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "13.0.1";
-    sha256 = "1n9w1kvdzdg2j0a41wdkqcl893209lc018sd49xpy1cnr169h6vr";
+    version = "13.2.0";
+    sha256 = "0r0bbwnp77njhdmby7cs2g6yxfprri684s8h3gqq95ks7vgwgvhx";
 
-    patches = stdenv.lib.optionals stdenv.isDarwin [ ./disable-libatomic-darwin-13_x.patch ];
+    patches = stdenv.lib.optionals stdenv.isDarwin [ ./disable-libatomic-darwin.patch ];
   }
diff --git a/pkgs/development/web/postman/default.nix b/pkgs/development/web/postman/default.nix
index 440012461b97..7c56cd827ca2 100644
--- a/pkgs/development/web/postman/default.nix
+++ b/pkgs/development/web/postman/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "postman";
-  version = "7.10.0";
+  version = "7.12.0";
 
   src = fetchurl {
     url = "https://dl.pstmn.io/download/version/${version}/linux64";
-    sha256 = "0k8np71p414407hvcw149gspvdgyadnmpvfdxwwkr3pydj70vn6f";
+    sha256 = "0sz7cidajrsj43vq5g8jrkxlrp97r7n8dfr9gp8l0wxnidiqm401";
     name = "${pname}.tar.gz";
   };
 
diff --git a/pkgs/games/0ad/game.nix b/pkgs/games/0ad/game.nix
index ef285f8cb935..8102235d88eb 100644
--- a/pkgs/games/0ad/game.nix
+++ b/pkgs/games/0ad/game.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, perl, fetchurl, python2
 , pkgconfig, spidermonkey_38, boost, icu, libxml2, libpng, libsodium
 , libjpeg, zlib, curl, libogg, libvorbis, enet, miniupnpc
-, openal, libGLU_combined, xorgproto, libX11, libXcursor, nspr, SDL2
+, openal, libGLU, libGL, xorgproto, libX11, libXcursor, nspr, SDL2
 , gloox, nvidia-texture-tools
 , withEditor ? true, wxGTK ? null
 }:
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     spidermonkey_38 boost icu libxml2 libpng libjpeg
     zlib curl libogg libvorbis enet miniupnpc openal
-    libGLU_combined xorgproto libX11 libXcursor nspr SDL2 gloox
+    libGLU libGL xorgproto libX11 libXcursor nspr SDL2 gloox
     nvidia-texture-tools libsodium
   ] ++ lib.optional withEditor wxGTK;
 
diff --git a/pkgs/games/adom/default.nix b/pkgs/games/adom/default.nix
index 9766e58c15ae..2d3be1880de9 100644
--- a/pkgs/games/adom/default.nix
+++ b/pkgs/games/adom/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, patchelf, zlib, libmad, libpng12, libcaca, libGLU_combined, alsaLib, libpulseaudio
+{ stdenv, fetchurl, patchelf, zlib, libmad, libpng12, libcaca, libGLU, libGL, alsaLib, libpulseaudio
 , xorg }:
 
 let
@@ -6,7 +6,7 @@ let
   inherit (xorg) libXext libX11;
 
   lpath = "${stdenv.cc.cc.lib}/lib64:" + stdenv.lib.makeLibraryPath [
-      zlib libmad libpng12 libcaca libXext libX11 libGLU_combined alsaLib libpulseaudio];
+      zlib libmad libpng12 libcaca libXext libX11 libGLU libGL alsaLib libpulseaudio];
 
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/games/alienarena/default.nix b/pkgs/games/alienarena/default.nix
index 89c74d83b490..5c27e3426fd7 100644
--- a/pkgs/games/alienarena/default.nix
+++ b/pkgs/games/alienarena/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, libjpeg, libX11, libXxf86vm, curl, libogg
-, libvorbis, freetype, openal, libGLU_combined }:
+, libvorbis, freetype, openal, libGL }:
 
 stdenv.mkDerivation {
   name = "alienarena-7.65";
@@ -11,12 +11,12 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libjpeg libX11 curl libogg libvorbis
-                  freetype openal libGLU_combined libXxf86vm ];
+                  freetype openal libGL libXxf86vm ];
 
   patchPhase = ''
     substituteInPlace ./configure \
       --replace libopenal.so.1 ${openal}/lib/libopenal.so.1 \
-      --replace libGL.so.1 ${libGLU_combined}/lib/libGL.so.1
+      --replace libGL.so.1 ${libGL}/lib/libGL.so.1
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/games/armagetronad/default.nix b/pkgs/games/armagetronad/default.nix
index 70c23664dc04..edb739125c01 100644
--- a/pkgs/games/armagetronad/default.nix
+++ b/pkgs/games/armagetronad/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, SDL, libxml2, SDL_image, libjpeg, libpng, libGLU_combined, zlib }:
+{ stdenv, fetchurl, SDL, libxml2, SDL_image, libjpeg, libpng, libGLU, libGL, zlib }:
 
 let
   versionMajor = "0.2.8";
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   configureFlags = [ "--disable-etc" ];
-  buildInputs = [ SDL SDL_image libxml2 libjpeg libpng libGLU_combined zlib ];
+  buildInputs = [ SDL SDL_image libxml2 libjpeg libpng libGLU libGL zlib ];
 
   meta = with stdenv.lib; {
     homepage = http://armagetronad.org;
diff --git a/pkgs/games/arx-libertatis/default.nix b/pkgs/games/arx-libertatis/default.nix
index d3f18d4c2182..354787e0f074 100644
--- a/pkgs/games/arx-libertatis/default.nix
+++ b/pkgs/games/arx-libertatis/default.nix
@@ -47,14 +47,14 @@ stdenv.mkDerivation {
   '' + optionalString withCrashReporter ''
     wrapQtApp "$out/libexec/arxcrashreporter"
   '';
-  
+
   meta = {
     description = ''
       A cross-platform, open source port of Arx Fatalis, a 2002
       first-person role-playing game / dungeon crawler
       developed by Arkane Studios.
     '';
-    homepage = http://arx-libertatis.org/;
+    homepage = https://arx-libertatis.org/;
     license = licenses.gpl3;
     maintainers = with maintainers; [ rnhmjoj ];
     platforms = platforms.linux;
diff --git a/pkgs/games/astromenace/default.nix b/pkgs/games/astromenace/default.nix
index 37593d3bd726..191428f66dbc 100644
--- a/pkgs/games/astromenace/default.nix
+++ b/pkgs/games/astromenace/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, cmake, xlibsWrapper, libGLU_combined, SDL, openal, freealut, libogg, libvorbis, runtimeShell }:
+{ fetchurl, stdenv, cmake, xlibsWrapper, libGLU, libGL, SDL, openal, freealut, libogg, libvorbis, runtimeShell }:
 
 stdenv.mkDerivation rec {
   version = "1.3.2";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1rkz6lwjcd5mwv72kf07ghvx6z46kf3xs250mjbmnmjpn7r5sxwv";
   };
 
-  buildInputs = [ cmake xlibsWrapper libGLU_combined SDL openal freealut libogg libvorbis ];
+  buildInputs = [ cmake xlibsWrapper libGLU libGL SDL openal freealut libogg libvorbis ];
 
   buildPhase = ''
     cmake ./
diff --git a/pkgs/games/bitsnbots/default.nix b/pkgs/games/bitsnbots/default.nix
index 94a1e6ee91ab..c6c5176ecdf8 100644
--- a/pkgs/games/bitsnbots/default.nix
+++ b/pkgs/games/bitsnbots/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, SDL, lua, libGLU_combined }:
+{ stdenv, fetchurl, SDL, lua, libGLU, libGL }:
 
 stdenv.mkDerivation rec {
   name = "bitsnbots-20111230";
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     ln -s $out/share/${name}/bitsnbots $out/bin
   '';
 
-  buildInputs = [ SDL lua libGLU_combined ];
+  buildInputs = [ SDL lua libGLU libGL ];
 
   meta = {
     description = "Simple puzzle game with moving robots";
diff --git a/pkgs/games/blackshades/default.nix b/pkgs/games/blackshades/default.nix
index a35b449f92fd..608b32764bb9 100644
--- a/pkgs/games/blackshades/default.nix
+++ b/pkgs/games/blackshades/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchsvn, SDL, libGLU_combined, openal, libvorbis, freealut, SDL_image}:
+{stdenv, fetchsvn, SDL, libGLU, libGL, openal, libvorbis, freealut, SDL_image}:
 
 stdenv.mkDerivation {
   name = "blackshades-svn-110";
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   NIX_LDFLAGS = "-lSDL_image";
 
-  buildInputs = [ SDL SDL_image libGLU_combined openal libvorbis freealut ];
+  buildInputs = [ SDL SDL_image libGLU libGL openal libvorbis freealut ];
 
   patchPhase = ''
     sed -i -e s,Data/,$out/opt/$name/Data/,g \
diff --git a/pkgs/games/blobby/default.nix b/pkgs/games/blobby/default.nix
index d3eb2348a0d5..938d767c3d85 100644
--- a/pkgs/games/blobby/default.nix
+++ b/pkgs/games/blobby/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, SDL2, SDL2_image, libGLU_combined, cmake, physfs, boost, zip, zlib
+{stdenv, fetchurl, SDL2, SDL2_image, libGLU, libGL, cmake, physfs, boost, zip, zlib
 , pkgconfig, unzip}:
 stdenv.mkDerivation rec {
   version = "1.0";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [SDL2 SDL2_image libGLU_combined cmake physfs boost zip zlib
+  buildInputs = [SDL2 SDL2_image libGLU libGL cmake physfs boost zip zlib
     unzip];
 
   preConfigure=''
diff --git a/pkgs/games/boohu/default.nix b/pkgs/games/boohu/default.nix
index e658ef9f5cba..3dcfe201d2c1 100644
--- a/pkgs/games/boohu/default.nix
+++ b/pkgs/games/boohu/default.nix
@@ -3,13 +3,13 @@
 buildGoPackage rec {
 
   pname = "boohu";
-  version = "0.12.0";
+  version = "0.13.0";
 
   goPackagePath = "git.tuxfamily.org/boohu/boohu.git";
 
   src = fetchurl {
     url = "https://download.tuxfamily.org/boohu/downloads/${pname}-${version}.tar.gz";
-    sha256 = "0nf3xj3lda8279cqvjv5c3vpsb7d2kynwwna5yrsy7gq8c9n4rh8";
+    sha256 = "0q89yv4klldjpli6y9xpyr6k8nsn7qa68gp90vb3dgxynn91sh68";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/games/boohu/deps.nix b/pkgs/games/boohu/deps.nix
index a785567adddf..c2dc3b41b973 100644
--- a/pkgs/games/boohu/deps.nix
+++ b/pkgs/games/boohu/deps.nix
@@ -4,8 +4,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/nsf/termbox-go";
-      rev = "288510b9734e30e7966ec2f22b87c5f8e67345e3";
-      sha256 = "0hdyisfaf8yb55h3p03p4sbq19546mp9fy28f2kn659mycmhxqk4";
+      rev = "93860e16131719fa9722e7c448dbf8c0e3210a0d";
+      sha256 = "03hz060cy8qrl4kgr80pbq6xvr38z4c6ghr3y81i8g854rvp6426";
     };
   }
   {
@@ -13,8 +13,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/mattn/go-runewidth";
-      rev = "703b5e6b11ae25aeb2af9ebb5d5fdf8fa2575211";
-      sha256 = "0znpyz71gajx3g0j2zp63nhjj2c07g16885vxv4ykwnrfmzbgk4w";
+      rev = "f93a0d58d5fd95e53f82782d07bb0c79d23e1290";
+      sha256 = "1sq97q71vgwnbg1fphsmqrzkbfn6mjal6d8a3qgwv4nbgppwaz25";
     };
   }
 ]
diff --git a/pkgs/games/bzflag/default.nix b/pkgs/games/bzflag/default.nix
index 56d2866a2355..d07088a30a3e 100644
--- a/pkgs/games/bzflag/default.nix
+++ b/pkgs/games/bzflag/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, pkgconfig
-, curl, SDL2, libGLU_combined, glew, ncurses, c-ares
+, curl, SDL2, libGLU, libGL, glew, ncurses, c-ares
 , Carbon, CoreServices }:
 
 stdenv.mkDerivation rec {
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ curl SDL2 libGLU_combined glew ncurses c-ares ]
+  buildInputs = [ curl SDL2 libGLU libGL glew ncurses c-ares ]
     ++ lib.optionals stdenv.isDarwin [ Carbon CoreServices ];
 
   meta = with lib; {
diff --git a/pkgs/games/chessx/default.nix b/pkgs/games/chessx/default.nix
index 3b460daefd1a..f0b04489edac 100644
--- a/pkgs/games/chessx/default.nix
+++ b/pkgs/games/chessx/default.nix
@@ -1,8 +1,16 @@
-{ stdenv, pkgconfig, zlib, qtbase, qtsvg, qttools, qtmultimedia, qmake, fetchurl, makeWrapper
-, lib
+{ mkDerivation
+, stdenv
+, pkgconfig
+, zlib
+, qtbase
+, qtsvg
+, qttools
+, qtmultimedia
+, qmake
+, fetchurl
 }:
 
-stdenv.mkDerivation rec {
+mkDerivation rec {
   pname = "chessx";
   version = "1.5.0";
 
@@ -11,16 +19,19 @@ stdenv.mkDerivation rec {
     sha256 = "09rqyra28w3z9ldw8sx07k5ap3sjlli848p737maj7c240rasc6i";
   };
 
+  nativeBuildInputs = [
+    pkgconfig
+    qmake
+  ];
+
   buildInputs = [
     qtbase
+    qtmultimedia
     qtsvg
     qttools
-    qtmultimedia
     zlib
   ];
 
-  nativeBuildInputs = [ pkgconfig qmake makeWrapper ];
-
   # RCC: Error in 'resources.qrc': Cannot find file 'i18n/chessx_da.qm'
   enableParallelBuilding = false;
 
@@ -39,7 +50,7 @@ stdenv.mkDerivation rec {
     homepage = http://chessx.sourceforge.net/;
     description = "ChessX allows you to browse and analyse chess games";
     license = licenses.gpl2;
-    maintainers = [maintainers.luispedro];
+    maintainers = [ maintainers.luispedro ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/games/construo/default.nix b/pkgs/games/construo/default.nix
index 9528c6d06cb4..5c74b5962794 100644
--- a/pkgs/games/construo/default.nix
+++ b/pkgs/games/construo/default.nix
@@ -1,4 +1,12 @@
-{ stdenv, fetchurl, libX11, zlib, xorgproto, libGL ? null, freeglut ? null }:
+{ stdenv
+, fetchurl
+, libX11
+, zlib
+, xorgproto
+, libGL ? null
+, libGLU ? null
+, freeglut ? null
+}:
 
 stdenv.mkDerivation rec {
   pname = "construo";
@@ -11,6 +19,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libX11 zlib xorgproto ]
     ++ stdenv.lib.optional (libGL != null) libGL
+    ++ stdenv.lib.optional (libGLU != null) libGLU
     ++ stdenv.lib.optional (freeglut != null) freeglut;
 
   preConfigure = ''
diff --git a/pkgs/games/crack-attack/default.nix b/pkgs/games/crack-attack/default.nix
index bb06bec411bb..4741ac7bb684 100644
--- a/pkgs/games/crack-attack/default.nix
+++ b/pkgs/games/crack-attack/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gtk2, freeglut, SDL, SDL_mixer, libGLU_combined, libXi, libXmu }:
+{ stdenv, fetchurl, pkgconfig, gtk2, freeglut, SDL, SDL_mixer, libGLU, libGL, libXi, libXmu }:
 
 stdenv.mkDerivation {
   name = "crack-attack-1.1.14";
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
   configureFlags = [ "--enable-sound=yes" ];
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk2 freeglut SDL SDL_mixer libGLU_combined libXi libXmu ];
+  buildInputs = [ gtk2 freeglut SDL SDL_mixer libGLU libGL libXi libXmu ];
 
   hardeningDisable = [ "format" ];
   enableParallelBuilding = true;
diff --git a/pkgs/games/crawl/default.nix b/pkgs/games/crawl/default.nix
index 47632408e795..e4cccdd6221b 100644
--- a/pkgs/games/crawl/default.nix
+++ b/pkgs/games/crawl/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchFromGitHub, fetchpatch, which, sqlite, lua5_1, perl, python3, zlib, pkgconfig, ncurses
-, dejavu_fonts, libpng, SDL2, SDL2_image, SDL2_mixer, libGLU_combined, freetype, pngcrush, advancecomp
+, dejavu_fonts, libpng, SDL2, SDL2_image, SDL2_mixer, libGLU, libGL, freetype, pngcrush, advancecomp
 , tileMode ? false, enableSound ? tileMode
 
 # MacOS / Darwin builds
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   # Still unstable with luajit
   buildInputs = [ lua5_1 zlib sqlite ncurses ]
                 ++ (with python3.pkgs; [ pyyaml ])
-                ++ lib.optionals tileMode [ libpng SDL2 SDL2_image freetype libGLU_combined ]
+                ++ lib.optionals tileMode [ libpng SDL2 SDL2_image freetype libGLU libGL ]
                 ++ lib.optional enableSound SDL2_mixer
                 ++ (lib.optionals stdenv.isDarwin (
                   assert (lib.assertMsg (darwin != null) "Must have darwin frameworks available for darwin builds");
diff --git a/pkgs/games/crrcsim/default.nix b/pkgs/games/crrcsim/default.nix
index b9d3a69d87b3..75ff970a16a8 100644
--- a/pkgs/games/crrcsim/default.nix
+++ b/pkgs/games/crrcsim/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libGLU_combined, SDL, SDL_mixer, plib, libjpeg }:
+{ stdenv, fetchurl, libGLU, libGL, SDL, SDL_mixer, plib, libjpeg }:
 let
   version = "0.9.13";
 in
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    libGLU_combined SDL SDL_mixer plib libjpeg
+    libGLU libGL SDL SDL_mixer plib libjpeg
   ];
 
   patches = [
diff --git a/pkgs/games/dhewm3/default.nix b/pkgs/games/dhewm3/default.nix
index 441e9f66981c..fd9729376403 100644
--- a/pkgs/games/dhewm3/default.nix
+++ b/pkgs/games/dhewm3/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, SDL2, libGLU_combined, zlib, libjpeg, libogg, libvorbis
+{ stdenv, fetchFromGitHub, cmake, SDL2, libGLU, libGL, zlib, libjpeg, libogg, libvorbis
 , openal, curl }:
 
 stdenv.mkDerivation rec {
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "0wsabvh1x4g12xmhzs2m2pgri2q9sir1w3m2r7fpy6kzxp32hqdk";
   };
 
-  # Add libGLU_combined linking
+  # Add libGLU libGL linking
   patchPhase = ''
     sed -i 's/\<idlib\()\?\)$/idlib GL\1/' neo/CMakeLists.txt
   '';
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ SDL2 libGLU_combined zlib libjpeg libogg libvorbis openal curl ];
+  buildInputs = [ SDL2 libGLU libGL zlib libjpeg libogg libvorbis openal curl ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/games/dwarf-fortress/dfhack/default.nix b/pkgs/games/dwarf-fortress/dfhack/default.nix
index 71024f3d5c91..544fa26b21cc 100644
--- a/pkgs/games/dwarf-fortress/dfhack/default.nix
+++ b/pkgs/games/dwarf-fortress/dfhack/default.nix
@@ -1,6 +1,6 @@
 { stdenv, buildEnv, lib, fetchFromGitHub, cmake, writeScriptBin
 , perl, XMLLibXML, XMLLibXSLT, zlib
-, enableStoneSense ? false,  allegro5, libGLU_combined
+, enableStoneSense ? false,  allegro5, libGLU, libGL
 , enableTWBT ? true, twbt
 , SDL
 , dfVersion
@@ -100,7 +100,7 @@ let
     nativeBuildInputs = [ cmake perl XMLLibXML XMLLibXSLT fakegit ];
     # We don't use system libraries because dfhack needs old C++ ABI.
     buildInputs = [ zlib SDL ]
-               ++ lib.optionals enableStoneSense [ allegro5 libGLU_combined ];
+               ++ lib.optionals enableStoneSense [ allegro5 libGLU libGL ];
 
     preConfigure = ''
       # Trick build system into believing we have .git
diff --git a/pkgs/games/dxx-rebirth/default.nix b/pkgs/games/dxx-rebirth/default.nix
index 82806c7521cf..b7eb2f02568d 100644
--- a/pkgs/games/dxx-rebirth/default.nix
+++ b/pkgs/games/dxx-rebirth/default.nix
@@ -1,5 +1,5 @@
 { gcc6Stdenv, fetchurl, fetchpatch, scons, pkgconfig
-, SDL, SDL_mixer, libGLU_combined, physfs
+, SDL, SDL_mixer, libGLU, libGL, physfs
 }:
 
 let
@@ -33,7 +33,7 @@ in gcc6Stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig scons ];
 
-  buildInputs = [ libGLU_combined physfs SDL SDL_mixer ];
+  buildInputs = [ libGLU libGL physfs SDL SDL_mixer ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/games/eduke32/default.nix b/pkgs/games/eduke32/default.nix
index 2999da8fcaaf..e305505d62cb 100644
--- a/pkgs/games/eduke32/default.nix
+++ b/pkgs/games/eduke32/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, makeWrapper, pkgconfig, nasm, makeDesktopItem
-, flac, gtk2, libvorbis, libvpx, libGLU_combined
+, flac, gtk2, libvorbis, libvpx, libGLU, libGL
 , SDL2, SDL2_mixer }:
 
 let
@@ -26,18 +26,18 @@ in stdenv.mkDerivation {
     sha256 = "09a7l23i6sygicc82w1in9hjw0jvivlf7q0vw8kcx9j98lm23mkn";
   };
 
-  buildInputs = [ flac gtk2 libvorbis libvpx libGLU_combined SDL2 SDL2_mixer ];
+  buildInputs = [ flac gtk2 libvorbis libvpx libGL libGLU SDL2 SDL2_mixer ];
 
   nativeBuildInputs = [ makeWrapper pkgconfig ]
     ++ stdenv.lib.optional (stdenv.hostPlatform.system == "i686-linux") nasm;
 
   postPatch = ''
     substituteInPlace source/build/src/glbuild.cpp \
-      --replace libGLU.so ${libGLU_combined}/lib/libGLU.so
+      --replace libGLU.so ${libGLU}/lib/libGLU.so
 
     for f in glad.c glad_wgl.c ; do
       substituteInPlace source/glad/src/$f \
-        --replace libGL.so ${libGLU_combined}/lib/libGL.so
+        --replace libGL.so ${libGL}/lib/libGL.so
     done
   '';
 
diff --git a/pkgs/games/egoboo/default.nix b/pkgs/games/egoboo/default.nix
index 98ab4d27d5f5..3cd2dc5827b3 100644
--- a/pkgs/games/egoboo/default.nix
+++ b/pkgs/games/egoboo/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libGLU_combined, SDL, SDL_mixer, SDL_image, SDL_ttf }:
+{ stdenv, fetchurl, libGLU, libGL, SDL, SDL_mixer, SDL_image, SDL_ttf }:
 
 stdenv.mkDerivation rec {
   # pf5234 (a developer?) at freenode #egoboo told me that I better use 2.7.3 until
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     cp -v -Rd controls.txt setup.txt players modules basicdat $out/share/${name}
   '';
 
-  buildInputs = [ libGLU_combined SDL SDL_mixer SDL_image SDL_ttf ];
+  buildInputs = [ libGLU libGL SDL SDL_mixer SDL_image SDL_ttf ];
 
   /*
     This big commented thing may be needed for versions 2.8.0 or beyond
diff --git a/pkgs/games/endless-sky/default.nix b/pkgs/games/endless-sky/default.nix
index 14bea8185c6f..5d1ed1c11a95 100644
--- a/pkgs/games/endless-sky/default.nix
+++ b/pkgs/games/endless-sky/default.nix
@@ -3,7 +3,7 @@
 }:
 
 let
-  version = "0.9.8";
+  version = "0.9.10";
 
 in
 stdenv.mkDerivation {
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
     owner = "endless-sky";
     repo = "endless-sky";
     rev = "v${version}";
-    sha256 = "0i36lawypikbq8vvzfis1dn7yf6q0d2s1cllshfn7kmjb6pqfi6c";
+    sha256 = "1wax9qhxakydg6bs92d1jy2fki1n9r0wkps1np02y0pvm1fl189i";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/games/endless-sky/fixes.patch b/pkgs/games/endless-sky/fixes.patch
index cad7a6acaed0..359e2ee4af3b 100644
--- a/pkgs/games/endless-sky/fixes.patch
+++ b/pkgs/games/endless-sky/fixes.patch
@@ -2,15 +2,6 @@ diff --git a/SConstruct b/SConstruct
 index 48fd080..419b40d 100644
 --- a/SConstruct
 +++ b/SConstruct
-@@ -1,7 +1,7 @@
- import os
- 
- # Load any environment variables that alter the build.
--env = Environment()
-+env = Environment(ENV = os.environ)
- if 'CCFLAGS' in os.environ:
- 	env.Append(CCFLAGS = os.environ['CCFLAGS'])
- if 'CXXFLAGS' in os.environ:
 @@ -55,7 +55,7 @@ sky = env.Program("endless-sky", Glob("build/" + env["mode"] + "/*.cpp"))
  
  
diff --git a/pkgs/games/extremetuxracer/default.nix b/pkgs/games/extremetuxracer/default.nix
index 30788c7ec5c8..63a527005f7a 100644
--- a/pkgs/games/extremetuxracer/default.nix
+++ b/pkgs/games/extremetuxracer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libGLU_combined, libX11, xorgproto, tcl, freeglut, freetype
+{ stdenv, fetchurl, libGLU, libGL, libX11, xorgproto, tcl, freeglut, freetype
 , sfml, libXi
 , libXmu, libXext, libXt, libSM, libICE
 , libpng, pkgconfig, gettext, intltool
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    libGLU_combined libX11 xorgproto tcl freeglut freetype
+    libGLU libGL libX11 xorgproto tcl freeglut freetype
     sfml libXi
     libXmu libXext libXt libSM libICE
     libpng pkgconfig gettext intltool
diff --git a/pkgs/games/ezquake/default.nix b/pkgs/games/ezquake/default.nix
index e06975e8db41..1c007cc6bb54 100644
--- a/pkgs/games/ezquake/default.nix
+++ b/pkgs/games/ezquake/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, curl, expat
-, jansson, libpng, libjpeg, libGLU_combined, libXxf86vm, pcre
+, jansson, libpng, libjpeg, libGLU, libGL, libXxf86vm, pcre
 , pkgconfig, SDL2, vim }:
 
 stdenv.mkDerivation rec {
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    expat curl jansson libpng libjpeg libGLU_combined libXxf86vm pcre SDL2 vim
+    expat curl jansson libpng libjpeg libGLU libGL libXxf86vm pcre SDL2 vim
   ];
 
   installPhase = with stdenv.lib; let
diff --git a/pkgs/games/flightgear/default.nix b/pkgs/games/flightgear/default.nix
index 9266428b5e7b..d3c3271710a0 100644
--- a/pkgs/games/flightgear/default.nix
+++ b/pkgs/games/flightgear/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, wrapQtAppsHook
-, freeglut, freealut, libGLU_combined, libICE, libjpeg, openal, openscenegraph, plib
+, freeglut, freealut, libGLU, libGL, libICE, libjpeg, openal, openscenegraph, plib
 , libSM, libunwind, libX11, xorgproto, libXext, libXi
 , libXmu, libXt, simgear, zlib, boost, cmake, libpng, udev, fltk13, apr
 , makeDesktopItem, qtbase, qtdeclarative, glew
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake wrapQtAppsHook ];
   buildInputs = [
-    freeglut freealut libGLU_combined libICE libjpeg openal openscenegraph plib
+    freeglut freealut libGLU libGL libICE libjpeg openal openscenegraph plib
     libSM libunwind libX11 xorgproto libXext libXi
     libXmu libXt simgear zlib boost libpng udev fltk13 apr qtbase
     glew qtdeclarative
diff --git a/pkgs/games/freeorion/default.nix b/pkgs/games/freeorion/default.nix
index d0f514f239d5..dfad954f0f0c 100644
--- a/pkgs/games/freeorion/default.nix
+++ b/pkgs/games/freeorion/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, cmake, doxygen, graphviz, makeWrapper
 , boost, SDL2, python2, freetype, openal, libogg, libvorbis, zlib, libpng, libtiff
-, libjpeg, libGLU_combined, glew, libxslt
+, libjpeg, libGLU, libGL, glew, libxslt
 }:
 
 stdenv.mkDerivation rec {
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
 	(boost.override { enablePython = true; })
-    SDL2 python2 freetype openal libogg libvorbis zlib libpng libtiff libjpeg libGLU_combined glew ];
+    SDL2 python2 freetype openal libogg libvorbis zlib libpng libtiff libjpeg libGLU libGL glew ];
 
   nativeBuildInputs = [ cmake doxygen graphviz makeWrapper ];
 
diff --git a/pkgs/games/fsg/default.nix b/pkgs/games/fsg/default.nix
index d334439cafb8..b8a0d5ff3c76 100644
--- a/pkgs/games/fsg/default.nix
+++ b/pkgs/games/fsg/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gtk2, glib, pkgconfig, libGLU_combined, wxGTK, libX11, xorgproto
+{ stdenv, fetchurl, gtk2, glib, pkgconfig, libGLU, libGL, wxGTK, libX11, xorgproto
 , runtimeShell }:
 
 stdenv.mkDerivation {
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   hardeningDisable = [ "format" ];
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk2 glib libGLU_combined wxGTK libX11 xorgproto ];
+  buildInputs = [ gtk2 glib libGLU libGL wxGTK libX11 xorgproto ];
 
   preBuild = ''
     sed -e '
diff --git a/pkgs/games/gcs/default.nix b/pkgs/games/gcs/default.nix
index 3665467407a9..f1230b739bb1 100644
--- a/pkgs/games/gcs/default.nix
+++ b/pkgs/games/gcs/default.nix
@@ -49,7 +49,7 @@ in stdenv.mkDerivation rec {
 
     cd ../toolkit
     ant
-  
+
     cd ../gcs
     ant
 
@@ -60,15 +60,15 @@ in stdenv.mkDerivation rec {
     mkdir -p $out/bin $out/share/java
 
     find gcs/libraries toolkit/libraries apple_stubs/ \( -name '*.jar' -and -not -name '*-src.jar' \) -exec cp '{}' $out/share/java ';'
-    
+
     makeWrapper ${jre8}/bin/java $out/bin/gcs \
       --set GCS_LIBRARY ${library} \
       --add-flags "-cp $out/share/java/gcs-${version}.jar com.trollworks.gcs.app.GCS"
-  '';  
+  '';
 
   meta = with stdenv.lib; {
     description = "A stand-alone, interactive, character sheet editor for the GURPS 4th Edition roleplaying game system";
-    homepage = http://gurpscharactersheet.com/;
+    homepage = https://gurpscharactersheet.com/;
     license = licenses.mpl20;
     platforms = platforms.all;
     maintainers = with maintainers; [];
diff --git a/pkgs/games/gl-117/default.nix b/pkgs/games/gl-117/default.nix
index fb60808bab70..09a472f4dac8 100644
--- a/pkgs/games/gl-117/default.nix
+++ b/pkgs/games/gl-117/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl
-, libGLU_combined, SDL, freeglut, SDL_mixer, autoconf, automake, libtool
+, libGLU, libGL, SDL, freeglut, SDL_mixer, autoconf, automake, libtool
 }:
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1yvg1rp1yijv0b45cz085b29x5x0g5fkm654xdv5qwh2l6803gb4";
   };
 
-  buildInputs = [ libGLU_combined SDL freeglut SDL_mixer autoconf automake libtool ];
+  buildInputs = [ libGLU libGL SDL freeglut SDL_mixer autoconf automake libtool ];
 
   meta = with stdenv.lib; {
     description = "An air combat simulator";
diff --git a/pkgs/games/globulation/default.nix b/pkgs/games/globulation/default.nix
index edfb05d237cd..b953aad606d6 100644
--- a/pkgs/games/globulation/default.nix
+++ b/pkgs/games/globulation/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libGLU_combined, SDL, sconsPackages, SDL_ttf, SDL_image, zlib, SDL_net
+{ stdenv, fetchurl, libGLU, libGL, SDL, sconsPackages, SDL_ttf, SDL_image, zlib, SDL_net
 , speex, libvorbis, libogg, boost, fribidi, bsdiff
 , fetchpatch
 }:
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ sconsPackages.scons_3_0_1 ];
-  buildInputs = [ libGLU_combined SDL SDL_ttf SDL_image zlib SDL_net speex libvorbis libogg boost fribidi bsdiff ];
+  buildInputs = [ libGLU libGL SDL SDL_ttf SDL_image zlib SDL_net speex libvorbis libogg boost fribidi bsdiff ];
 
   postConfigure = ''
     sconsFlags+=" BINDIR=$out/bin"
diff --git a/pkgs/games/gltron/default.nix b/pkgs/games/gltron/default.nix
index bd3ae0b2e123..0e70096ab53f 100644
--- a/pkgs/games/gltron/default.nix
+++ b/pkgs/games/gltron/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, SDL, libGLU_combined, zlib, libpng, libvorbis, libmikmod, SDL_sound } :
+{stdenv, fetchurl, SDL, libGLU, libGL, zlib, libpng, libvorbis, libmikmod, SDL_sound } :
 
 stdenv.mkDerivation rec {
   name = "gltron-0.70";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   # The build fails, unless we disable the default -Wall -Werror
   configureFlags = [ "--disable-warn" ];
 
-  buildInputs = [ SDL libGLU_combined zlib libpng libvorbis libmikmod SDL_sound ];
+  buildInputs = [ SDL libGLU libGL zlib libpng libvorbis libmikmod SDL_sound ];
 
   meta = {
     homepage = http://www.gltron.org/;
diff --git a/pkgs/games/gzdoom/default.nix b/pkgs/games/gzdoom/default.nix
index 7eab96268777..34819f90f526 100644
--- a/pkgs/games/gzdoom/default.nix
+++ b/pkgs/games/gzdoom/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gzdoom";
-  version = "4.2.3";
+  version = "4.2.4";
 
   src = fetchFromGitHub {
     owner = "coelckers";
     repo = "gzdoom";
     rev = "g${version}";
-    sha256 = "06fy4ksn1n745y86s6rlnamkfyqi0894aznf6s56ff6hz2pngsfc";
+    sha256 = "1mkfpa3mx1rpd6lywdcqcf0y9ydzr1jxpk330kl9lxw59xihk0pc";
   };
 
   nativeBuildInputs = [ cmake makeWrapper ];
diff --git a/pkgs/games/kobodeluxe/default.nix b/pkgs/games/kobodeluxe/default.nix
index b6d14085351e..38eff4f2fceb 100644
--- a/pkgs/games/kobodeluxe/default.nix
+++ b/pkgs/games/kobodeluxe/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, SDL, SDL_image, libGLU_combined} :
+{stdenv, fetchurl, SDL, SDL_image, libGLU, libGL} :
 
 stdenv.mkDerivation {
   name = "kobodeluxe-0.5.1";
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
     sha256 = "0f7b910a399d985437564af8c5d81d6dcf22b96b26b01488d72baa6a6fdb5c2c";
   };
 
-  buildInputs = [ SDL SDL_image libGLU_combined ];
+  buildInputs = [ SDL SDL_image libGLU libGL ];
 
   prePatch = ''
     sed -e 's/char \*tok/const char \*tok/' -i graphics/window.cpp
diff --git a/pkgs/games/lincity/ng.nix b/pkgs/games/lincity/ng.nix
index 3ec508040e7a..67f15be1ed3e 100644
--- a/pkgs/games/lincity/ng.nix
+++ b/pkgs/games/lincity/ng.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, autoreconfHook, jam, pkgconfig
-, zlib, libxml2, libxslt, xorgproto, libX11, libGLU_combined, SDL
+, zlib, libxml2, libxslt, xorgproto, libX11, libGLU, libGL, SDL
 , SDL_mixer, SDL_image, SDL_ttf, SDL_gfx, physfs
 }:
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
   ];
 
   buildInputs = [
-    zlib libxml2 libxslt xorgproto libX11 libGLU_combined SDL SDL_mixer SDL_image
+    zlib libxml2 libxslt xorgproto libX11 libGLU libGL SDL SDL_mixer SDL_image
     SDL_ttf SDL_gfx physfs
   ];
 
diff --git a/pkgs/games/mars/default.nix b/pkgs/games/mars/default.nix
index 668605a9ae10..ed926461db21 100644
--- a/pkgs/games/mars/default.nix
+++ b/pkgs/games/mars/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, cmake, libGLU_combined, sfml, fribidi, taglib }:
+{ stdenv, fetchgit, cmake, libGLU, libGL, sfml, fribidi, taglib }:
 stdenv.mkDerivation rec {
   name = "mars-${version}-${rev}";
   version = "0.7.5";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     inherit rev;
     sha256 = "1r4c5gap1z2zsv4yjd34qriqkxaq4lb4rykapyzkkdf4g36lc3nh";
   };
-  buildInputs = [ cmake libGLU_combined sfml fribidi taglib ];
+  buildInputs = [ cmake libGLU libGL sfml fribidi taglib ];
   patches = [
     ./unbind_fix.patch
     ./fix-gluortho2d.patch
diff --git a/pkgs/games/minetest/default.nix b/pkgs/games/minetest/default.nix
index 0f457cc688ba..4654456bd6cd 100644
--- a/pkgs/games/minetest/default.nix
+++ b/pkgs/games/minetest/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, irrlicht, libpng, bzip2, curl, libogg, jsoncpp
-, libjpeg, libXxf86vm, libGLU_combined, openal, libvorbis, sqlite, luajit
+, libjpeg, libXxf86vm, libGLU, libGL, openal, libvorbis, sqlite, luajit
 , freetype, gettext, doxygen, ncurses, graphviz, xorg
 , leveldb, postgresql, hiredis
 }:
@@ -47,7 +47,7 @@ let
     buildInputs = [
       irrlicht luajit jsoncpp gettext freetype sqlite curl bzip2 ncurses
     ] ++ optionals buildClient [
-      libpng libjpeg libGLU_combined openal libogg libvorbis xorg.libX11 libXxf86vm
+      libpng libjpeg libGLU libGL openal libogg libvorbis xorg.libX11 libXxf86vm
     ] ++ optional buildServer [
       leveldb postgresql hiredis
     ];
diff --git a/pkgs/games/naev/default.nix b/pkgs/games/naev/default.nix
index d8a4e32faaab..a1b525ff093b 100644
--- a/pkgs/games/naev/default.nix
+++ b/pkgs/games/naev/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, SDL, openal, SDL_mixer, libxml2, pkgconfig, libvorbis
-, libpng, libGLU_combined, makeWrapper, zlib, freetype }:
+, libpng, libGLU, libGL, makeWrapper, zlib, freetype }:
 
 let
   pname = "naev";
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
     sha256 = "0gahi91lmpra0wvxsz49zwwb28q9w2v1s3y7r70252hq6v80kanb";
   };
 
-  buildInputs = [ SDL SDL_mixer openal libxml2 libvorbis libpng libGLU_combined zlib freetype ];
+  buildInputs = [ SDL SDL_mixer openal libxml2 libvorbis libpng libGLU libGL zlib freetype ];
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
 
diff --git a/pkgs/games/newtonwars/default.nix b/pkgs/games/newtonwars/default.nix
index a0ae03cefb75..093f071c7233 100644
--- a/pkgs/games/newtonwars/default.nix
+++ b/pkgs/games/newtonwars/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, makeWrapper, freeglut, libGLU_combined }:
+{ stdenv, fetchFromGitHub, makeWrapper, freeglut, libGLU, libGL }:
 
 stdenv.mkDerivation {
   pname = "newtonwars";
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
     sha256 = "0g63fwfcdxxlnqlagj1fb8ngm385gmv8f7p8b4r1z5cny2znxdvs";
   };
 
-  buildInputs = [ makeWrapper freeglut libGLU_combined ];
+  buildInputs = [ makeWrapper freeglut libGL libGLU ];
 
   patchPhase = ''
     sed -i "s;font24.raw;$out/share/font24.raw;g" display.c
@@ -26,7 +26,8 @@ stdenv.mkDerivation {
 
     wrapProgram $out/bin/nw \
       --prefix LD_LIBRARY_PATH ":" ${freeglut}/lib \
-      --prefix LD_LIBRARY_PATH ":" ${libGLU_combined}/lib
+      --prefix LD_LIBRARY_PATH ":" ${libGLU}/lib \
+      --prefix LD_LIBRARY_PATH ":" ${libGL}/lib
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/games/nexuiz/default.nix b/pkgs/games/nexuiz/default.nix
index 72235d9131bc..9f8d228e7167 100644
--- a/pkgs/games/nexuiz/default.nix
+++ b/pkgs/games/nexuiz/default.nix
@@ -3,7 +3,7 @@
   unzip, zlib, curl, libjpeg, libpng, libvorbis, libtheora
 , libogg, libmodplug
 , # glx
-  libX11, libGLU_combined, libXpm, libXext, libXxf86vm, libXxf86dga, alsaLib
+  libX11, libGLU, libGL, libXpm, libXext, libXxf86vm, libXxf86dga, alsaLib
 , # sdl
   SDL
 }:
@@ -25,7 +25,7 @@ in stdenv.mkDerivation {
     # required for both
     unzip
     # glx
-    libX11 libGLU_combined libXpm libXext libXxf86vm libXxf86dga alsaLib
+    libX11 libGLU libGL libXpm libXext libXxf86vm libXxf86dga alsaLib
     # sdl
     SDL
   ];
diff --git a/pkgs/games/openrw/default.nix b/pkgs/games/openrw/default.nix
index 368fba1499f6..04d8afd2786b 100644
--- a/pkgs/games/openrw/default.nix
+++ b/pkgs/games/openrw/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, cmake, sfml, libGLU_combined, bullet, glm, libmad, xlibsWrapper, openal
+{ stdenv, fetchgit, cmake, sfml, libGLU, libGL, bullet, glm, libmad, xlibsWrapper, openal
 , SDL2, boost, ffmpeg, Cocoa, OpenAL }:
 
 stdenv.mkDerivation {
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ cmake ];
 
   buildInputs = [
-    sfml libGLU_combined bullet glm libmad xlibsWrapper openal SDL2 boost ffmpeg
+    sfml libGLU libGL bullet glm libmad xlibsWrapper openal SDL2 boost ffmpeg
   ] ++ stdenv.lib.optionals stdenv.isDarwin [ OpenAL Cocoa ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/games/openxcom/default.nix b/pkgs/games/openxcom/default.nix
index 2958a162bbcb..a77b8f2ba4c8 100644
--- a/pkgs/games/openxcom/default.nix
+++ b/pkgs/games/openxcom/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchFromGitHub, cmake, libGLU_combined, zlib, openssl, libyamlcpp, boost
+{stdenv, fetchFromGitHub, cmake, libGLU, libGL, zlib, openssl, libyamlcpp, boost
 , SDL, SDL_image, SDL_mixer, SDL_gfx }:
 
 let version = "1.0.0.2019.10.18"; in
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ SDL SDL_gfx SDL_image SDL_mixer boost libyamlcpp libGLU_combined openssl zlib ];
+  buildInputs = [ SDL SDL_gfx SDL_image SDL_mixer boost libyamlcpp libGLU libGL openssl zlib ];
 
   meta = {
     description = "Open source clone of UFO: Enemy Unknown";
diff --git a/pkgs/games/openxray/default.nix b/pkgs/games/openxray/default.nix
index 9960d94a247a..c115833d848b 100644
--- a/pkgs/games/openxray/default.nix
+++ b/pkgs/games/openxray/default.nix
@@ -1,9 +1,8 @@
 { stdenv, fetchFromGitHub, cmake, glew, freeimage,  liblockfile
-, openal, cryptopp, libtheora, SDL2, lzo, libjpeg, libogg, tbb
+, openal, libtheora, SDL2, lzo, libjpeg, libogg, tbb
 , pcre, makeWrapper }:
 
-stdenv.mkDerivation rec {
-  pname = "OpenXRay";
+let
   version = "558";
 
   src = fetchFromGitHub {
@@ -14,6 +13,31 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
+  # https://github.com/OpenXRay/xray-16/issues/518
+  cryptopp = stdenv.mkDerivation {
+    pname = "cryptopp";
+    version = "5.6.5";
+
+    inherit src;
+
+    postUnpack = "sourceRoot+=/Externals/cryptopp";
+
+    makeFlags = [ "PREFIX=${placeholder "out"}" ];
+    enableParallelBuilding = true;
+
+    doCheck = true;
+
+    meta = with stdenv.lib; {
+      description = "Crypto++, a free C++ class library of cryptographic schemes";
+      homepage = "https://cryptopp.com/";
+      license = with licenses; [ boost publicDomain ];
+      platforms = platforms.all;
+    };
+  };
+in stdenv.mkDerivation rec {
+  pname = "OpenXRay";
+  inherit version src;
+
   hardeningDisable = [ "format" ];
   cmakeFlags = [ "-DCMAKE_INCLUDE_PATH=${cryptopp}/include/cryptopp" ];
   installFlags = [ "DESTDIR=${placeholder "out"}" ];
@@ -47,6 +71,6 @@ stdenv.mkDerivation rec {
       url = https://github.com/OpenXRay/xray-16/blob/xd_dev/License.txt;
     };
     maintainers = [ maintainers.gnidorah ];
-    platforms = ["x86_64-linux" "i686-linux" ];
+    platforms = [ "x86_64-linux" "i686-linux" ];
   };
 }
diff --git a/pkgs/games/pingus/default.nix b/pkgs/games/pingus/default.nix
index dc47e5aa58e8..640a4d761f47 100644
--- a/pkgs/games/pingus/default.nix
+++ b/pkgs/games/pingus/default.nix
@@ -1,5 +1,5 @@
 {stdenv, fetchurl, fetchpatch, scons, SDL, SDL_image, boost, libpng, SDL_mixer
-, pkgconfig, libGLU_combined}:
+, pkgconfig, libGLU, libGL}:
 let
   s = # Generated upstream information
   {
@@ -14,7 +14,7 @@ in
 stdenv.mkDerivation {
   inherit (s) name version;
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [scons SDL SDL_image boost libpng SDL_mixer libGLU_combined];
+  buildInputs = [scons SDL SDL_image boost libpng SDL_mixer libGLU libGL];
   src = fetchurl {
     inherit (s) url sha256;
   };
diff --git a/pkgs/games/pioneer/default.nix b/pkgs/games/pioneer/default.nix
index 02c91b1523d5..cb9fe730f195 100644
--- a/pkgs/games/pioneer/default.nix
+++ b/pkgs/games/pioneer/default.nix
@@ -1,24 +1,24 @@
 { fetchFromGitHub, stdenv, cmake, pkgconfig, curl, libsigcxx, SDL2
-, SDL2_image, freetype, libvorbis, libpng, assimp, libGLU_combined
+, SDL2_image, freetype, libvorbis, libpng, assimp, libGLU, libGL
 , glew
 }:
 
 stdenv.mkDerivation rec {
   pname = "pioneer";
-  version = "20191009";
+  version = "20191117";
 
   src = fetchFromGitHub{
     owner = "pioneerspacesim";
     repo = "pioneer";
     rev = version;
-    sha256 = "1ll6pv1931z29kz1zvhnc6mgvjxz30q25lvb00qrsvh236nvll7n";
+    sha256 = "0ka5w1sfp56bs3njiwyr6ffy34qvqbzcvmra9cqwyvi7famn8b49";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
   buildInputs = [
     curl libsigcxx SDL2 SDL2_image freetype libvorbis libpng
-    assimp libGLU_combined glew
+    assimp libGLU libGL glew
   ];
 
   preConfigure = ''
diff --git a/pkgs/games/prboom/default.nix b/pkgs/games/prboom/default.nix
index 520f6503edfd..ea6f8b01c71d 100644
--- a/pkgs/games/prboom/default.nix
+++ b/pkgs/games/prboom/default.nix
@@ -1,8 +1,11 @@
 { stdenv, fetchurl, SDL, SDL_mixer, SDL_net
-, libGLU_combined ? assert false; null
+, libGLU ? null
+, libGL ? null
 , useOpenGL ? stdenv.hostPlatform == stdenv.buildPlatform
 }:
 
+assert useOpenGL -> libGL != null && libGLU != null;
+
 stdenv.mkDerivation rec {
   name = "prboom-2.5.0";
   src = fetchurl {
@@ -11,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ SDL SDL_mixer SDL_net ]
-    ++ stdenv.lib.optional useOpenGL libGLU_combined;
+    ++ stdenv.lib.optionals useOpenGL [ libGL libGLU ];
 
   doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
 
diff --git a/pkgs/games/privateer/default.nix b/pkgs/games/privateer/default.nix
index d4945d43c7d7..607458f37986 100644
--- a/pkgs/games/privateer/default.nix
+++ b/pkgs/games/privateer/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchsvn, boost, cmake, ffmpeg, freeglut, glib,
   gtk2, libjpeg, libpng, libpthreadstubs, libvorbis, libXau, libXdmcp,
-  libXmu, libGLU_combined, openal, pixman, pkgconfig, python27, SDL }:
+  libXmu, libGLU, libGL, openal, pixman, pkgconfig, python27, SDL }:
 
 stdenv.mkDerivation {
   name = "privateer-1.03";
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
 
   buildInputs =
     [ boost cmake ffmpeg freeglut glib gtk2 libjpeg libpng
-      libpthreadstubs libvorbis libXau libXdmcp libXmu libGLU_combined openal
+      libpthreadstubs libvorbis libXau libXdmcp libXmu libGLU libGL openal
       pixman pkgconfig python27 SDL ];
 
   patches = [ ./0001-fix-VSFile-constructor.patch ];
diff --git a/pkgs/games/quakespasm/vulkan.nix b/pkgs/games/quakespasm/vulkan.nix
index e8678253b406..e30065666b0f 100644
--- a/pkgs/games/quakespasm/vulkan.nix
+++ b/pkgs/games/quakespasm/vulkan.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vkquake";
-  version = "1.02.1";
+  version = "1.03.0";
 
   src = fetchFromGitHub {
     owner = "Novum";
     repo = "vkQuake";
     rev = version;
-    sha256 = "0fk9jqql0crnf0s12cxnris392ajciyw1zbz17qgs5hdyivp9vdx";
+    sha256 = "1x2lx1fvr2p91clbx2jcc29j5yyh0xwq9fh0lyxhyadf5a710fn0";
   };
 
   sourceRoot = "source/Quake";
diff --git a/pkgs/games/residualvm/default.nix b/pkgs/games/residualvm/default.nix
index 79d657e668dc..9b0cfaa3b50d 100644
--- a/pkgs/games/residualvm/default.nix
+++ b/pkgs/games/residualvm/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, SDL, zlib, libmpeg2, libmad, libogg, libvorbis, flac, alsaLib
 , libGLSupported ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms
-, openglSupport ? libGLSupported, libGLU_combined ? null
+, openglSupport ? libGLSupported, libGLU, libGL ? null
 }:
 
-assert openglSupport -> libGLU_combined != null;
+assert openglSupport -> libGL != null && libGLU != null;
 
 with stdenv.lib;
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ stdenv SDL zlib libmpeg2 libmad libogg libvorbis flac alsaLib ]
-    ++ optional openglSupport libGLU_combined;
+    ++ optionals openglSupport [ libGL libGLU ];
 
   configureFlags = [ "--enable-all-engines" ];
 
diff --git a/pkgs/games/rigsofrods/default.nix b/pkgs/games/rigsofrods/default.nix
index 09550339f83d..00faee7b9289 100644
--- a/pkgs/games/rigsofrods/default.nix
+++ b/pkgs/games/rigsofrods/default.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitHub, stdenv, wxGTK30, freeimage, cmake, zziplib, libGLU_combined, boost,
+{ fetchFromGitHub, stdenv, wxGTK30, freeimage, cmake, zziplib, libGLU, libGL, boost,
   pkgconfig, libuuid, openal, ogre, ois, curl, gtk2, mygui, unzip,
   angelscript, ogrepaged, mysocketw, libxcb
   }:
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ wxGTK30 freeimage cmake zziplib libGLU_combined boost
+  buildInputs = [ wxGTK30 freeimage cmake zziplib libGLU libGL boost
     libuuid openal ogre ois curl gtk2 mygui unzip angelscript
     ogrepaged mysocketw libxcb ];
 
diff --git a/pkgs/games/scorched3d/default.nix b/pkgs/games/scorched3d/default.nix
index 1527f61c4d0f..a2859c11712e 100644
--- a/pkgs/games/scorched3d/default.nix
+++ b/pkgs/games/scorched3d/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libGLU_combined, glew, pkgconfig, openalSoft, freealut, wxGTK, libogg
+{ stdenv, fetchurl, libGLU, libGL, glew, pkgconfig, openalSoft, freealut, wxGTK, libogg
 , freetype, libvorbis, fftwSinglePrec, SDL, SDL_net, expat, libjpeg, libpng }:
 
 stdenv.mkDerivation rec {
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ libGLU_combined glew openalSoft freealut wxGTK libogg freetype libvorbis
+    [ libGLU libGL glew openalSoft freealut wxGTK libogg freetype libvorbis
       SDL SDL_net expat libjpeg libpng fftwSinglePrec
     ];
 
diff --git a/pkgs/games/scummvm/default.nix b/pkgs/games/scummvm/default.nix
index 8c4ce46f6f5e..8ef6e0c8be57 100644
--- a/pkgs/games/scummvm/default.nix
+++ b/pkgs/games/scummvm/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, nasm
-, alsaLib, curl, flac, fluidsynth, freetype, libjpeg, libmad, libmpeg2, libogg, libvorbis, libGLU_combined, SDL2, zlib
+, alsaLib, curl, flac, fluidsynth, freetype, libjpeg, libmad, libmpeg2, libogg, libvorbis, libGLU, libGL, SDL2, zlib
 }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ nasm ];
 
   buildInputs = [
-    alsaLib curl freetype flac fluidsynth libjpeg libmad libmpeg2 libogg libvorbis libGLU_combined SDL2 zlib
+    alsaLib curl freetype flac fluidsynth libjpeg libmad libmpeg2 libogg libvorbis libGLU libGL SDL2 zlib
   ];
 
   dontDisableStatic = true;
diff --git a/pkgs/games/soi/default.nix b/pkgs/games/soi/default.nix
index 2ffd3f3d053b..7179c4f48b51 100644
--- a/pkgs/games/soi/default.nix
+++ b/pkgs/games/soi/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake
-, boost, eigen2, lua, luabind, libGLU_combined, SDL }:
+, boost, eigen2, lua, luabind, libGLU, libGL, SDL }:
 
 stdenv.mkDerivation rec {
   pname = "soi";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ boost lua luabind libGLU_combined SDL ];
+  buildInputs = [ boost lua luabind libGLU libGL SDL ];
 
   cmakeFlags = [
     "-DEIGEN_INCLUDE_DIR=${eigen2}/include/eigen2"
diff --git a/pkgs/games/space-orbit/default.nix b/pkgs/games/space-orbit/default.nix
index 2b69dfccad15..e9fe6257fb63 100644
--- a/pkgs/games/space-orbit/default.nix
+++ b/pkgs/games/space-orbit/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl
-, libGLU_combined, libXi, libXt, libXext, libX11, libXmu, freeglut
+, libGLU, libGL, libXi, libXt, libXext, libX11, libXmu, freeglut
 }:
 
 stdenv.mkDerivation rec {
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   version = "1.01";
   patchversion = "9";
 
-  buildInputs = [ libGLU_combined libXi libXt libXext libX11 libXmu freeglut ];
+  buildInputs = [ libGLU libGL libXi libXt libXext libX11 libXmu freeglut ];
 
   src = fetchurl {
     url = "mirror://debian/pool/main/s/space-orbit/space-orbit_${version}.orig.tar.gz";
diff --git a/pkgs/games/speed-dreams/default.nix b/pkgs/games/speed-dreams/default.nix
index 17cb57d3fdbc..473409ffae95 100644
--- a/pkgs/games/speed-dreams/default.nix
+++ b/pkgs/games/speed-dreams/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, libGLU_combined, freeglut, libX11, plib, openal, freealut, libXrandr, xorgproto,
+{ fetchurl, stdenv, libGLU, libGL, freeglut, libX11, plib, openal, freealut, libXrandr, xorgproto,
 libXext, libSM, libICE, libXi, libXt, libXrender, libXxf86vm, openscenegraph, expat,
 libpng, zlib, bash, SDL2, enet, libjpeg, cmake, pkgconfig, libvorbis, runtimeShell, curl }:
 
@@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig cmake ];
 
-  buildInputs = [ libpng libGLU_combined freeglut libX11 plib openal freealut libXrandr xorgproto
+  buildInputs = [ libpng libGLU libGL freeglut libX11 plib openal freealut libXrandr xorgproto
     libXext libSM libICE libXi libXt libXrender libXxf86vm zlib bash expat
     SDL2 enet libjpeg openscenegraph libvorbis curl ];
 
diff --git a/pkgs/games/spring/default.nix b/pkgs/games/spring/default.nix
index e98148cbc832..8f43a6d84b1a 100644
--- a/pkgs/games/spring/default.nix
+++ b/pkgs/games/spring/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, lzma, boost, libdevil, zlib, p7zip
-, openal, libvorbis, glew, freetype, xorg, SDL2, libGLU_combined
+, openal, libvorbis, glew, freetype, xorg, SDL2, libGLU, libGL
 , asciidoc, libxslt, docbook_xsl, docbook_xsl_ns, curl, makeWrapper
 , jdk ? null, python ? null, systemd, libunwind, which, minizip
 , withAI ? true # support for AI Interfaces and Skirmish AIs
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
                 "-DPREFER_STATIC_LIBS:BOOL=OFF"];
 
   buildInputs = [ cmake lzma boost libdevil zlib p7zip openal libvorbis freetype SDL2
-    xorg.libX11 xorg.libXcursor libGLU_combined glew asciidoc libxslt docbook_xsl curl makeWrapper
+    xorg.libX11 xorg.libXcursor libGLU libGL glew asciidoc libxslt docbook_xsl curl makeWrapper
     docbook_xsl_ns systemd libunwind which minizip ]
     ++ stdenv.lib.optional withAI jdk
     ++ stdenv.lib.optional withAI python;
diff --git a/pkgs/games/stardust/default.nix b/pkgs/games/stardust/default.nix
index 9de9bd37e8dc..1e2089b9c503 100644
--- a/pkgs/games/stardust/default.nix
+++ b/pkgs/games/stardust/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, zlib, libtiff, libxml2, SDL, xorgproto, libX11
-, libXi, libXmu, libXext, libGLU_combined }:
+, libXi, libXmu, libXext, libGLU, libGL }:
 
 stdenv.mkDerivation rec {
   pname = "stardust";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     zlib libtiff libxml2 SDL xorgproto libX11 libXi
-    libXmu libXext libGLU_combined
+    libXmu libXext libGLU libGL
   ];
 
   installFlags = [ "bindir=\${out}/bin" ];
diff --git a/pkgs/games/steam/chrootenv.nix b/pkgs/games/steam/chrootenv.nix
index 0de961e6d49f..426be1f214a0 100644
--- a/pkgs/games/steam/chrootenv.nix
+++ b/pkgs/games/steam/chrootenv.nix
@@ -75,7 +75,7 @@ in buildFHSUserEnv rec {
     xorg.libX11
     xorg.libXfixes
     libGL
-    libva
+    pkgsi686Linux.libva
 
     # Not formally in runtime but needed by some games
     at-spi2-atk
@@ -86,14 +86,14 @@ in buildFHSUserEnv rec {
     xorg.xkeyboardconfig
     xorg.libpciaccess
     ## screeps dependencies
-    gnome3.gtk
+    gtk3
     dbus
     zlib
     glib
     atk
     cairo
     freetype
-    gdk_pixbuf
+    gdk-pixbuf
     pango
     fontconfig
   ] ++ (if (!nativeOnly) then [
diff --git a/pkgs/games/super-tux-kart/default.nix b/pkgs/games/super-tux-kart/default.nix
index 0bdd1f9f62df..8eceea06243e 100644
--- a/pkgs/games/super-tux-kart/default.nix
+++ b/pkgs/games/super-tux-kart/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, fetchsvn, cmake, pkgconfig
-, openal, freealut, libGLU_combined, libvorbis, libogg, gettext, curl, freetype
+, openal, freealut, libGLU, libGL, libvorbis, libogg, gettext, curl, freetype
 , fribidi, libtool, bluez, libjpeg, libpng, zlib, libX11, libXrandr, enet }:
 
 let
@@ -29,7 +29,7 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [
     libX11 libXrandr
-    openal freealut libGLU_combined libvorbis libogg zlib freetype
+    openal freealut libGLU libGL libvorbis libogg zlib freetype
     curl fribidi bluez libjpeg libpng enet
   ];
 
diff --git a/pkgs/games/supertux/default.nix b/pkgs/games/supertux/default.nix
index 6cfabc4ee6a7..df6901585bb3 100644
--- a/pkgs/games/supertux/default.nix
+++ b/pkgs/games/supertux/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, pkgconfig, SDL2, SDL2_image , curl
-, libogg, libvorbis, libGLU_combined, openal, boost, glew
+, libogg, libvorbis, libGLU, libGL, openal, boost, glew
 , libpng, freetype
 }:
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig cmake ];
 
-  buildInputs = [ SDL2 SDL2_image curl libogg libvorbis libGLU_combined openal boost glew
+  buildInputs = [ SDL2 SDL2_image curl libogg libvorbis libGLU libGL openal boost glew
     libpng freetype
   ];
 
diff --git a/pkgs/games/tdm/default.nix b/pkgs/games/tdm/default.nix
index f0a89adab572..fef3350a061d 100644
--- a/pkgs/games/tdm/default.nix
+++ b/pkgs/games/tdm/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, binutils-unwrapped, scons, gnum4, p7zip, glibc_multi, mesa
-, xorg, libGLU_combined, openal
+, xorg, libGLU, libGL, openal
 , lib, makeWrapper, makeDesktopItem }:
 
 let
@@ -29,7 +29,7 @@ in stdenv.mkDerivation {
   buildInputs = [
     glibc_multi mesa.dev xorg.libX11.dev openal
     xorg.libXext.dev xorg.libXxf86vm.dev
-    libGLU_combined
+    libGL libGLU
   ];
   unpackPhase = ''
     7z x $src
@@ -86,7 +86,7 @@ EOF
   '';
 
   postInstall = ''
-    wrapProgram $out/bin/tdm --suffix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libGLU_combined ]}
+    wrapProgram $out/bin/tdm --suffix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libGL libGLU ]}
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/games/tibia/default.nix b/pkgs/games/tibia/default.nix
index 02c55d7d06c9..4033835e3f9b 100644
--- a/pkgs/games/tibia/default.nix
+++ b/pkgs/games/tibia/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, glibc, libX11, runtimeShell, libGLU_combined }:
+{ stdenv, fetchurl, glibc, libX11, runtimeShell, libGLU, libGL }:
 
 with stdenv.lib;
 stdenv.mkDerivation {
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
     cp -r * $out/res
 
     patchelf --set-interpreter ${glibc.out}/lib/ld-linux.so.2 \
-             --set-rpath ${stdenv.lib.makeLibraryPath [ stdenv.cc.cc libX11 libGLU_combined ]} \
+             --set-rpath ${stdenv.lib.makeLibraryPath [ stdenv.cc.cc libX11 libGLU libGL ]} \
              "$out/res/Tibia"
 
     # We've patchelf'd the files. The main ‘Tibia’ binary is a bit
diff --git a/pkgs/games/tintin/default.nix b/pkgs/games/tintin/default.nix
index 2e1837bdef66..dc696d055580 100644
--- a/pkgs/games/tintin/default.nix
+++ b/pkgs/games/tintin/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, zlib, pcre }:
 
 stdenv.mkDerivation rec {
-  name = "tintin-2.01.91";
+  name = "tintin-2.01.92";
 
   src = fetchurl {
     url    = "mirror://sourceforge/tintin/${name}.tar.gz";
-    sha256 = "0nb3przw84r5zaibhpcb8gxm5vllrchca663c3f650fm83asd5im";
+    sha256 = "0id8rd2yhh6ccjnlwyixflsay1rq3sw6pwlhz1ic3nzj22cd91ik";
   };
 
   buildInputs = [ zlib pcre ];
diff --git a/pkgs/games/tome4/default.nix b/pkgs/games/tome4/default.nix
index af13ae2e7e11..9971aa0d1661 100644
--- a/pkgs/games/tome4/default.nix
+++ b/pkgs/games/tome4/default.nix
@@ -18,11 +18,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchurl {
     url = "https://te4.org/dl/t-engine/t-engine4-src-${version}.tar.bz2";
-    sha256 = "1z1w4ycgl5wbm0sv7577vcdfwwf4k7vaf2njzyb21rvqjizpbkwr";
+    sha256 = "0c5a2bdyfccwkqnb6yqvzggyi2nk032v01kfc00zlgpdfzljcb9i";
   };
 
   prePatch = ''
diff --git a/pkgs/games/trackballs/default.nix b/pkgs/games/trackballs/default.nix
index b5ff38b93a10..b778579c9d78 100644
--- a/pkgs/games/trackballs/default.nix
+++ b/pkgs/games/trackballs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, SDL2, SDL2_ttf, gettext, zlib, SDL2_mixer, SDL2_image, guile, libGLU_combined }:
+{ stdenv, fetchFromGitHub, cmake, SDL2, SDL2_ttf, gettext, zlib, SDL2_mixer, SDL2_image, guile, libGLU, libGL }:
 
 with stdenv.lib;
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "1yjzz50r57aahy7wcbsmhrd40abzyriq40j49225ya7m9g28vmgl";
   };
 
-  buildInputs = [ cmake zlib SDL2 SDL2_ttf SDL2_mixer SDL2_image guile gettext libGLU_combined ];
+  buildInputs = [ cmake zlib SDL2 SDL2_ttf SDL2_mixer SDL2_image guile gettext libGLU libGL ];
 
   meta = {
     homepage = https://trackballs.github.io/;
diff --git a/pkgs/games/tremulous/default.nix b/pkgs/games/tremulous/default.nix
index 802bdb08a87c..fc9bc985c00f 100644
--- a/pkgs/games/tremulous/default.nix
+++ b/pkgs/games/tremulous/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, unzip, libGLU_combined, libX11, SDL, openal, runtimeShell }:
+{ stdenv, fetchurl, unzip, libGLU, libGL, libX11, SDL, openal, runtimeShell }:
 stdenv.mkDerivation rec {
   pname = "tremulous";
   version = "1.1.0";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     url = "http://releases.mercenariesguild.net/tremded/mg_tremded_source_1.01.tar.gz";
     sha256 = "1njrqlhzjvy9myddzkagszwdcf3m4h08wip888w2rmbshs6kz6ql";
   };
-  buildInputs = [ unzip libGLU_combined libX11 SDL openal ];
+  buildInputs = [ unzip libGLU libGL libX11 SDL openal ];
   unpackPhase = ''
     unzip $src1
     cd tremulous
diff --git a/pkgs/games/trigger/default.nix b/pkgs/games/trigger/default.nix
index 0050ef19cea2..34ae0762beaa 100644
--- a/pkgs/games/trigger/default.nix
+++ b/pkgs/games/trigger/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, runtimeShell
-, SDL2, freealut, SDL2_image, openal, physfs, zlib, libGLU_combined, glew }:
+, SDL2, freealut, SDL2_image, openal, physfs, zlib, libGLU, libGL, glew }:
 
 stdenv.mkDerivation rec {
   name = "trigger-rally-0.6.6";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "08qa2f2s8zyn42ff6jb1gsi64d916020ixkzvl16kbb88rabqra8";
   };
 
-  buildInputs = [ SDL2 freealut SDL2_image openal physfs zlib libGLU_combined glew ];
+  buildInputs = [ SDL2 freealut SDL2_image openal physfs zlib libGLU libGL glew ];
 
   preConfigure = ''
     sed s,/usr/local,$out, -i bin/*defs
diff --git a/pkgs/games/ufoai/default.nix b/pkgs/games/ufoai/default.nix
index f699a6a05c62..beff8ada96b4 100644
--- a/pkgs/games/ufoai/default.nix
+++ b/pkgs/games/ufoai/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libtheora, xvidcore, libGLU_combined, SDL, SDL_ttf, SDL_mixer
+{ stdenv, fetchurl, libtheora, xvidcore, libGLU, libGL, SDL, SDL_ttf, SDL_mixer
 , curl, libjpeg, libpng, gettext, cunit, enableEditor?false }:
 
 stdenv.mkDerivation rec {
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional enableEditor "--enable-uforadiant";
 
   buildInputs = [
-    libtheora xvidcore libGLU_combined SDL SDL_ttf SDL_mixer
+    libtheora xvidcore libGLU libGL SDL SDL_ttf SDL_mixer
     curl libjpeg libpng gettext cunit
   ];
 
diff --git a/pkgs/games/ultimatestunts/default.nix b/pkgs/games/ultimatestunts/default.nix
index a7ad366aa195..df80b3a555fb 100644
--- a/pkgs/games/ultimatestunts/default.nix
+++ b/pkgs/games/ultimatestunts/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, SDL, libGLU_combined, SDL_image, freealut, openal, libvorbis,
+{stdenv, fetchurl, SDL, libGLU, libGL, SDL_image, freealut, openal, libvorbis,
 pkgconfig}:
 
 stdenv.mkDerivation {
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ SDL libGLU_combined SDL_image freealut openal libvorbis ];
+  buildInputs = [ SDL libGLU libGL SDL_image freealut openal libvorbis ];
 
   postPatch = ''
     sed -e '1i#include <unistd.h>' -i $(find . -name '*.c' -o -name '*.cpp')
diff --git a/pkgs/games/ultrastardx/default.nix b/pkgs/games/ultrastardx/default.nix
index 8dd8222e55e4..1c40d8f5800f 100644
--- a/pkgs/games/ultrastardx/default.nix
+++ b/pkgs/games/ultrastardx/default.nix
@@ -1,13 +1,13 @@
 { stdenv, autoreconfHook, fetchFromGitHub, pkgconfig
 , lua, fpc, pcre, portaudio, freetype, libpng
 , SDL2, SDL2_image, SDL2_gfx, SDL2_mixer, SDL2_net, SDL2_ttf
-, ffmpeg, sqlite, zlib, libX11, libGLU_combined }:
+, ffmpeg, sqlite, zlib, libX11, libGLU, libGL }:
 
 let
   sharedLibs = [
     pcre portaudio freetype
     SDL2 SDL2_image SDL2_gfx SDL2_mixer SDL2_net SDL2_ttf
-    sqlite lua zlib libX11 libGLU_combined ffmpeg
+    sqlite lua zlib libX11 libGLU libGL ffmpeg
   ];
 
 in stdenv.mkDerivation rec {
diff --git a/pkgs/games/uqm/default.nix b/pkgs/games/uqm/default.nix
index 638900c9e898..3944050e9836 100644
--- a/pkgs/games/uqm/default.nix
+++ b/pkgs/games/uqm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, pkgconfig, libGLU_combined
+{ stdenv, lib, fetchurl, pkgconfig, libGLU, libGL
 , SDL, SDL_image, libpng, libvorbis, libogg, libmikmod
 
 , use3DOVideos ? false, requireFile ? null, writeText ? null
@@ -51,7 +51,7 @@ in stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ SDL SDL_image libpng libvorbis libogg libmikmod libGLU_combined ];
+  buildInputs = [ SDL SDL_image libpng libvorbis libogg libmikmod libGLU libGL ];
 
   postUnpack = ''
     mkdir -p uqm-${version}/content/packages
diff --git a/pkgs/games/urbanterror/default.nix b/pkgs/games/urbanterror/default.nix
index 999799de58d8..98ef32b0472a 100644
--- a/pkgs/games/urbanterror/default.nix
+++ b/pkgs/games/urbanterror/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, unzip, SDL, libGLU_combined, openal, curl, libXxf86vm }:
+{ stdenv, fetchurl, unzip, SDL, libGLU, libGL, openal, curl, libXxf86vm }:
 
 stdenv.mkDerivation rec {
   pname = "urbanterror";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
        })
     ];
 
-  buildInputs = [ unzip SDL libGLU_combined openal curl libXxf86vm ];
+  buildInputs = [ unzip SDL libGL libGLU openal curl libXxf86vm ];
   sourceRoot = "ioq3-for-UrbanTerror-4-release-${version}";
 
   configurePhase = ''
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
   postFixup = ''
     p=$out/opt/urbanterror/Quake3-UrT
     cur_rpath=$(patchelf --print-rpath $p)
-    patchelf --set-rpath $cur_rpath:${libGLU_combined}/lib $p
+    patchelf --set-rpath $cur_rpath:${libGL}/lib:${libGLU}/lib $p
   '';
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/games/vdrift/default.nix b/pkgs/games/vdrift/default.nix
index e018dfd664d3..3002216b9d4b 100644
--- a/pkgs/games/vdrift/default.nix
+++ b/pkgs/games/vdrift/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchsvn, pkgconfig, scons, libGLU_combined, SDL2, SDL2_image
+{ stdenv, fetchFromGitHub, fetchsvn, pkgconfig, scons, libGLU, libGL, SDL2, SDL2_image
 , libvorbis, bullet, curl, gettext, writeTextFile
 
 , data ? fetchsvn {
@@ -21,7 +21,7 @@ let
     };
 
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ scons libGLU_combined SDL2 SDL2_image libvorbis bullet curl gettext ];
+    buildInputs = [ scons libGLU libGL SDL2 SDL2_image libvorbis bullet curl gettext ];
 
     patches = [ ./0001-Ignore-missing-data-for-installation.patch ];
 
diff --git a/pkgs/games/voxelands/default.nix b/pkgs/games/voxelands/default.nix
index 9ea9ec7bd12f..d8c16c9b7ced 100644
--- a/pkgs/games/voxelands/default.nix
+++ b/pkgs/games/voxelands/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, irrlicht, libpng, bzip2, sqlite
-, libjpeg, libXxf86vm, libGLU_combined, openal, libvorbis, xlibsWrapper, pkgconfig }:
+, libjpeg, libXxf86vm, libGLU, libGL, openal, libvorbis, xlibsWrapper, pkgconfig }:
 
 stdenv.mkDerivation rec {
   pname = "voxelands";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     cmake irrlicht libpng bzip2 libjpeg sqlite
-    libXxf86vm libGLU_combined openal libvorbis xlibsWrapper pkgconfig
+    libXxf86vm libGLU libGL openal libvorbis xlibsWrapper pkgconfig
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/games/worldofgoo/default.nix b/pkgs/games/worldofgoo/default.nix
index 7d8380e9f7ce..0889e52d8f86 100644
--- a/pkgs/games/worldofgoo/default.nix
+++ b/pkgs/games/worldofgoo/default.nix
@@ -1,5 +1,5 @@
 { stdenv, requireFile
-, libX11, libXext, libXau, libxcb, libXdmcp , SDL, SDL_mixer, libvorbis, libGLU_combined
+, libX11, libXext, libXau, libxcb, libXdmcp , SDL, SDL_mixer, libvorbis, libGLU, libGL
 , runtimeShell
 , demo ? false }:
 
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
 
   # XXX: stdenv.lib.makeLibraryPath doesn't pick up /lib64
   libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc stdenv.cc.libc ]
-    + ":" + stdenv.lib.makeLibraryPath [libX11 libXext libXau libxcb libXdmcp SDL SDL_mixer libvorbis libGLU_combined ]
+    + ":" + stdenv.lib.makeLibraryPath [libX11 libXext libXau libxcb libXdmcp SDL SDL_mixer libvorbis libGLU libGL ]
     + ":" + stdenv.cc.cc + "/lib64";
 
   installPhase = ''
diff --git a/pkgs/games/xmoto/default.nix b/pkgs/games/xmoto/default.nix
index d9bba3fdbdce..34c9bf1f06d1 100644
--- a/pkgs/games/xmoto/default.nix
+++ b/pkgs/games/xmoto/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, chipmunk, sqlite, curl, zlib, bzip2, libjpeg
-, libpng, freeglut, libGLU_combined, SDL, SDL_mixer, SDL_image, SDL_net
+, libpng, freeglut, libGLU, libGL, SDL, SDL_mixer, SDL_image, SDL_net
 , SDL_ttf, lua5, ode, libxdg_basedir, libxml2 }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     chipmunk sqlite curl zlib bzip2 libjpeg libpng
-    freeglut libGLU_combined SDL SDL_mixer SDL_image SDL_net SDL_ttf
+    freeglut libGLU libGL SDL SDL_mixer SDL_image SDL_net SDL_ttf
     lua5 ode libxdg_basedir libxml2
   ];
 
diff --git a/pkgs/games/xonotic/default.nix b/pkgs/games/xonotic/default.nix
index ac7bf7973d77..f4ce3c86a646 100644
--- a/pkgs/games/xonotic/default.nix
+++ b/pkgs/games/xonotic/default.nix
@@ -2,7 +2,7 @@
 , # required for both
   unzip, libjpeg, zlib, libvorbis, curl
 , # glx
-  libX11, libGLU_combined, libXpm, libXext, libXxf86vm, alsaLib
+  libX11, libGLU, libGL, libXpm, libXext, libXxf86vm, alsaLib
 , # sdl
   SDL2
 }:
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     # required for both
     unzip libjpeg
     # glx
-    libX11 libGLU_combined libXpm libXext libXxf86vm alsaLib
+    libX11 libGLU libGL libXpm libXext libXxf86vm alsaLib
     # sdl
     SDL2
     zlib libvorbis curl
diff --git a/pkgs/games/xpilot/bloodspilot-client.nix b/pkgs/games/xpilot/bloodspilot-client.nix
index aefc8ad98767..257b00102458 100644
--- a/pkgs/games/xpilot/bloodspilot-client.nix
+++ b/pkgs/games/xpilot/bloodspilot-client.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libX11, SDL, libGLU_combined, expat, zlib, SDL_ttf, SDL_image }:
+{ stdenv, fetchurl, libX11, SDL, libGLU, libGL, expat, zlib, SDL_ttf, SDL_image }:
 
 stdenv.mkDerivation rec {
   version = "1.5.0";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    libX11 SDL SDL_ttf SDL_image libGLU_combined expat zlib
+    libX11 SDL SDL_ttf SDL_image libGLU libGL expat zlib
   ];
 
   NIX_LDFLAGS = [ "-lX11" ];
diff --git a/pkgs/games/xpilot/default.nix b/pkgs/games/xpilot/default.nix
index d0fe9f61896e..7d83dece333e 100644
--- a/pkgs/games/xpilot/default.nix
+++ b/pkgs/games/xpilot/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libX11, libSM, SDL, libGLU_combined, expat, SDL_ttf
+{ stdenv, fetchurl, libX11, libSM, SDL, libGLU, libGL, expat, SDL_ttf
 , SDL_image, zlib, libXxf86misc }:
 stdenv.mkDerivation rec {
   pname = "xpilot-ng";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "02a7pnp88kh88fzda5q8mzlckk6y9r5fw47j00h26wbsfly0k1zj";
   };
   buildInputs = [
-    libX11 libSM SDL SDL_ttf SDL_image libGLU_combined expat zlib libXxf86misc
+    libX11 libSM SDL SDL_ttf SDL_image libGLU libGL expat zlib libXxf86misc
   ];
   meta = with stdenv.lib; {
     description = "A multiplayer X11 space combat game";
diff --git a/pkgs/games/zandronum/default.nix b/pkgs/games/zandronum/default.nix
index ce32e435608b..754c48149454 100644
--- a/pkgs/games/zandronum/default.nix
+++ b/pkgs/games/zandronum/default.nix
@@ -9,13 +9,14 @@ let
   sqlite = callPackage ./sqlite.nix { };
   clientLibPath = lib.makeLibraryPath [ fluidsynth ];
 
-in stdenv.mkDerivation {
-  name = "zandronum${suffix}-3.0";
+in stdenv.mkDerivation rec {
+  pname = "zandronum${suffix}";
+  version = "3.0.1";
 
   src = fetchhg {
     url = "https://bitbucket.org/Torr_Samaho/zandronum-stable";
-    rev = "dd3c3b57023f";
-    sha256 = "1f8pd8d2zjwdp6v9anp9yrkdbfhd2mp7svmnna0jiqgxjw6wkyls";
+    rev = "ZA_${version}";
+    sha256 = "16v5b6wfrmabs3ky6isbfhlrqdjrr1pvfxlxwk0im02kcpxxw9qw";
   };
 
   # zandronum tries to download sqlite now when running cmake, don't let it
diff --git a/pkgs/misc/cups/drivers/canon/default.nix b/pkgs/misc/cups/drivers/canon/default.nix
index b6219e1c749e..adc4ead94b79 100644
--- a/pkgs/misc/cups/drivers/canon/default.nix
+++ b/pkgs/misc/cups/drivers/canon/default.nix
@@ -1,49 +1,55 @@
-{stdenv, fetchurl, unzip, autoreconfHook, libtool, makeWrapper, cups, ghostscript, pkgsi686Linux }:
+{stdenv, fetchurl, unzip, autoreconfHook, libtool, makeWrapper, cups, ghostscript, pkgsi686Linux, zlib }:
 
 let
 
   i686_NIX_GCC = pkgsi686Linux.callPackage ({gcc}: gcc) {};
   i686_libxml2 = pkgsi686Linux.callPackage ({libxml2}: libxml2) {};
 
+  commonVer = "4.10";
+  version = "3.70";
+  dl = "8/0100007658/08";
+
+  versionNoDots = builtins.replaceStrings ["."] [""] version;
   src_canon = fetchurl {
-    url = "https://files.canon-europe.com/files/soft45378/software/o147jen_linuxufrII_0290.zip";
-    sha256 = "1qpdmaaw42gm5fi21rp4lf05skffkq42ka5c8xkw8rckzb13sy9j";
+    url = "http://gdlp01.c-wss.com/gds/${dl}/linux-UFRII-drv-v${versionNoDots}-uken-05.tar.gz";
+    sha256 = "0424lvyrsvsb94qga4p4ldis7f714c5yw5ydv3f84mdl2a7papg0";
   };
 
 in
 
 
 stdenv.mkDerivation {
-  name = "canon-cups-ufr2-2.90";
+  pname = "canon-cups-ufr2";
+  version = version;
   src = src_canon;
 
   phases = [ "unpackPhase" "installPhase" ];
 
   postUnpack = ''
-    (cd $sourceRoot; tar -xzf Sources/cndrvcups-common-2.90-1.tar.gz)
-    (cd $sourceRoot; tar -xzf Sources/cndrvcups-lb-2.90-1.tar.gz)
+    (cd $sourceRoot; tar -xzf Sources/cndrvcups-common-${commonVer}-1.tar.gz)
+    (cd $sourceRoot; tar -xzf Sources/cndrvcups-lb-${version}-1.tar.gz)
   '';
 
   nativeBuildInputs = [ makeWrapper unzip autoreconfHook libtool ];
 
-  buildInputs = [ cups ];
+  buildInputs = [ cups zlib ];
 
   installPhase = ''
     ##
     ## cndrvcups-common buildPhase
     ##
-    ( cd cndrvcups-common-2.90/buftool
+    ( cd cndrvcups-common-${commonVer}/buftool
       autoreconf -fi
       ./autogen.sh --prefix=$out --enable-progpath=$out/bin --libdir=$out/lib --disable-shared --enable-static
       make
     )
 
-    ( cd cndrvcups-common-2.90/backend
+    ( cd cndrvcups-common-${commonVer}/backend
       ./autogen.sh --prefix=$out --libdir=$out/lib
       make
     )
 
-    ( cd cndrvcups-common-2.90/c3plmod_ipc
+    ( cd cndrvcups-common-${commonVer}/c3plmod_ipc
       make
     )
 
@@ -51,19 +57,19 @@ stdenv.mkDerivation {
     ## cndrvcups-common installPhase
     ##
 
-    ( cd cndrvcups-common-2.90/buftool
+    ( cd cndrvcups-common-${commonVer}/buftool
       make install
     )
 
-    ( cd cndrvcups-common-2.90/backend
+    ( cd cndrvcups-common-${commonVer}/backend
       make install
     )
 
-    ( cd cndrvcups-common-2.90/c3plmod_ipc
+    ( cd cndrvcups-common-${commonVer}/c3plmod_ipc
       make install DESTDIR=$out/lib
     )
 
-    ( cd cndrvcups-common-2.90/libs
+    ( cd cndrvcups-common-${commonVer}/libs
       chmod 755 *
       mkdir -p $out/lib32
       mkdir -p $out/bin
@@ -72,15 +78,22 @@ stdenv.mkDerivation {
       cp libc3pl.so.0.0.1 $out/lib32
       cp libcaepcm.so.1.0 $out/lib32
       cp libColorGear.so.0.0.0 $out/lib32
-      cp libColorGearC.so.0.0.0 $out/lib32
+      cp libColorGearC.so.1.0.0 $out/lib32
       cp libcanon_slim.so.1.0.0 $out/lib32
       cp c3pldrv $out/bin
     )
 
-    (cd cndrvcups-common-2.90/data
+    (cd cndrvcups-common-${commonVer}/Rule
+      mkdir -p $out/share/usb
+      chmod 644 *.usb-quirks $out/share/usb
+    )
+
+    (cd cndrvcups-common-${commonVer}/data
       chmod 644 *.ICC
       mkdir -p $out/share/caepcm
       cp *.ICC $out/share/caepcm
+      cp *.icc $out/share/caepcm
+      cp *.PRF $out/share/caepcm
     )
 
     (cd $out/lib32
@@ -96,8 +109,8 @@ stdenv.mkDerivation {
       ln -sf libcanon_slim.so.1.0.0 libcanon_slim.so
       ln -sf libColorGear.so.0.0.0 libColorGear.so.0
       ln -sf libColorGear.so.0.0.0 libColorGear.so
-      ln -sf libColorGearC.so.0.0.0 libColorGearC.so.0
-      ln -sf libColorGearC.so.0.0.0 libColorGearC.so
+      ln -sf libColorGearC.so.1.0.0 libColorGearC.so.1
+      ln -sf libColorGearC.so.1.0.0 libColorGearC.so
     )
 
     (cd $out/lib
@@ -106,7 +119,7 @@ stdenv.mkDerivation {
     )
 
     patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib" $out/lib32/libColorGear.so.0.0.0
-    patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib" $out/lib32/libColorGearC.so.0.0.0
+    patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib" $out/lib32/libColorGearC.so.1.0.0
 
     patchelf --interpreter "$(cat ${i686_NIX_GCC}/nix-support/dynamic-linker)" --set-rpath "$out/lib32" $out/bin/c3pldrv
 
@@ -127,18 +140,13 @@ stdenv.mkDerivation {
     ## cndrvcups-lb buildPhase
     ##
 
-    ( cd cndrvcups-lb-2.90/ppd
-      ./autogen.sh --prefix=$out
+    ( cd cndrvcups-lb-${version}/buftool
+      ./autogen.sh --prefix=$out --libdir=$out/lib --enable-progpath=$out/bin --enable-static
       make
     )
 
-    ( cd cndrvcups-lb-2.90/pstoufr2cpca
-      CPPFLAGS="-I$out/include" LDFLAGS=" -L$out/lib" ./autogen.sh --prefix=$out --enable-progpath=$out/bin
-      make
-    )
-
-    ( cd cndrvcups-lb-2.90/cpca
-      CPPFLAGS="-I$out/include" LDFLAGS=" -L$out/lib" ./autogen.sh --prefix=$out --enable-progpath=$out/bin  --enable-static
+    ( cd cndrvcups-lb-${version}/pstoufr2cpca
+      ./autogen.sh --prefix=$out --libdir=$out/lib
       make
     )
 
@@ -146,19 +154,11 @@ stdenv.mkDerivation {
     ## cndrvcups-lb installPhase
     ##
 
-    ( cd cndrvcups-lb-2.90/ppd
+    ( cd cndrvcups-lb-${version}/pstoufr2cpca
       make install
     )
 
-    ( cd cndrvcups-lb-2.90/pstoufr2cpca
-      make install
-    )
-
-    ( cd cndrvcups-lb-2.90/cpca
-      make install
-    )
-
-    ( cd cndrvcups-lb-2.90/libs
+    ( cd cndrvcups-lb-${version}/libs
       chmod 755 *
       mkdir -p $out/lib32
       mkdir -p $out/bin
@@ -189,7 +189,7 @@ stdenv.mkDerivation {
       ln -sf libcnlbcm.so.1.0 libcnlbcm.so
     )
 
-    ( cd cndrvcups-lb-2.90
+    ( cd cndrvcups-lb-${version}
       chmod 644 data/CnLB*
       chmod 644 libs/cnpkbidi_info*
       chmod 644 libs/ThLB*
@@ -201,6 +201,9 @@ stdenv.mkDerivation {
       cp libs/ThLB* $out/share/ufr2filter
     )
 
+    mkdir -p $out/share/cups/model
+    install -c -m 644 cndrvcups-lb-${version}/ppd/CN*.ppd $out/share/cups/model/
+
     patchelf --set-rpath "$out/lib32:${i686_libxml2.out}/lib" $out/lib32/libcanonufr2.so.1.0.0
 
     patchelf --interpreter "$(cat ${i686_NIX_GCC}/nix-support/dynamic-linker)" --set-rpath "$out/lib32" $out/bin/cnpkmoduleufr2
@@ -211,9 +214,12 @@ stdenv.mkDerivation {
       --prefix PATH ":" "$out/bin"
     '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "CUPS Linux drivers for Canon printers";
     homepage = http://www.canon.com/;
-    license = stdenv.lib.licenses.unfree;
+    license = licenses.unfree;
+    maintainers = with maintainers; [
+      kylesferrazza
+    ];
   };
 }
diff --git a/pkgs/misc/cups/filters.nix b/pkgs/misc/cups/filters.nix
index 7e3b4b952f18..76f68e507506 100644
--- a/pkgs/misc/cups/filters.nix
+++ b/pkgs/misc/cups/filters.nix
@@ -9,11 +9,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "cups-filters";
-  version = "1.25.11";
+  version = "1.25.12";
 
   src = fetchurl {
     url = "https://openprinting.org/download/cups-filters/${pname}-${version}.tar.xz";
-    sha256 = "0ni8krr4rf5833livn9401cd41gspjvxj0iiqnc1rfg3x90i0fxh";
+    sha256 = "1kv25011iyzvd33n5zmmn1z2p6pzk26hmmw6qvjjnx8p3sp7raqn";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
diff --git a/pkgs/misc/emulators/atari800/default.nix b/pkgs/misc/emulators/atari800/default.nix
index 228da6870947..38dc54ea9d7b 100644
--- a/pkgs/misc/emulators/atari800/default.nix
+++ b/pkgs/misc/emulators/atari800/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl
-, unzip, zlib, SDL, readline, libGLU_combined, libX11 }:
+, unzip, zlib, SDL, readline, libGLU, libGL, libX11 }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec{
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec{
     sha256 = "1dcynsf8i52y7zyg62bkbhl3rdd22ss95zs2s9jm4y5jvn4vks88";
   };
 
-  buildInputs = [ unzip zlib SDL readline libGLU_combined libX11 ];
+  buildInputs = [ unzip zlib SDL readline libGLU libGL libX11 ];
 
   configureFlags = [
     "--target=default"
diff --git a/pkgs/misc/emulators/attract-mode/default.nix b/pkgs/misc/emulators/attract-mode/default.nix
index a725d9c9b086..7e6694b28d97 100644
--- a/pkgs/misc/emulators/attract-mode/default.nix
+++ b/pkgs/misc/emulators/attract-mode/default.nix
@@ -1,5 +1,5 @@
 { expat, fetchFromGitHub, ffmpeg, fontconfig, freetype, libarchive, libjpeg
-, libGLU_combined, openal, pkgconfig, sfml, stdenv, zlib
+, libGLU, libGL, openal, pkgconfig, sfml, stdenv, zlib
 }:
 
 stdenv.mkDerivation rec {
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = [
-    expat ffmpeg fontconfig freetype libarchive libjpeg libGLU_combined openal sfml zlib
+    expat ffmpeg fontconfig freetype libarchive libjpeg libGLU libGL openal sfml zlib
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/misc/emulators/cdemu/analyzer.nix b/pkgs/misc/emulators/cdemu/analyzer.nix
index e52cf7efc6b5..246dbb7dd350 100644
--- a/pkgs/misc/emulators/cdemu/analyzer.nix
+++ b/pkgs/misc/emulators/cdemu/analyzer.nix
@@ -1,9 +1,9 @@
 { callPackage, makeWrapper, gobject-introspection, cmake
 , python3Packages, gtk3, glib, libxml2, gnuplot, gnome3, gdk-pixbuf, librsvg, intltool, libmirage }:
 let pkg = import ./base.nix {
-  version = "3.2.2";
+  version = "3.2.3";
   pkgName = "image-analyzer";
-  pkgSha256 = "0by3nd5c413cvk3jmv3md6q0axbiidy061g9dhf37qzwgcakcx8j";
+  pkgSha256 = "17yfjmf65s77214qassz6l01cjcni4cv06nzfsm7qrzw172fmci4";
 };
 in callPackage pkg {
   buildInputs = [ glib gtk3 libxml2 gnuplot libmirage makeWrapper
diff --git a/pkgs/misc/emulators/cdemu/client.nix b/pkgs/misc/emulators/cdemu/client.nix
index dbf471d35d1d..087b15cecd16 100644
--- a/pkgs/misc/emulators/cdemu/client.nix
+++ b/pkgs/misc/emulators/cdemu/client.nix
@@ -1,8 +1,8 @@
 { callPackage, python3Packages, intltool, makeWrapper }:
 let pkg = import ./base.nix {
-  version = "3.2.1";
+  version = "3.2.3";
   pkgName = "cdemu-client";
-  pkgSha256 = "1d8m24qvv62xcwafw5zs4yf39vs64kxl4idqcngd8yyjhrb2ykg5";
+  pkgSha256 = "1bvc2m63fx03rbp3ihgl2n7k24lwg5ydwkmr84gsjfcxp46q10zq";
 };
 in callPackage pkg {
   buildInputs = [ python3Packages.python python3Packages.dbus-python python3Packages.pygobject3
diff --git a/pkgs/misc/emulators/cdemu/daemon.nix b/pkgs/misc/emulators/cdemu/daemon.nix
index a80327ce91c0..db6ed7ddb47a 100644
--- a/pkgs/misc/emulators/cdemu/daemon.nix
+++ b/pkgs/misc/emulators/cdemu/daemon.nix
@@ -1,8 +1,8 @@
 { callPackage, glib, libao, intltool, libmirage }:
 let pkg = import ./base.nix {
-  version = "3.2.2";
+  version = "3.2.3";
   pkgName = "cdemu-daemon";
-  pkgSha256 = "0himyrhhfjsr4ff5aci7240bpm9x34h20pid412ci8fm16nk929b";
+  pkgSha256 = "022xzgwmncswb9md71w3ly3mjkdfc93lbij2llp2jamq8grxjjxr";
 };
 in callPackage pkg {
   buildInputs = [ glib libao libmirage intltool ];
diff --git a/pkgs/misc/emulators/cdemu/gui.nix b/pkgs/misc/emulators/cdemu/gui.nix
index e06853b8f736..599531950a21 100644
--- a/pkgs/misc/emulators/cdemu/gui.nix
+++ b/pkgs/misc/emulators/cdemu/gui.nix
@@ -2,9 +2,9 @@
 , python3Packages, gtk3, glib, libnotify, intltool, gnome3, gdk-pixbuf, librsvg }:
 let
   pkg = import ./base.nix {
-    version = "3.2.1";
+    version = "3.2.3";
     pkgName = "gcdemu";
-    pkgSha256 = "0lmyvhbf57wcm8k2a33j2dhy4gblaiycy33q070gdrxi37xk7w5g";
+    pkgSha256 = "19vy1awha8s7cfja3a6npaf3rfy3pl3cbsh4vd609q9jz4v4lyg4";
   };
   inherit (python3Packages) python pygobject3;
 in callPackage pkg {
diff --git a/pkgs/misc/emulators/cdemu/libmirage.nix b/pkgs/misc/emulators/cdemu/libmirage.nix
index 0ead78305cd0..cc3118ace151 100644
--- a/pkgs/misc/emulators/cdemu/libmirage.nix
+++ b/pkgs/misc/emulators/cdemu/libmirage.nix
@@ -3,9 +3,9 @@
 , pcre, utillinux, libselinux, libsepol }:
 
 let pkg = import ./base.nix {
-  version = "3.2.2";
+  version = "3.2.3";
   pkgName = "libmirage";
-  pkgSha256 = "0gwrfia0fyhi0b3p2pfyyvrcfcb0qysfzgpdqsqjqbx4xaqx5wpi";
+  pkgSha256 = "08mfvqyk3833ksfd47i4j3ppmrw5ry219km6h7lywdh9hm9x14yf";
 };
 in callPackage pkg {
   buildInputs = [ glib libsndfile zlib bzip2 lzma libsamplerate intltool ];
diff --git a/pkgs/misc/emulators/cdemu/vhba.nix b/pkgs/misc/emulators/cdemu/vhba.nix
index 71beaf125481..df25fb96eb1c 100644
--- a/pkgs/misc/emulators/cdemu/vhba.nix
+++ b/pkgs/misc/emulators/cdemu/vhba.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "vhba";
-  version = "20190410";
+  version = "20190831";
 
   src  = fetchurl {
     url = "mirror://sourceforge/cdemu/vhba-module-${version}.tar.bz2";
-    sha256 = "1513hq130raxp9z5grj54cwfjfxj05apipxg425j0zicii59a60c";
+    sha256 = "1ybbk6l06n0y11n5wnfmvdz0baizmq55l458ywimghdyz0n7g0ws";
   };
 
   makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" "INSTALL_MOD_PATH=$(out)" ];
diff --git a/pkgs/misc/emulators/dolphin-emu/default.nix b/pkgs/misc/emulators/dolphin-emu/default.nix
index 303c2f82d9ef..cc49ef2aa1dc 100644
--- a/pkgs/misc/emulators/dolphin-emu/default.nix
+++ b/pkgs/misc/emulators/dolphin-emu/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchpatch, pkgconfig, cmake, bluez, ffmpeg, libao, gtk2, glib
-, libGLU_combined , gettext, libpthreadstubs, libXrandr, libXext, readline
+, libGLU, libGL , gettext, libpthreadstubs, libXrandr, libXext, readline
 , openal , libXdmcp, portaudio, fetchFromGitHub, libusb, libevdev
 , wxGTK30, soundtouch, miniupnpc, mbedtls, curl, lzo, sfml
 , libpulseaudio ? null }:
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake bluez ffmpeg libao libGLU_combined gtk2 glib
+  buildInputs = [ cmake bluez ffmpeg libao libGLU libGL gtk2 glib
                   gettext libpthreadstubs libXrandr libXext readline openal
                   libevdev libXdmcp portaudio libusb libpulseaudio
                   libevdev libXdmcp portaudio libusb libpulseaudio
diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix
index 9e03780daa36..cec88918282e 100644
--- a/pkgs/misc/emulators/dolphin-emu/master.nix
+++ b/pkgs/misc/emulators/dolphin-emu/master.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, makeDesktopItem, pkgconfig, cmake
-, wrapQtAppsHook, qtbase, bluez, ffmpeg, libao, libGLU_combined, pcre, gettext
+, wrapQtAppsHook, qtbase, bluez, ffmpeg, libao, libGLU, libGL, pcre, gettext
 , libXrandr, libusb, lzo, libpthreadstubs, libXext, libXxf86vm, libXinerama
 , libSM, libXdmcp, readline, openal, udev, libevdev, portaudio, curl, alsaLib
 , miniupnpc, enet, mbedtls, soundtouch, sfml
@@ -35,7 +35,7 @@ in stdenv.mkDerivation rec {
   ++ lib.optional stdenv.isLinux wrapQtAppsHook;
 
   buildInputs = [
-    curl ffmpeg libao libGLU_combined pcre gettext libpthreadstubs libpulseaudio
+    curl ffmpeg libao libGLU libGL pcre gettext libpthreadstubs libpulseaudio
     libXrandr libXext libXxf86vm libXinerama libSM readline openal libXdmcp lzo
     portaudio libusb libpng hidapi miniupnpc enet mbedtls soundtouch sfml
     qtbase
diff --git a/pkgs/misc/emulators/dosbox/default.nix b/pkgs/misc/emulators/dosbox/default.nix
index e72504916085..5b770a6471ab 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, graphicsmagick }:
+{ stdenv, lib, fetchurl, makeDesktopItem, SDL, SDL_net, SDL_sound, libGLU, libGL, libpng, graphicsmagick }:
 
 stdenv.mkDerivation rec {
   name = "dosbox-0.74-3";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
-  buildInputs = [ SDL SDL_net SDL_sound libGLU_combined libpng ];
+  buildInputs = [ SDL SDL_net SDL_sound libGLU libGL libpng ];
 
   nativeBuildInputs = [ graphicsmagick ];
 
diff --git a/pkgs/misc/emulators/emulationstation/default.nix b/pkgs/misc/emulators/emulationstation/default.nix
index d8f5f1cbdb03..668d18045445 100644
--- a/pkgs/misc/emulators/emulationstation/default.nix
+++ b/pkgs/misc/emulators/emulationstation/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pkgconfig, cmake, curl, boost, eigen
-, freeimage, freetype, libGLU_combined, SDL2, alsaLib, libarchive }:
+, freeimage, freetype, libGLU, libGL, SDL2, alsaLib, libarchive }:
 
 stdenv.mkDerivation {
   pname = "emulationstation";
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake alsaLib boost curl eigen freeimage freetype libarchive libGLU_combined SDL2 ];
+  buildInputs = [ cmake alsaLib boost curl eigen freeimage freetype libarchive libGLU libGL SDL2 ];
 
   buildPhase = "cmake . && make";
   installPhase = ''
diff --git a/pkgs/misc/emulators/epsxe/default.nix b/pkgs/misc/emulators/epsxe/default.nix
index 1cfa0db790fb..81202008db19 100644
--- a/pkgs/misc/emulators/epsxe/default.nix
+++ b/pkgs/misc/emulators/epsxe/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, alsaLib, curl, gdk-pixbuf, glib, gtk3, libGLU_combined,
+{ stdenv, fetchurl, alsaLib, curl, gdk-pixbuf, glib, gtk3, libGLU, libGL,
   libX11, openssl_1_0_2, ncurses5, SDL, SDL_ttf, unzip, zlib, wrapGAppsHook, autoPatchelfHook }:
 
 with stdenv.lib;
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     glib
     gtk3
     libX11
-    libGLU_combined
+    libGLU libGL
     openssl_1_0_2
     ncurses5
     SDL
diff --git a/pkgs/misc/emulators/fakenes/default.nix b/pkgs/misc/emulators/fakenes/default.nix
index eb7964cc017d..704cef52e5e4 100644
--- a/pkgs/misc/emulators/fakenes/default.nix
+++ b/pkgs/misc/emulators/fakenes/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, allegro, openal, libGLU_combined, zlib, hawknl, freeglut, libX11,
+{stdenv, fetchurl, allegro, openal, libGLU, libGL, zlib, hawknl, freeglut, libX11,
   libXxf86vm, libXcursor, libXpm }:
 
 stdenv.mkDerivation {
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     sha256 = "026h67s4pzc1vma59pmzk02iy379255qbai2q74wln9bxqcpniy4";
   };
 
-  buildInputs = [ allegro openal libGLU_combined zlib hawknl freeglut libX11
+  buildInputs = [ allegro openal libGLU libGL zlib hawknl freeglut libX11
     libXxf86vm libXcursor libXpm ];
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/misc/emulators/fs-uae/default.nix b/pkgs/misc/emulators/fs-uae/default.nix
index 95a95bb17b14..9f092f91e2ef 100644
--- a/pkgs/misc/emulators/fs-uae/default.nix
+++ b/pkgs/misc/emulators/fs-uae/default.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchurl, pkgconfig
-, gettext, gtk2, SDL2, zlib, glib, openal, libGLU_combined, lua, freetype, libmpeg2, zip }:
+, gettext, gtk2, SDL2, zlib, glib, openal, libGLU, libGL, lua, freetype, libmpeg2, zip }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
 
   pname = "fs-uae";
-  version = "3.0.0";
+  version = "3.0.2";
 
   src = fetchurl {
     url = "https://fs-uae.net/stable/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0r69i6rh472lj4qwqfcfh17xmlw4x6mhqzr9hhpkbb4byyw6h592";
+    sha256 = "1awakxs3rlbm0bxpi37cbavi5fpb89wszksyw62as4nz3qsdrpjf";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gettext gtk2 SDL2 zlib glib openal libGLU_combined lua freetype libmpeg2 zip ];
+  buildInputs = [ gettext gtk2 SDL2 zlib glib openal libGLU libGL lua freetype libmpeg2 zip ];
 
   meta = {
     description = "An accurate, customizable Amiga Emulator";
diff --git a/pkgs/misc/emulators/gens-gs/default.nix b/pkgs/misc/emulators/gens-gs/default.nix
index da53b4f8c557..4120ec7ba6aa 100644
--- a/pkgs/misc/emulators/gens-gs/default.nix
+++ b/pkgs/misc/emulators/gens-gs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gtk2, SDL, nasm, zlib, libpng, libGLU_combined }:
+{ stdenv, fetchurl, pkgconfig, gtk2, SDL, nasm, zlib, libpng, libGLU, libGL }:
 
 stdenv.mkDerivation {
   name = "gens-gs-7";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk2 SDL nasm zlib libpng libGLU_combined ];
+  buildInputs = [ gtk2 SDL nasm zlib libpng libGLU libGL ];
 
   # Work around build failures on recent GTK.
   # See http://ubuntuforums.org/showthread.php?p=10535837
diff --git a/pkgs/misc/emulators/higan/default.nix b/pkgs/misc/emulators/higan/default.nix
index ad96ca36bc16..c1e64d26b476 100644
--- a/pkgs/misc/emulators/higan/default.nix
+++ b/pkgs/misc/emulators/higan/default.nix
@@ -2,7 +2,7 @@
 , p7zip, pkgconfig
 , libX11, libXv
 , udev
-, libGLU_combined, SDL
+, libGLU, libGL, SDL
 , libao, openal, libpulseaudio
 , gtk2, gtksourceview
 , runtimeShell }:
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   postPatch = "sed '1i#include <cmath>' -i higan/fc/ppu/ppu.cpp";
 
   buildInputs =
-  [ p7zip pkgconfig libX11 libXv udev libGLU_combined
+  [ p7zip pkgconfig libX11 libXv udev libGLU libGL
     SDL libao openal libpulseaudio gtk2 gtksourceview ];
 
   unpackPhase = ''
diff --git a/pkgs/misc/emulators/mednafen/default.nix b/pkgs/misc/emulators/mednafen/default.nix
index 74c456cfb105..337d19804fc4 100644
--- a/pkgs/misc/emulators/mednafen/default.nix
+++ b/pkgs/misc/emulators/mednafen/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, freeglut, libGLU_combined, libcdio, libjack2
+{ stdenv, fetchurl, pkgconfig, freeglut, libGLU, libGL, libcdio, libjack2
 , libsamplerate, libsndfile, libX11, SDL, SDL_net, zlib }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     freeglut
-    libGLU_combined
+    libGLU libGL
     libcdio
     libjack2
     libsamplerate
diff --git a/pkgs/misc/emulators/nestopia/default.nix b/pkgs/misc/emulators/nestopia/default.nix
index 4f02d0f147d4..20c7c39312a5 100644
--- a/pkgs/misc/emulators/nestopia/default.nix
+++ b/pkgs/misc/emulators/nestopia/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, pkgconfig, SDL2, alsaLib, gtk3
-, makeWrapper, libGLU_combined, libarchive, libao, unzip, xdg_utils
+, makeWrapper, libGLU, libGL, libarchive, libao, unzip, xdg_utils
 , epoxy, gdk-pixbuf, gnome3, wrapGAppsHook
 }:
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     epoxy
     gtk3
     gdk-pixbuf
-    libGLU_combined
+    libGLU libGL
     libarchive
     libao
     unzip
diff --git a/pkgs/misc/emulators/resim/default.nix b/pkgs/misc/emulators/resim/default.nix
new file mode 100644
index 000000000000..81acdf81f2ec
--- /dev/null
+++ b/pkgs/misc/emulators/resim/default.nix
@@ -0,0 +1,18 @@
+{ fetchFromGitHub, stdenv, cmake, qt4 }:
+
+stdenv.mkDerivation {
+  name = "resim";
+  src = fetchFromGitHub {
+    owner = "itszor";
+    repo = "resim";
+    rev = "cdc7808ceb7ba4ac00d0d08ca646b58615059150";
+    sha256 = "1743lngqxd7ai4k6cd4d1cf9h60z2pnvr2iynfs1zlpcj3w1hx0c";
+  };
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ qt4 ];
+  installPhase = ''
+    mkdir -pv $out/{lib,bin}
+    cp -v libresim/libarmsim.so $out/lib/libarmsim.so
+    cp -v vc4emul/vc4emul $out/bin/vc4emul
+  '';
+}
diff --git a/pkgs/misc/emulators/retroarch/default.nix b/pkgs/misc/emulators/retroarch/default.nix
index 3b55c44d173e..34e3961250cf 100644
--- a/pkgs/misc/emulators/retroarch/default.nix
+++ b/pkgs/misc/emulators/retroarch/default.nix
@@ -1,13 +1,15 @@
 { stdenv, fetchFromGitHub, which, pkgconfig, makeWrapper
-, ffmpeg, libGLU_combined, freetype, libxml2, python3
+, ffmpeg, libGLU, libGL, freetype, libxml2, python3
 , libobjc, AppKit, Foundation
 , alsaLib ? null
+, libdrm ? null
 , libpulseaudio ? null
 , libv4l ? null
 , libX11 ? null
 , libXdmcp ? null
 , libXext ? null
 , libXxf86vm ? null
+, mesa ? null
 , SDL2 ? null
 , udev ? null
 , enableNvidiaCgToolkit ? false, nvidia_cg_toolkit ? null
@@ -27,27 +29,29 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "retroarch-bare";
-  version = "1.7.8.4";
+  version = "1.8.1";
 
   src = fetchFromGitHub {
     owner = "libretro";
     repo = "RetroArch";
-    sha256 = "1i3i23xwvmck8k2fpalr49np7xjzfg507243mybqrljawlnbxvph";
+    sha256 = "0y7rcpz7psf8k3agsrq277jdm651vbnn9xpqvmj2in1a786idya7";
     rev = "v${version}";
   };
 
   nativeBuildInputs = [ pkgconfig ]
                       ++ optional withVulkan [ makeWrapper ];
 
-  buildInputs = [ ffmpeg freetype libxml2 libGLU_combined python3 SDL2 which ]
+  buildInputs = [ ffmpeg freetype libxml2 libGLU libGL python3 SDL2 which ]
                 ++ optional enableNvidiaCgToolkit nvidia_cg_toolkit
                 ++ optional withVulkan [ vulkan-loader ]
                 ++ optionals stdenv.isDarwin [ libobjc AppKit Foundation ]
-                ++ optionals stdenv.isLinux [ alsaLib libpulseaudio libv4l libX11
-                                              libXdmcp libXext libXxf86vm udev ];
+                ++ optionals stdenv.isLinux [ alsaLib libdrm libpulseaudio libv4l libX11
+                                              libXdmcp libXext libXxf86vm mesa udev ];
 
   enableParallelBuilding = true;
 
+  configureFlags = if stdenv.isLinux then [ "--enable-kms" ] else "";
+
   postInstall = optionalString withVulkan ''
     wrapProgram $out/bin/retroarch --prefix LD_LIBRARY_PATH ':' ${vulkan-loader}/lib
   '' + optionalString stdenv.targetPlatform.isDarwin ''
diff --git a/pkgs/misc/emulators/retroarch/wrapper.nix b/pkgs/misc/emulators/retroarch/wrapper.nix
index 71ae168f1b23..08ebf8ea8544 100644
--- a/pkgs/misc/emulators/retroarch/wrapper.nix
+++ b/pkgs/misc/emulators/retroarch/wrapper.nix
@@ -1,14 +1,8 @@
 { stdenv, lib, makeWrapper, retroarch, cores }:
 
-let
-
-  p = builtins.parseDrvName retroarch.name;
-
-in
-
 stdenv.mkDerivation {
-  name = "retroarch-" + p.version;
-  version = p.version;
+  pname = "retroarch";
+  version = lib.getVersion retroarch;
 
   buildInputs = [ makeWrapper ];
 
diff --git a/pkgs/misc/emulators/vbam/default.nix b/pkgs/misc/emulators/vbam/default.nix
index daa6814a411e..e44b45dbb4bc 100644
--- a/pkgs/misc/emulators/vbam/default.nix
+++ b/pkgs/misc/emulators/vbam/default.nix
@@ -4,7 +4,7 @@
 , fetchFromGitHub
 , ffmpeg
 , gettext
-, libGLU_combined
+, libGLU, libGL
 , openal
 , pkgconfig
 , SDL2
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     cairo
     ffmpeg
     gettext
-    libGLU_combined
+    libGLU libGL
     openal
     SDL2
     sfml
diff --git a/pkgs/misc/emulators/vice/default.nix b/pkgs/misc/emulators/vice/default.nix
index 7cf4faf55cd7..cb083c0aa0d8 100644
--- a/pkgs/misc/emulators/vice/default.nix
+++ b/pkgs/misc/emulators/vice/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, bison, flex, perl, libpng, giflib, libjpeg, alsaLib, readline, libGLU_combined, libXaw
+{ stdenv, fetchurl, bison, flex, perl, libpng, giflib, libjpeg, alsaLib, readline, libGLU, libGL, libXaw
 , pkgconfig, gtk2, SDL, autoreconfHook, makeDesktopItem
 }:
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "0h0jbml02s2a36hr78dxv1zshmfhxp1wadpcdl09aq416fb1bf1y";
   };
 
-  buildInputs = [ bison flex perl libpng giflib libjpeg alsaLib readline libGLU_combined
+  buildInputs = [ bison flex perl libpng giflib libjpeg alsaLib readline libGLU libGL
     pkgconfig gtk2 SDL autoreconfHook libXaw ];
   dontDisableStatic = true;
   configureFlags = [ "--enable-fullscreen --enable-gnomeui" ];
diff --git a/pkgs/misc/emulators/wine/base.nix b/pkgs/misc/emulators/wine/base.nix
index 8252c96282d2..057615a79a14 100644
--- a/pkgs/misc/emulators/wine/base.nix
+++ b/pkgs/misc/emulators/wine/base.nix
@@ -58,7 +58,7 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
   ++ lib.optionals openclSupport [ pkgs.opencl-headers pkgs.ocl-icd ]
   ++ lib.optionals xmlSupport    [ pkgs.libxml2 pkgs.libxslt ]
   ++ lib.optionals tlsSupport    [ pkgs.openssl pkgs.gnutls ]
-  ++ lib.optionals openglSupport [ pkgs.libGLU_combined pkgs.mesa.osmesa pkgs.libdrm ]
+  ++ lib.optionals openglSupport [ pkgs.libGLU pkgs.libGL pkgs.mesa.osmesa pkgs.libdrm ]
   ++ lib.optionals stdenv.isDarwin (with pkgs.buildPackages.darwin.apple_sdk.frameworks; [
      CoreServices Foundation ForceFeedback AppKit OpenGL IOKit DiskArbitration Security
      ApplicationServices AudioToolbox CoreAudio AudioUnit CoreMIDI OpenAL OpenCL Cocoa Carbon
diff --git a/pkgs/misc/emulators/wine/staging.nix b/pkgs/misc/emulators/wine/staging.nix
index 5264e66279f7..df979c68a47f 100644
--- a/pkgs/misc/emulators/wine/staging.nix
+++ b/pkgs/misc/emulators/wine/staging.nix
@@ -5,7 +5,7 @@ with callPackage ./util.nix {};
 let patch = (callPackage ./sources.nix {}).staging;
     build-inputs = pkgNames: extra:
       (mkBuildInputs wineUnstable.pkgArches pkgNames) ++ extra;
-in assert (builtins.parseDrvName wineUnstable.name).version == patch.version;
+in assert stdenv.lib.getVersion wineUnstable == patch.version;
 
 stdenv.lib.overrideDerivation wineUnstable (self: {
   buildInputs = build-inputs [ "perl" "utillinux" "autoconf" libtxc_dxtn_Name ] self.buildInputs;
diff --git a/pkgs/misc/emulators/wxmupen64plus/default.nix b/pkgs/misc/emulators/wxmupen64plus/default.nix
index 1199f987bb6a..2416ddd65b7a 100644
--- a/pkgs/misc/emulators/wxmupen64plus/default.nix
+++ b/pkgs/misc/emulators/wxmupen64plus/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, python, wxGTK29, mupen64plus, SDL, libX11, libGLU_combined
+{ stdenv, fetchurl, python, wxGTK29, mupen64plus, SDL, libX11, libGLU, libGL
 , wafHook }:
 
 stdenv.mkDerivation {
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ wafHook ];
-  buildInputs = [ python wxGTK29 SDL libX11 libGLU_combined ];
+  buildInputs = [ python wxGTK29 SDL libX11 libGLU libGL ];
 
   preConfigure = ''
     tar xf ${mupen64plus.src}
diff --git a/pkgs/misc/emulators/yabause/default.nix b/pkgs/misc/emulators/yabause/default.nix
index ed8652d08f1b..abceb752b2f8 100644
--- a/pkgs/misc/emulators/yabause/default.nix
+++ b/pkgs/misc/emulators/yabause/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, pkgconfig, qtbase, qt5, libGLU_combined
+{ stdenv, fetchurl, cmake, pkgconfig, qtbase, qt5, libGLU, libGL
 , freeglut ? null, openal ? null, SDL2 ? null }:
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
-  buildInputs = [ qtbase qt5.qtmultimedia libGLU_combined freeglut openal SDL2 ];
+  buildInputs = [ qtbase qt5.qtmultimedia libGLU libGL freeglut openal SDL2 ];
 
   patches = [
     ./linkage-rwx-linux-elf.patch
diff --git a/pkgs/misc/emulators/zsnes/default.nix b/pkgs/misc/emulators/zsnes/default.nix
index 1ea8d7e68d3c..55fe49895c9f 100644
--- a/pkgs/misc/emulators/zsnes/default.nix
+++ b/pkgs/misc/emulators/zsnes/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchFromGitHub, nasm, SDL, zlib, libpng, ncurses, libGLU_combined
+{stdenv, fetchFromGitHub, nasm, SDL, zlib, libpng, ncurses, libGLU, libGL
 , makeDesktopItem }:
 
 let
@@ -22,7 +22,7 @@ in stdenv.mkDerivation {
     sha256 = "1gy79d5wdaacph0cc1amw7mqm7i0716n6mvav16p1svi26iz193v";
   };
 
-  buildInputs = [ nasm SDL zlib libpng ncurses libGLU_combined ];
+  buildInputs = [ nasm SDL zlib libpng ncurses libGLU libGL ];
 
   prePatch = ''
     for i in $(cat debian/patches/series); do
diff --git a/pkgs/misc/gnash/default.nix b/pkgs/misc/gnash/default.nix
index e866a1937d69..cfc0c3f7301a 100644
--- a/pkgs/misc/gnash/default.nix
+++ b/pkgs/misc/gnash/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, autoreconfHook
+{ stdenv, fetchgit, fetchpatch, autoreconfHook
 , pkgconfig, libtool, boost, SDL
 , glib, pango, gettext, curl, xorg
 , libpng, libjpeg, giflib, speex, atk
@@ -6,7 +6,9 @@
 # renderers
 , enableAGG    ? true,  agg   ? null
 , enableCairo  ? false, cairo ? null
-, enableOpenGL ? false, libGLU_combined  ? null
+, enableOpenGL ? false
+, libGLU ? null
+, libGL  ? null
 
 # GUI toolkits
 , enableGTK ? true,  gtk2 ? null, gnome2 ? null
@@ -45,7 +47,7 @@ in
 # renderers
 assert enableAGG    -> available agg;
 assert enableCairo  -> available cairo;
-assert enableOpenGL -> available libGLU_combined;
+assert enableOpenGL -> all available [ libGLU libGL ];
 
 # GUI toolkits
 assert enableGTK -> all available [ gtk2 gnome2.gtkglext gnome2.GConf ];
@@ -57,7 +59,7 @@ assert enableFFmpeg    -> available ffmpeg_2 ;
 
 # misc
 assert enableJemalloc -> available jemalloc;
-assert enableHwAccel  -> available libGLU_combined;
+assert enableHwAccel  -> all available [ libGLU libGL ];
 assert enablePlugins  -> all available [ xulrunner npapi_sdk ];
 
 assert length toolkits  == 0 -> throw "at least one GUI toolkit must be enabled";
@@ -85,14 +87,21 @@ stdenv.mkDerivation {
     libpng libjpeg giflib pango atk
   ] ++ optional  enableAGG       agg
     ++ optional  enableCairo     cairo
-    ++ optional  enableOpenGL    libGLU_combined
     ++ optional  enableQt        qt4
     ++ optional  enableFFmpeg    ffmpeg_2
     ++ optional  enableJemalloc  jemalloc
-    ++ optional  enableHwAccel   libGLU_combined
+    ++ optional  enableHwAccel   [ libGL libGLU ]
+    ++ optionals enableOpenGL    [ libGL libGLU ]
     ++ optionals enablePlugins   [ xulrunner npapi_sdk ]
     ++ optionals enableGTK       [ gtk2 gnome2.gtkglext gnome2.GConf ];
 
+  patches = [
+    (fetchpatch { # fix compilation due to bad detection of libgif version: https://savannah.gnu.org/patch/index.php?9873
+      url = "https://savannah.gnu.org/patch/download.php?file_id=47859";
+      sha256 = "0aimayzgi5065gkcfcr8d5lkd9c0471q7dqmln42hjzq847n6d5y";
+    })
+  ];
+
   configureFlags = with stdenv.lib; [
     "--with-boost-incl=${boost.dev}/include"
     "--with-boost-lib=${boost.out}/lib"
diff --git a/pkgs/misc/jackaudio/default.nix b/pkgs/misc/jackaudio/default.nix
index 6ca09c9516b2..f6eaa553bb26 100644
--- a/pkgs/misc/jackaudio/default.nix
+++ b/pkgs/misc/jackaudio/default.nix
@@ -1,5 +1,4 @@
-{ stdenv, fetchFromGitHub, pkgconfig, python2Packages, makeWrapper
-, fetchpatch
+{ stdenv, fetchFromGitHub, pkgconfig, python3Packages, makeWrapper
 , bash, libsamplerate, libsndfile, readline, eigen, celt
 , wafHook
 # Darwin Dependencies
@@ -15,7 +14,7 @@
 
 with stdenv.lib;
 let
-  inherit (python2Packages) python dbus-python;
+  inherit (python3Packages) python dbus-python;
   shouldUsePkg = pkg: if pkg != null && stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) pkg.meta.platforms then pkg else null;
 
   libOnly = prefix == "lib";
@@ -28,13 +27,13 @@ let
 in
 stdenv.mkDerivation rec {
   name = "${prefix}jack2-${version}";
-  version = "1.9.13";
+  version = "1.9.14";
 
   src = fetchFromGitHub {
     owner = "jackaudio";
     repo = "jack2";
     rev = "v${version}";
-    sha256 = "1dnq75ylcv3npsyvzzkj0g8mdnzwis1whc2pk6s5hkcc1bgvv2xy";
+    sha256 = "1prxg1l8wrxfp2mh7l4mvjvmml6816fciq1la88ylhwm1qnfvnax";
   };
 
   nativeBuildInputs = [ pkgconfig python makeWrapper wafHook ];
@@ -65,7 +64,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "JACK audio connection kit, version 2 with jackdbus";
-    homepage = http://jackaudio.org;
+    homepage = https://jackaudio.org;
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ goibhniu ];
diff --git a/pkgs/misc/jackaudio/jack1.nix b/pkgs/misc/jackaudio/jack1.nix
index cb487677881a..39c0d7d50c78 100644
--- a/pkgs/misc/jackaudio/jack1.nix
+++ b/pkgs/misc/jackaudio/jack1.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   version = "0.125.0";
 
   src = fetchurl {
-    url = "http://jackaudio.org/downloads/jack-audio-connection-kit-${version}.tar.gz";
+    url = "https://jackaudio.org/downloads/jack-audio-connection-kit-${version}.tar.gz";
     sha256 = "0i6l25dmfk2ji2lrakqq9icnwjxklgcjzzk65dmsff91z2zva5rm";
   };
 
@@ -32,8 +32,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "JACK audio connection kit";
-    homepage = http://jackaudio.org;
-    license = "GPL";
+    homepage = https://jackaudio.org;
+    license = with licenses; [ gpl2 lgpl21 ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/misc/screensavers/electricsheep/default.nix b/pkgs/misc/screensavers/electricsheep/default.nix
index b1c2ec5c3bda..b36f8bf98def 100644
--- a/pkgs/misc/screensavers/electricsheep/default.nix
+++ b/pkgs/misc/screensavers/electricsheep/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, autoreconfHook, wxGTK30, libav, lua5_1, curl
-, libpng, xorg, pkgconfig, flam3, libgtop, boost, tinyxml, freeglut, libGLU_combined
+, libpng, xorg, pkgconfig, flam3, libgtop, boost, tinyxml, freeglut, libGLU, libGL
 , glee }:
 
 stdenv.mkDerivation rec {
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     wxGTK30 libav lua5_1 curl libpng xorg.libXrender
-    flam3 libgtop boost tinyxml freeglut libGLU_combined glee
+    flam3 libgtop boost tinyxml freeglut libGLU libGL glee
   ];
 
   preAutoreconf = ''
diff --git a/pkgs/misc/screensavers/rss-glx/default.nix b/pkgs/misc/screensavers/rss-glx/default.nix
index 7f6d99297ab1..467f762de86c 100644
--- a/pkgs/misc/screensavers/rss-glx/default.nix
+++ b/pkgs/misc/screensavers/rss-glx/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, pkgconfig, xlibsWrapper, libXext, libGLU_combined, imagemagick, libtiff, bzip2}:
+{stdenv, fetchurl, pkgconfig, xlibsWrapper, libXext, libGLU, libGL, imagemagick, libtiff, bzip2}:
 
 stdenv.mkDerivation rec {
   version = "0.9.1";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libGLU_combined xlibsWrapper imagemagick libtiff bzip2 ];
+  buildInputs = [ libGLU libGL xlibsWrapper imagemagick libtiff bzip2 ];
 
   NIX_CFLAGS_COMPILE = "-I${imagemagick.dev}/include/ImageMagick";
   NIX_LDFLAGS= "-rpath ${libXext}/lib";
diff --git a/pkgs/misc/screensavers/xscreensaver/default.nix b/pkgs/misc/screensavers/xscreensaver/default.nix
index 39706bb96edf..1937874a49cb 100644
--- a/pkgs/misc/screensavers/xscreensaver/default.nix
+++ b/pkgs/misc/screensavers/xscreensaver/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, bc, perl, perlPackages, pam, libXext, libXScrnSaver, libX11
-, libXrandr, libXmu, libXxf86vm, libXrender, libXxf86misc, libjpeg, libGLU_combined, gtk2
+, libXrandr, libXmu, libXxf86vm, libXrender, libXxf86misc, libjpeg, libGLU, libGL, gtk2
 , libxml2, libglade, intltool, xorg, makeWrapper, gle
 , forceInstallAllHacks ? false
 }:
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ pkgconfig bc perl libjpeg libGLU_combined gtk2 libxml2 libglade pam
+    [ pkgconfig bc perl libjpeg libGLU libGL gtk2 libxml2 libglade pam
       libXext libXScrnSaver libX11 libXrandr libXmu libXxf86vm libXrender
       libXxf86misc intltool xorg.appres makeWrapper gle
     ];
diff --git a/pkgs/misc/tmux-plugins/default.nix b/pkgs/misc/tmux-plugins/default.nix
index 5aeec7cf13b1..4b93ec8dff9d 100644
--- a/pkgs/misc/tmux-plugins/default.nix
+++ b/pkgs/misc/tmux-plugins/default.nix
@@ -25,7 +25,7 @@ let
     addonInfo ? null,
     preInstall ? "",
     postInstall ? "",
-    path ? (builtins.parseDrvName pluginName).name,
+    path ? lib.getName pluginName,
     dependencies ? [],
     ...
   }:
@@ -187,6 +187,19 @@ in rec {
     };
   };
 
+  plumb = mkDerivation {
+    pluginName = "plumb";
+    src = fetchFromGitHub {
+      owner = "eraserhd";
+      repo = "tmux-plumb";
+      rev = "v0.1.1";
+      sha256 = "1c6k4fdl0az9811r6k164mgd4w5la75xr6x7nabmy046xc0z5i2r";
+    };
+    postInstall = ''
+      sed -i -e 's,9 plumb,${pkgs.plan9port}/bin/9 plumb,' $target/scripts/plumb
+    '';
+  };
+
   prefix-highlight = mkDerivation {
     pluginName = "prefix-highlight";
     src = fetchgit {
diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix
index ffe576c31d81..0c30e76b3fa9 100644
--- a/pkgs/misc/uboot/default.nix
+++ b/pkgs/misc/uboot/default.nix
@@ -4,24 +4,27 @@
 }:
 
 let
-  buildUBoot = { version ? "2019.10"
-            , filesToInstall
-            , installDir ? "$out"
-            , defconfig
-            , extraConfig ? ""
-            , extraPatches ? []
-            , extraMakeFlags ? []
-            , extraMeta ? {}
-            , ... } @ args:
-           stdenv.mkDerivation ({
-
+  defaultVersion = "2019.10";
+  defaultSrc = fetchurl {
+    url = "ftp://ftp.denx.de/pub/u-boot/u-boot-${defaultVersion}.tar.bz2";
+    sha256 = "053hcrwwlacqh2niisn0zas95zkbffw5aw5sdhixs8lmfdq60vcd";
+  };
+  buildUBoot = {
+    version ? null
+  , src ? null
+  , filesToInstall
+  , installDir ? "$out"
+  , defconfig
+  , extraConfig ? ""
+  , extraPatches ? []
+  , extraMakeFlags ? []
+  , extraMeta ? {}
+  , ... } @ args: stdenv.mkDerivation ({
     pname = "uboot-${defconfig}";
-    inherit version;
 
-    src = fetchurl {
-      url = "ftp://ftp.denx.de/pub/u-boot/u-boot-${version}.tar.bz2";
-      sha256 = "053hcrwwlacqh2niisn0zas95zkbffw5aw5sdhixs8lmfdq60vcd";
-    };
+    version = if src == null then defaultVersion else version;
+
+    src = if src == null then defaultSrc else src;
 
     patches = [
       (fetchpatch {
@@ -90,15 +93,12 @@ in {
   inherit buildUBoot;
 
   ubootTools = buildUBoot {
-    defconfig = "allnoconfig";
+    defconfig = "tools-only_defconfig";
     installDir = "$out/bin";
     hardeningDisable = [];
     dontStrip = false;
     extraMeta.platforms = lib.platforms.linux;
     extraMakeFlags = [ "HOST_TOOLS_ALL=y" "CROSS_BUILD_TOOLS=1" "NO_SDL=1" "tools" ];
-    postConfigure = ''
-      sed -i '/CONFIG_SYS_TEXT_BASE/c\CONFIG_SYS_TEXT_BASE=0x00000000' .config
-    '';
     filesToInstall = [
       "tools/dumpimage"
       "tools/fdtgrep"
diff --git a/pkgs/misc/vim-plugins/build-vim-plugin.nix b/pkgs/misc/vim-plugins/build-vim-plugin.nix
index b797f49df9e0..4ca99b09af50 100644
--- a/pkgs/misc/vim-plugins/build-vim-plugin.nix
+++ b/pkgs/misc/vim-plugins/build-vim-plugin.nix
@@ -18,7 +18,7 @@ rec {
     buildPhase ? "",
     preInstall ? "",
     postInstall ? "",
-    path ? (builtins.parseDrvName name).name,
+    path ? stdenv.lib.getName name,
     addonInfo ? null,
     ...
   }:
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index 9bcc6c008b84..77ad13c2c00c 100644
--- a/pkgs/misc/vim-plugins/generated.nix
+++ b/pkgs/misc/vim-plugins/generated.nix
@@ -50,23 +50,23 @@ let
 
   alchemist-vim = buildVimPluginFrom2Nix {
     pname = "alchemist-vim";
-    version = "2019-11-06";
+    version = "2019-11-27";
     src = fetchFromGitHub {
       owner = "slashmili";
       repo = "alchemist.vim";
-      rev = "8b6ea7b1314bb3b47b115c04484b7af3c483f5b8";
-      sha256 = "0jfwcd426hd9pb2dyq1949g8k8g1hhkc55k1kbp30r42m116p1qh";
+      rev = "911eda990ef259d1f035061c5dfb2f44adb2697e";
+      sha256 = "04lm3k6svq4y2a7kqq5phzyny93ynnjdmsv2s98pw6c4z5fq5y1m";
     };
   };
 
   ale = buildVimPluginFrom2Nix {
     pname = "ale";
-    version = "2019-11-07";
+    version = "2019-11-27";
     src = fetchFromGitHub {
       owner = "w0rp";
       repo = "ale";
-      rev = "db6b1b5ecc17558f87f55b159f90ebf36677b6b3";
-      sha256 = "1sm6s0zn3gdm3bjp912ydqzskynzi2rw9v8q80g8p277c9vil28q";
+      rev = "d8195e9276c27caabf173a268450a3420b53181a";
+      sha256 = "0fdy4kvd7bg3xcls5g2xxml8hlwb80qvs9225dh2hqif0isbf4l2";
     };
   };
 
@@ -149,12 +149,12 @@ let
 
   awesome-vim-colorschemes = buildVimPluginFrom2Nix {
     pname = "awesome-vim-colorschemes";
-    version = "2019-11-05";
+    version = "2019-11-23";
     src = fetchFromGitHub {
       owner = "rafi";
       repo = "awesome-vim-colorschemes";
-      rev = "c6962f051a0dff9c8d1390efea807a7440c9c0d4";
-      sha256 = "1f5qq4l6mx7na008d5w6hji93w57vk26w78l4mp66wl790jcw4ky";
+      rev = "b5037cbf87ee4b0beed91adb33c339122e58326f";
+      sha256 = "1yxjdb2cmha6vqhmsv8vy80whs201wwwx0xmyp76mz9zkcsyljak";
     };
   };
 
@@ -204,12 +204,12 @@ let
 
   calendar-vim = buildVimPluginFrom2Nix {
     pname = "calendar-vim";
-    version = "2019-11-04";
+    version = "2019-11-29";
     src = fetchFromGitHub {
       owner = "itchyny";
       repo = "calendar.vim";
-      rev = "644f88b9ddb17ef04c4558e945d1995aab400a96";
-      sha256 = "0wbj61q3qyk432wzci8q8pjw2qrl7kv4cxjlxrdcv15w45b8wskk";
+      rev = "ff2149d6f022ffdd51c1fa5dbf9b653800f2298b";
+      sha256 = "1396p6hvv9dyi91n9y7h5ik4l44xfr9xqhah0mbcg4v7dghrdsdx";
     };
   };
 
@@ -336,12 +336,12 @@ let
 
   coc-go = buildVimPluginFrom2Nix {
     pname = "coc-go";
-    version = "2019-10-29";
+    version = "2019-11-27";
     src = fetchFromGitHub {
       owner = "josa42";
       repo = "coc-go";
-      rev = "0f395b22aee6f99ba3cfc07d3faaf13edcb1ca96";
-      sha256 = "118nqx3k7frxvx0cz8w6k6sx905200aym2lqh0qajkg5m288vl75";
+      rev = "82b66de274b0405fad8affcc21fcfec62655c266";
+      sha256 = "0mfh1xscs1jn2fmzsq4cz57slicyvri83h1f7i3fwlmm1jw6l2nd";
     };
   };
 
@@ -413,12 +413,12 @@ let
 
   coc-lists = buildVimPluginFrom2Nix {
     pname = "coc-lists";
-    version = "2019-11-07";
+    version = "2019-11-25";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-lists";
-      rev = "f1cb662a5d23f792c6920f122d200731a77150b9";
-      sha256 = "1j5n859fyi7wvyqhqvcd81y2h7qiddwqfz3kqx3ri0br0j4hvwc4";
+      rev = "c3d8bca71ba4cbf6eefdd24e77e62b595dcff856";
+      sha256 = "0djmzw782m8vy3sfff3gnnib4iz3wilvjv4hagv7mhzcf2lzswsb";
     };
   };
 
@@ -446,23 +446,23 @@ let
 
   coc-prettier = buildVimPluginFrom2Nix {
     pname = "coc-prettier";
-    version = "2019-10-06";
+    version = "2019-11-28";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-prettier";
-      rev = "198fff4227cbc2742ed6167c1f097826e867d66d";
-      sha256 = "1ylwcr8l3bhgxb2zkqskkq97757di6vq7acxw6dd1hb5hk5a17kc";
+      rev = "5304a1087e454bb9da7d58e383837f4c3e356e6a";
+      sha256 = "1vbyr1cxckdgxns86aknckhgqzp8x0kkk77y0c8my1qinhrmj8cl";
     };
   };
 
   coc-python = buildVimPluginFrom2Nix {
     pname = "coc-python";
-    version = "2019-11-07";
+    version = "2019-11-26";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-python";
-      rev = "01cf6f3833d44fb83c38655b496212625329c90b";
-      sha256 = "0vn9fjhhlgciv7kwda4hn2lg7fisxgdsg47sbqz75qirnixw8mjv";
+      rev = "714ae8de45ab756d5b65f0be0b616153220b9257";
+      sha256 = "17gb0xbvczkqxzs2abknr460v0rcvgsi0m7pc4v0waggr690z53l";
     };
   };
 
@@ -479,12 +479,12 @@ let
 
   coc-rls = buildVimPluginFrom2Nix {
     pname = "coc-rls";
-    version = "2019-10-28";
+    version = "2019-11-23";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-rls";
-      rev = "1e8610b2642232185b7e020651423d11001b7546";
-      sha256 = "18d2pxmifyacg7gki99bja7gjs7ycprsm3p6p7snf3dx3g5r4pqq";
+      rev = "1c7df237f76a50f25e8bbe3d8bec897991ca86b2";
+      sha256 = "0q9i1lz4id9c3d4lch3fxkh8qg9v59vh3kin9h2qdnp3xwgfcvjr";
     };
   };
 
@@ -567,12 +567,12 @@ let
 
   coc-tsserver = buildVimPluginFrom2Nix {
     pname = "coc-tsserver";
-    version = "2019-11-13";
+    version = "2019-11-23";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-tsserver";
-      rev = "3d537937a6ce74cdf08d3109dc14af9baeff9af7";
-      sha256 = "1nfnlirdb91x835hk2h30vnjc940mnw94p2wgp28p80mcbrk4s4v";
+      rev = "4f493d6c35bfef71ec21e8db648bcabda5f9ad21";
+      sha256 = "1n1b9ss5cjmn5vazfmy97x88s4nqw6f2mwvnqbnvx3cjrpwvyjy6";
     };
   };
 
@@ -622,12 +622,12 @@ let
 
   coc-yank = buildVimPluginFrom2Nix {
     pname = "coc-yank";
-    version = "2019-10-28";
+    version = "2019-11-23";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc-yank";
-      rev = "636c8a3ff0fb4a950b72c626bf2075c20f7c0086";
-      sha256 = "1wz8vp558v3l1c4d3igz55iv673ypapjapyy9q3fcxya8b3qs09y";
+      rev = "1d145660c81cf4f160965feb12ea69129d1cce3e";
+      sha256 = "1sdpkr1rkvqaiixiddd5a0095di071nxr2gvnikb4pnzrknacngk";
     };
   };
 
@@ -788,23 +788,23 @@ let
 
   dart-vim-plugin = buildVimPluginFrom2Nix {
     pname = "dart-vim-plugin";
-    version = "2019-09-24";
+    version = "2019-11-28";
     src = fetchFromGitHub {
       owner = "dart-lang";
       repo = "dart-vim-plugin";
-      rev = "f8486e58fb02351689ae247cebf28b5fee326c33";
-      sha256 = "038zx5zn4da73ps5klixcwh64z6rivfp78l2lvaj5d1vjqh1ac83";
+      rev = "1dca4e12299e26bf4277992fd9b8b22bcc2f4e56";
+      sha256 = "11zjcp48c7n13pqmwg1s6fk8i0z2iyv5nmyl642xxdyg0h43v5hf";
     };
   };
 
   defx-nvim = buildVimPluginFrom2Nix {
     pname = "defx-nvim";
-    version = "2019-10-27";
+    version = "2019-11-28";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "defx.nvim";
-      rev = "0a42be58745b2b0a19f6d59ca6238d1dfc96a07b";
-      sha256 = "0hm3i66fni89khv8ik8xs36x5485yc2i0mn5fkhjl61ip417b13y";
+      rev = "4dc152ac826a825b69741cc79681a257e24497dc";
+      sha256 = "1j9hgz76x554wzdz9ss14c94pwp2fk7yplznhyxamndn9wcy8yiv";
     };
   };
 
@@ -843,23 +843,23 @@ let
 
   denite-nvim = buildVimPluginFrom2Nix {
     pname = "denite-nvim";
-    version = "2019-11-11";
+    version = "2019-11-27";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "denite.nvim";
-      rev = "671da21f020445cf86836b5387000e0826f1b16e";
-      sha256 = "166kkkpvbrlyyn70vr0n5vrwrnk4rvwfvqfcw1hy0lx2wx7jal10";
+      rev = "41aa8302dc5ae8b27370bfcbf1124559c2f953de";
+      sha256 = "1bbnz9d8qayrr40kxikcgjv28y109b0ksys9pnb27l9az8sx64bz";
     };
   };
 
   deol-nvim = buildVimPluginFrom2Nix {
     pname = "deol-nvim";
-    version = "2019-09-08";
+    version = "2019-11-27";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deol.nvim";
-      rev = "474b72a8541e529a1628084c277e6e0aa7f80fda";
-      sha256 = "00kwij67csk9yp64r8lfrc9m0jm5mqckf4c9a3489azfjn8da097";
+      rev = "856041638e98fc3bf4d4de5d90dee525f3dfa9a5";
+      sha256 = "1y6kp56n26kabmp60nnyaw46yxv9nqv5bp15hzvfpwvzq7gvpm10";
     };
   };
 
@@ -934,12 +934,12 @@ let
 
   deoplete-lsp = buildVimPluginFrom2Nix {
     pname = "deoplete-lsp";
-    version = "2019-09-20";
+    version = "2019-11-25";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deoplete-lsp";
-      rev = "335e8a03d5741aa42bd7ce64d79e31d7de570ab5";
-      sha256 = "0jn4fn9vkxf3av6mdmzixz20l9ca8n2sql7j9mcmh06mn86949bs";
+      rev = "37a307b1b4e922df0ff2695658602f1c34973db6";
+      sha256 = "10rdk35bljzi705b2760n7f4hlsikaz366a62wsh09npbw63sdzb";
     };
   };
 
@@ -967,23 +967,23 @@ let
 
   deoplete-ternjs = buildVimPluginFrom2Nix {
     pname = "deoplete-ternjs";
-    version = "2019-09-22";
+    version = "2019-11-22";
     src = fetchFromGitHub {
       owner = "carlitux";
       repo = "deoplete-ternjs";
-      rev = "307f9c3beb178026d122d9ab3825e4640dd1c29a";
-      sha256 = "039qbcg9fanrs7dc52n987rhd0xdyvsmjdrfd1dcrr6ys990n64d";
+      rev = "ca0ee77276bc688f847b566d64b32e4bb62691d8";
+      sha256 = "0980fwr931dqyp032gcg4mwk2iv3inywa8w3m73zcr082xc0crp7";
     };
   };
 
   deoplete-nvim = buildVimPluginFrom2Nix {
     pname = "deoplete-nvim";
-    version = "2019-11-11";
+    version = "2019-11-26";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deoplete.nvim";
-      rev = "22db8b273c746bb228a8728f4dd3a5b934d709af";
-      sha256 = "0ajmpz2ibdb8jlg5z6vsb06fr2vahf8alzdrxw7kns4f7hs14ib7";
+      rev = "41ab306416a951be661622d7b0d174fe74f84f7e";
+      sha256 = "0sa6bzywlnpw4hrgnls0cs90ilykrbf9jblbq811di9d7rvn52zn";
     };
   };
 
@@ -1033,12 +1033,12 @@ let
 
   editorconfig-vim = buildVimPluginFrom2Nix {
     pname = "editorconfig-vim";
-    version = "2019-11-03";
+    version = "2019-11-28";
     src = fetchFromGitHub {
       owner = "editorconfig";
       repo = "editorconfig-vim";
-      rev = "5df91ecb9008666912c7ee15f95ebe5ff4265c23";
-      sha256 = "020ll1517z8hmmqcnif4kd579hwvxjf8m0m2x1lg2b9kzaid09d1";
+      rev = "2ad3d7882d2e9622a7fdc1a5ba1c5d0064d89472";
+      sha256 = "00cyvjzn2sr49fvjfsxv0rj7kmdr2m2xlcpqvnfamh6l19nagb35";
       fetchSubmodules = true;
     };
   };
@@ -1090,12 +1090,12 @@ let
 
   falcon = buildVimPluginFrom2Nix {
     pname = "falcon";
-    version = "2019-11-04";
+    version = "2019-11-29";
     src = fetchFromGitHub {
       owner = "fenetikm";
       repo = "falcon";
-      rev = "4f7c122c55aa8a4cfaedc6b12d3d2f26ce579250";
-      sha256 = "0qvdp5y4bhb5nim0va1a25xahc7698lxj63q7cx2w2papbia69pi";
+      rev = "4d34d3a44f7ee234460fcd8d543e5ba55b6b36e6";
+      sha256 = "0llck06cpjjlfi4ga420z64fq064n0ykb9hh6dygklnnvkhdgb92";
     };
   };
 
@@ -1201,34 +1201,34 @@ let
 
   fzf-vim = buildVimPluginFrom2Nix {
     pname = "fzf-vim";
-    version = "2019-11-01";
+    version = "2019-11-24";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "fzf.vim";
-      rev = "bce6588d2422df75ca0091edac48aa9f87f163e5";
-      sha256 = "1gpldyyqb1z38jqda098h0yw8frjb08lkqbkwxl064fd2wg2844g";
+      rev = "65edb6ad99b51514aaf29afc25e35ce5f05281ba";
+      sha256 = "1d40whzc21c4zbzssjwvhzddyb0a106ib8r4zzzdd61s1935z4xr";
     };
   };
 
   gentoo-syntax = buildVimPluginFrom2Nix {
     pname = "gentoo-syntax";
-    version = "2019-09-30";
+    version = "2019-11-27";
     src = fetchFromGitHub {
       owner = "gentoo";
       repo = "gentoo-syntax";
-      rev = "d09e3a3cf3b9c37b1cf0cd7e4952e24c46bfb9fe";
-      sha256 = "0d0brqssq4qrx0l0yr668jvq5zk5pxqfkr8d8acbds8a48afz6zf";
+      rev = "c7ab3c0f6efbe68e864273ad460ab06905930bd0";
+      sha256 = "1h46s31miyd3j8shmrs61phkljj7qp9bkclcx1l0yd4cppm3vi06";
     };
   };
 
   ghcid = buildVimPluginFrom2Nix {
     pname = "ghcid";
-    version = "2019-11-06";
+    version = "2019-11-25";
     src = fetchFromGitHub {
       owner = "ndmitchell";
       repo = "ghcid";
-      rev = "d73f77a98d20673926a586cc471e557887f4a5d4";
-      sha256 = "0kq2qzb5rrdav51jlhg6f8ib2zq6crfic9295jz0gryzc9hm4ynq";
+      rev = "bd77010189fa5f14f9e06a0f71bb2831b9d5b4a6";
+      sha256 = "0m1hxwri2imgjywrc9l1s8bnr38dbsfz8zxw228yknq392jpvlyk";
     };
   };
 
@@ -1311,12 +1311,12 @@ let
 
   gv-vim = buildVimPluginFrom2Nix {
     pname = "gv-vim";
-    version = "2019-10-13";
+    version = "2019-11-29";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "gv.vim";
-      rev = "7a84f6342cc79444e3fa873bf1d08fb6c53b097e";
-      sha256 = "0q5xz8iw3jg42kbaspmgd8mlcgl3xglcqh3fyd2jmmwhnfzp3f7r";
+      rev = "f12b8b80897c1214327e6075abc007ec6e55a691";
+      sha256 = "0fb0zsmpx1vbdfh3d04dpgy2gkd4wkdn05jflcpr5cyf50zr1z9y";
     };
   };
 
@@ -1421,12 +1421,12 @@ let
 
   intero-neovim = buildVimPluginFrom2Nix {
     pname = "intero-neovim";
-    version = "2018-08-07";
+    version = "2019-11-15";
     src = fetchFromGitHub {
       owner = "parsonsmatt";
       repo = "intero-neovim";
-      rev = "9bb546e37adc1ffda28ff33922c506c15ed67b10";
-      sha256 = "173kc8xrbmkhrc9ssaz6h5w1zisxsgz4bibihgj9bx60ibn4kaa7";
+      rev = "4ce2d154379f8c95b3819512a9b67ead5204ffd0";
+      sha256 = "1na61qb31z80973jfi7ziw2zv6y73rm0bpfb6iqxjppmg4iqgl3i";
     };
   };
 
@@ -1598,23 +1598,23 @@ let
 
   lh-brackets = buildVimPluginFrom2Nix {
     pname = "lh-brackets";
-    version = "2019-05-23";
+    version = "2019-11-26";
     src = fetchFromGitHub {
       owner = "LucHermitte";
       repo = "lh-brackets";
-      rev = "f3240c3782a97720e9a344b5bd5f6808e156722b";
-      sha256 = "1qyh58xxp6hh86bykk17934pgg72q7xfsngrhrrr3cxb8jpnmx7z";
+      rev = "441b2d3827158c1c1781e797dd5953fa2b7ba63f";
+      sha256 = "134lb5nnbkwlcgryd39n9dbqyqzadnfibk76m67pjk60sy4s64wk";
     };
   };
 
   lh-vim-lib = buildVimPluginFrom2Nix {
     pname = "lh-vim-lib";
-    version = "2019-09-30";
+    version = "2019-11-25";
     src = fetchFromGitHub {
       owner = "LucHermitte";
       repo = "lh-vim-lib";
-      rev = "3c041e1e98c207f260f9c0b2f323e724adf1fb6d";
-      sha256 = "063mvhip0pvnil2ip2nlwadn5g845k0v6r3p44zywlklgm5l62ss";
+      rev = "a150fd6af763f9ec1d0785f8a3ba350d8f27d908";
+      sha256 = "0l70gkzv279sv756yng7nq3m1pkw2bvjybl6xvjifm19rx8vmlsg";
     };
   };
 
@@ -1675,12 +1675,12 @@ let
 
   mattn-calendar-vim = buildVimPluginFrom2Nix {
     pname = "mattn-calendar-vim";
-    version = "2018-08-24";
+    version = "2019-11-24";
     src = fetchFromGitHub {
       owner = "mattn";
       repo = "calendar-vim";
-      rev = "867d0cd2d9388e7f1a88f5fe4da23461422fa8fb";
-      sha256 = "0f13wkvnjcv3awmahrkqw9f9hjdj8fq8wm10rs8jfmzad7w16dvk";
+      rev = "de499b9525490b10edbd28fb8f0c4e81c6a6f20c";
+      sha256 = "0xvvkq9zckmv9pnzvxg71fblly8lksfi736brbcwcvnszqif4b69";
     };
   };
 
@@ -1730,12 +1730,12 @@ let
 
   ncm2-jedi = buildVimPluginFrom2Nix {
     pname = "ncm2-jedi";
-    version = "2019-06-07";
+    version = "2019-11-19";
     src = fetchFromGitHub {
       owner = "ncm2";
       repo = "ncm2-jedi";
-      rev = "86744a7641ce11e22d01778c310e5015f85ef412";
-      sha256 = "16h17cqy76iwd9b3wsmmzjg6j465mjd5kjybmk6dilxmq07q24c9";
+      rev = "b28bf6d054051cc1c7a6b148323d3adb9baa4ed5";
+      sha256 = "07pq8akzvlb8hzksgxx1c50j09ia0xnszq1f83x75kqsjg5f6nhy";
     };
   };
 
@@ -1785,12 +1785,12 @@ let
 
   neco-look = buildVimPluginFrom2Nix {
     pname = "neco-look";
-    version = "2018-11-09";
+    version = "2019-11-19";
     src = fetchFromGitHub {
       owner = "ujihisa";
       repo = "neco-look";
-      rev = "8c3951acb93b72dda4572859928ef7b372485596";
-      sha256 = "1gd692yc1x3753rxg58hwc7nwmm4rjr03y1xaczy1qahq1bm9a40";
+      rev = "4d7f1fd7e406c302fba2a1358017c5a76d0f9fc1";
+      sha256 = "1brvzg15ni5j60wncpvxhs5k36wz83lhvfcnvja2l9yrngcgh6vr";
     };
   };
 
@@ -1807,12 +1807,12 @@ let
 
   neco-vim = buildVimPluginFrom2Nix {
     pname = "neco-vim";
-    version = "2019-11-10";
+    version = "2019-11-18";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neco-vim";
-      rev = "db12271232fdc29dbbd10edd0c45affa58d30ab8";
-      sha256 = "1gvl2kr05b4fp67y9df15xnkv3vxjg9pb7b9rbk3lg4cw6ky80hy";
+      rev = "5be295ef60f0e3234164ef822a7471389a7035c5";
+      sha256 = "1y73hyb82vs3wcbv02k9n4krvmyn1yhp1mh88jslhcniql2nnj2a";
     };
   };
 
@@ -1829,23 +1829,23 @@ let
 
   neodark-vim = buildVimPluginFrom2Nix {
     pname = "neodark-vim";
-    version = "2019-06-15";
+    version = "2019-11-15";
     src = fetchFromGitHub {
       owner = "KeitaNakamura";
       repo = "neodark.vim";
-      rev = "eeafb097ad5d9aa9db4ba43b8556306da9e3329f";
-      sha256 = "0n34980wdvxrgymnb0xgdy01mv201643xijr9czi0pf1hvfsbd70";
+      rev = "ab86163fed0a2c2b776aff463745e792fbed01d6";
+      sha256 = "0mv3vrqly1zgjy8knb87nhlhw4z2xyxzwfisqw6npi738xc612pz";
     };
   };
 
   neoformat = buildVimPluginFrom2Nix {
     pname = "neoformat";
-    version = "2019-10-07";
+    version = "2019-11-17";
     src = fetchFromGitHub {
       owner = "sbdchd";
       repo = "neoformat";
-      rev = "ec512eb8d8d66fa15bb7f5df2f500d117aa3ee0d";
-      sha256 = "0v2i0wwiyc5x9s3ff7qpddicf9i18hhmzffgkm0hfmnspln04vml";
+      rev = "33f7dfb231382998df77cf9fc8cef39778ec9449";
+      sha256 = "1784p1lbhndpa7nr9771jx6kbmfnfx9bvrrmin9hxskffs8vr1k5";
     };
   };
 
@@ -1862,12 +1862,12 @@ let
 
   neomake = buildVimPluginFrom2Nix {
     pname = "neomake";
-    version = "2019-11-08";
+    version = "2019-11-29";
     src = fetchFromGitHub {
       owner = "neomake";
       repo = "neomake";
-      rev = "4e5ee03c61fbabf3eb90b6b30d9acd4f3d4b3fdb";
-      sha256 = "13z45hsk99lcdfbinvbbwr1036fsakhp4dhlqd6dmq6fn3fw5y9w";
+      rev = "fb9765ec9d8e14e01ed3f55364b56c608271fb45";
+      sha256 = "02pqn7fjm4749qfbc13kz0bhf8azr7vhkzca8cq9imiwdpssvmjs";
     };
   };
 
@@ -1884,12 +1884,12 @@ let
 
   neosnippet-snippets = buildVimPluginFrom2Nix {
     pname = "neosnippet-snippets";
-    version = "2019-08-11";
+    version = "2019-11-25";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neosnippet-snippets";
-      rev = "f38f1732e4bb0643b3019b5b733a87f5f03ea348";
-      sha256 = "1brzryd2sc44xpkz4w4s78a8vmwddvzkqgiyiaygp45k87q2yp24";
+      rev = "7e300f1b986f46b217c26906ca4ee88629f18610";
+      sha256 = "121zqdmpz2dmgsc6zzvrbjhbc3ik5hbj069wh33laxvj74gsar6k";
     };
   };
 
@@ -1928,12 +1928,12 @@ let
 
   neovim-fuzzy = buildVimPluginFrom2Nix {
     pname = "neovim-fuzzy";
-    version = "2018-11-15";
+    version = "2019-11-14";
     src = fetchFromGitHub {
       owner = "cloudhead";
       repo = "neovim-fuzzy";
-      rev = "c177209678477d091ee4576e231c5b80b44514d0";
-      sha256 = "069phpy1p8dindi6whddsb9x5zyw1adzsnv7br7q955hf6x9bxxj";
+      rev = "53383395befafce802c902c21b54847074454491";
+      sha256 = "064qi6zv2hrzn91pvr31b9zj2q0k9vbkk5csdhw5y52q26p1gakq";
     };
   };
 
@@ -1961,23 +1961,23 @@ let
 
   nerdcommenter = buildVimPluginFrom2Nix {
     pname = "nerdcommenter";
-    version = "2019-10-05";
+    version = "2019-11-26";
     src = fetchFromGitHub {
       owner = "scrooloose";
       repo = "nerdcommenter";
-      rev = "92082862364cf5ec3eec79a025bbc7bc5165e05f";
-      sha256 = "0aqjc26l1m62jgj34difkkbbd0kam1sa6ldfwf2fbkxs3f5y63q8";
+      rev = "023cc20324c41059b5ce79edaef0ffeef8bf5923";
+      sha256 = "02459d88v2g8slrhajmaywwwanqifyrbrxg90vp7rrzx42f6p56r";
     };
   };
 
   nerdtree = buildVimPluginFrom2Nix {
     pname = "nerdtree";
-    version = "2019-10-22";
+    version = "2019-11-22";
     src = fetchFromGitHub {
       owner = "scrooloose";
       repo = "nerdtree";
-      rev = "fec3e57ad23e4c268d07181d6afb858925b647a1";
-      sha256 = "1s5rmzl2rlqgxms5gi8gj6nnk18qqfsz6r40kk84cgqkf0ip13xv";
+      rev = "82b1649f2e1c79ff17730fe0a3750bbec203dd29";
+      sha256 = "07viagjyd5bdnal7m6k0yschdnr2yxmxcg7zlgz7s7inn80blv79";
     };
   };
 
@@ -2060,12 +2060,12 @@ let
 
   nvim-yarp = buildVimPluginFrom2Nix {
     pname = "nvim-yarp";
-    version = "2019-10-13";
+    version = "2019-11-25";
     src = fetchFromGitHub {
       owner = "roxma";
       repo = "nvim-yarp";
-      rev = "81caad80107abb9c2f5159e02e2cd95876370bec";
-      sha256 = "01x1jx7wxpjkv09l9wx1ygsjqrdvfy47pxqgjzmnx4x126ji9gw2";
+      rev = "83c6f4e61aa73e2a53796ea6690fb7e5e64db50a";
+      sha256 = "0yswx77gwxsac4aw2hkx0krjz4jh7pj5bgpvshynj5dlp34ip0m0";
     };
   };
 
@@ -2104,12 +2104,12 @@ let
 
   open-browser-vim = buildVimPluginFrom2Nix {
     pname = "open-browser-vim";
-    version = "2018-11-29";
+    version = "2019-11-14";
     src = fetchFromGitHub {
       owner = "tyru";
       repo = "open-browser.vim";
-      rev = "b900ff9d39bb36891704bd0fe76737ee3a7ac2b9";
-      sha256 = "1sws0pzm13cgl7mf6938xjmh23hk02agf23zfx5rdb4d2lcn4ir3";
+      rev = "cd29e8c8db02cd7744728a8f77a829b967e5ff31";
+      sha256 = "0n1q76bcavkh1smk3l78ai7jh7qzn3sbpqcxs3pjf5za5j4c5i48";
     };
   };
 
@@ -2379,12 +2379,12 @@ let
 
   rust-vim = buildVimPluginFrom2Nix {
     pname = "rust-vim";
-    version = "2019-10-20";
+    version = "2019-11-28";
     src = fetchFromGitHub {
       owner = "rust-lang";
       repo = "rust.vim";
-      rev = "97fdc4e4975515d8e8a5a82380dd85628d59a005";
-      sha256 = "1ggnl9h0jqb3zf8n8vpvlizxb3fikmghwpj8d3xq3ny54wfjgx78";
+      rev = "b7176e7a1607bb17f2f57cb8b365042f5676b21b";
+      sha256 = "12i213ci5db4xiyqzwkd4i6mmxgq2j1ipjsn42mif3yp0cr1rvvv";
     };
   };
 
@@ -2401,12 +2401,12 @@ let
 
   semshi = buildVimPluginFrom2Nix {
     pname = "semshi";
-    version = "2019-10-01";
+    version = "2019-11-27";
     src = fetchFromGitHub {
       owner = "numirias";
       repo = "semshi";
-      rev = "b50f1bcc48bb944704c586b462a5e9d5cdf0d532";
-      sha256 = "1f2wqqhnfyicx8dgna6lcsa3pl5bxbjqf261rz9phxw649rsa9a4";
+      rev = "816b8d22adf59260f4355aab31c1cdc99db8f438";
+      sha256 = "01s46f0gclbz3v73z75zmcy7xh9xvzjn067xiyhbf7m6jlzic0aq";
     };
   };
 
@@ -2566,12 +2566,12 @@ let
 
   syntastic = buildVimPluginFrom2Nix {
     pname = "syntastic";
-    version = "2019-10-23";
+    version = "2019-11-20";
     src = fetchFromGitHub {
       owner = "scrooloose";
       repo = "syntastic";
-      rev = "28bb72adbe5c610bdc07407ddb83898919e4645c";
-      sha256 = "1hhpd01vc9377fvqdh30pqack0i0sxxz2qdzz2i6x4snabga2zqj";
+      rev = "39b35b23b952d620b8ec7cabb13110f586663837";
+      sha256 = "1nc3019c969ms6m0hrj5k1kggcvsywn6j7kz0scdwzvfd6bcla6h";
     };
   };
 
@@ -2721,12 +2721,12 @@ let
 
   traces-vim = buildVimPluginFrom2Nix {
     pname = "traces-vim";
-    version = "2019-10-09";
+    version = "2019-11-15";
     src = fetchFromGitHub {
       owner = "markonm";
       repo = "traces.vim";
-      rev = "6863fcdce850673b4468c43244d189ade3f99a8f";
-      sha256 = "0sq5cmsng2lid3dlfhcyagpzsjw1abp43wl3clm3bc5f3944lx5r";
+      rev = "393b3d0d55b951ad8d28f63f0e28c48e25ff48e4";
+      sha256 = "1hwn530p6zcjhk2lcmiqgrahxmp9hkwbzjbz4vnqdf1j6w9aqrwp";
     };
   };
 
@@ -2765,12 +2765,12 @@ let
 
   ultisnips = buildVimPluginFrom2Nix {
     pname = "ultisnips";
-    version = "2019-11-12";
+    version = "2019-11-19";
     src = fetchFromGitHub {
       owner = "SirVer";
       repo = "ultisnips";
-      rev = "298f4c255dd7048a99d968d91fc001b6e2203e65";
-      sha256 = "0kdld6w8ic1skl37kl7hxlgr8xrcmgspmcvrq5k1c9c6z1pmra5m";
+      rev = "c309637e0243b71f7e3265ebe3cffdfe9674cfbc";
+      sha256 = "1q2miwd56k2l7lfwmw3khqnfry9izaca91dcf32p0xp06bc3ah28";
     };
   };
 
@@ -3084,23 +3084,23 @@ let
 
   vim-airline = buildVimPluginFrom2Nix {
     pname = "vim-airline";
-    version = "2019-11-10";
+    version = "2019-11-29";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "e4e4ba3c7b6f510ae10be2dfcac83e12afbd26e9";
-      sha256 = "0rwp8rwgb72wblrh3l6k7166da6pknvmyvx03fz53qmpxhsvhyhl";
+      rev = "ce932f3825f59258f814d4b66174283875348a95";
+      sha256 = "0mwvmxy5x03crp7nkbnjl9h6gmjwlhwiw8i62x95nl8yf5zi8gdl";
     };
   };
 
   vim-airline-themes = buildVimPluginFrom2Nix {
     pname = "vim-airline-themes";
-    version = "2019-10-31";
+    version = "2019-11-27";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline-themes";
-      rev = "650701f08fa49abca607f5a69ddf0a8157bcd8cf";
-      sha256 = "0kk21x1g27gsy29ikfh8iayjgnm7vs2zllgwglqfjmlqvkqajmr0";
+      rev = "f4ba787e9c5455a6a88c6d04e61b189826375763";
+      sha256 = "1w15r4c7qwlbjjc5mbdcmg4qv4skw9n5qcn543zmiws8hxfqhf6m";
     };
   };
 
@@ -3271,12 +3271,12 @@ let
 
   vim-codefmt = buildVimPluginFrom2Nix {
     pname = "vim-codefmt";
-    version = "2019-08-14";
+    version = "2019-11-20";
     src = fetchFromGitHub {
       owner = "google";
       repo = "vim-codefmt";
-      rev = "18f47c3ac563b60f71103b1e1d29b349ff9d8549";
-      sha256 = "0z36jjj1bxb4xz9lyjrbv769797g3x475ncamflfj6yj72vvhfy4";
+      rev = "dae6dd82a98eda68af83a1f725cc570ef3b1ae7d";
+      sha256 = "0w2djjs29dgd5jcfglvgb4mb60vb1bj34mxzbx2sidp3lb15xn4y";
     };
   };
 
@@ -3337,23 +3337,23 @@ let
 
   vim-commentary = buildVimPluginFrom2Nix {
     pname = "vim-commentary";
-    version = "2019-11-12";
+    version = "2019-11-18";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-commentary";
-      rev = "3e5d04ddbc156288fd4c114f4a802da117fd0f26";
-      sha256 = "0f2q20699a0jiq3rm3jrsshjg3k3l0g115501iyn57d2yw60cggn";
+      rev = "f8238d70f873969fb41bf6a6b07ca63a4c0b82b1";
+      sha256 = "09d81q9na7pvvrmxxqy09ffdzsx5v5dikinb704c9wm4ys2bidr9";
     };
   };
 
   vim-cpp-enhanced-highlight = buildVimPluginFrom2Nix {
     pname = "vim-cpp-enhanced-highlight";
-    version = "2019-07-01";
+    version = "2019-11-14";
     src = fetchFromGitHub {
       owner = "octol";
       repo = "vim-cpp-enhanced-highlight";
-      rev = "da1d86aaf42bd4e52272b5a2f62b098c3986c048";
-      sha256 = "02cz8av85pjxpl9ggiy0y0z3gnjvd6ng1pafzv0c64xharg9l5aq";
+      rev = "27e0ffc215b81fa5aa87eca396acd4421d36c060";
+      sha256 = "15nyd4yssswyi4brkch09rca0qh7p77li4xyrivmiapkr4a60vwb";
     };
   };
 
@@ -3436,12 +3436,12 @@ let
 
   vim-dirvish = buildVimPluginFrom2Nix {
     pname = "vim-dirvish";
-    version = "2019-11-06";
+    version = "2019-11-16";
     src = fetchFromGitHub {
       owner = "justinmk";
       repo = "vim-dirvish";
-      rev = "fec6464f187aa2db8e90e0f32a81df781acea249";
-      sha256 = "08a08a40krz6yl56snh1392lkklgdhklfr10jshyhvqis4rbpknr";
+      rev = "4d7b4d4e2db72e95ea03c6ef757b01cbc128179e";
+      sha256 = "0ab7ivgkfaji0yl6mcx03nmr304vmdwxwiw0an94fa6wbhk0y9yl";
     };
   };
 
@@ -3689,12 +3689,12 @@ let
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2019-11-08";
+    version = "2019-11-27";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "1e57d678bad1ffb7468e7dccc45401d1b096249a";
-      sha256 = "04k9bmqzlrx9pvkjs51znbbrqxy416k6jl7ffdp892hacgvr8cnj";
+      rev = "67efbf66e0fcfd25e617d22892a7e9768bfd0f92";
+      sha256 = "0ga8qi26yfc3k5ynw75ai4a9605s8x2pk9i9vb79hddciwh02ia1";
     };
   };
 
@@ -3733,12 +3733,12 @@ let
 
   vim-gitgutter = buildVimPluginFrom2Nix {
     pname = "vim-gitgutter";
-    version = "2019-10-24";
+    version = "2019-11-25";
     src = fetchFromGitHub {
       owner = "airblade";
       repo = "vim-gitgutter";
-      rev = "af20a9fcfff9b5277fc8482e802c4dec291ea589";
-      sha256 = "0jakfv1b1kc8mq1izj7bzd83d55z38igl7xl1c7n1vb9m2dy0nn3";
+      rev = "c31581c25b4896ccb6418137c70a3a3c37326c89";
+      sha256 = "1drjj5d50s3hsd8sh4cvh8ah785chi5fyzq5cy01vpxf8cfghljg";
     };
   };
 
@@ -3766,12 +3766,12 @@ let
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2019-11-12";
+    version = "2019-11-20";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "32f87164ba90fd011e9d751f4e9f57436c94139d";
-      sha256 = "0d52s8qankvc8kfy7sidv6ifws7nfiaph22hj27ysdfdg6ra5m7k";
+      rev = "d4a9cc72469927202fadf14600253a35240c993e";
+      sha256 = "061qzzldh796lagnk1blpkvx5f55rc8h7vgzgffxg9dhc73my5a3";
     };
   };
 
@@ -3788,12 +3788,12 @@ let
 
   vim-grepper = buildVimPluginFrom2Nix {
     pname = "vim-grepper";
-    version = "2019-10-09";
+    version = "2019-11-19";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-grepper";
-      rev = "8b783474b64fa01b813f9c4a24f240c7c3378726";
-      sha256 = "1mrqdg0hq4gvzng959dk6hbgh19sxzgg959i6k39c7phdd1f1fm9";
+      rev = "d8fa51d4fa99221511dc8b9e2eb1cba23a9b0c20";
+      sha256 = "1wb4g5g1phixqwpj9nd261f690ziimy80w12pjivrik20bj17ipd";
     };
   };
 
@@ -3953,12 +3953,12 @@ let
 
   vim-illuminate = buildVimPluginFrom2Nix {
     pname = "vim-illuminate";
-    version = "2019-08-04";
+    version = "2019-11-21";
     src = fetchFromGitHub {
       owner = "RRethy";
       repo = "vim-illuminate";
-      rev = "0c37ddf0dfbe069b9f2cf1d4a341efe7b373f133";
-      sha256 = "11zjm9a6x57s5rs080p1gcj86l01765ayn3k9yx6mx8d48n8zr3k";
+      rev = "4929d19cc8483d9d9872cb3669915e6a8cc381a2";
+      sha256 = "1rbhnmqrw8gdpf60lx4akhadz3q80fykal1a9c4mnn5nrqymv9va";
     };
   };
 
@@ -4041,12 +4041,12 @@ let
 
   vim-javacomplete2 = buildVimPluginFrom2Nix {
     pname = "vim-javacomplete2";
-    version = "2019-11-09";
+    version = "2019-11-16";
     src = fetchFromGitHub {
       owner = "artur-shaik";
       repo = "vim-javacomplete2";
-      rev = "251f324609d65ef291faacf9ad302a6bdee9beed";
-      sha256 = "0vr9r3pwbs6d0d3cmz1y3qsbci1kq6vh87ciyp5haisf4ramz5wm";
+      rev = "676fecd601e844bcd580aa806296dfe4de91a558";
+      sha256 = "0ff3d1wsx47i9mim22j81r43z3n2c30ljw0fjicy43vb74wss873";
     };
   };
 
@@ -4130,12 +4130,12 @@ let
 
   vim-jsx-pretty = buildVimPluginFrom2Nix {
     pname = "vim-jsx-pretty";
-    version = "2019-11-10";
+    version = "2019-11-19";
     src = fetchFromGitHub {
       owner = "MaxMEllon";
       repo = "vim-jsx-pretty";
-      rev = "b71fa1f62e4bd727eb603db1182a859088210225";
-      sha256 = "10p5b4shlcjc231ln8fz1qlwbsqmkpxyvdz8jf6j5nnp6k5drwym";
+      rev = "8b96cea873612b35ddfd7aef4b6c21f991103f0f";
+      sha256 = "18ilra7s29jl7k3nda2z3r7bvixk5b8bbfn9d3nvfz7l26n8s6i6";
     };
   };
 
@@ -4251,12 +4251,12 @@ let
 
   vim-lsc = buildVimPluginFrom2Nix {
     pname = "vim-lsc";
-    version = "2019-11-13";
+    version = "2019-11-15";
     src = fetchFromGitHub {
       owner = "natebosch";
       repo = "vim-lsc";
-      rev = "83bfdee86d1c5a6ba6e4ebdcfcca286bfd6c38f1";
-      sha256 = "1m38j7mdzh3r602462v0vq1mbfcyyc98g82zmc354hcm8nmyjn2g";
+      rev = "7fa6a2db67d27782fedab751129249ab20ab1105";
+      sha256 = "0lik69wyw7cpysck661pivcqiah6crw5isl5j5nfhhpf6mm7i5hg";
     };
   };
 
@@ -4339,12 +4339,12 @@ let
 
   vim-mucomplete = buildVimPluginFrom2Nix {
     pname = "vim-mucomplete";
-    version = "2019-09-30";
+    version = "2019-11-17";
     src = fetchFromGitHub {
       owner = "lifepillar";
       repo = "vim-mucomplete";
-      rev = "3a512e21a9c91cb61103734b8bb5dc776c1a3146";
-      sha256 = "1dh26qwsky12fhc8v9d6x841nhgbdnp2xgsrlnqak7cyiwmwp41g";
+      rev = "8964f852a5990c79c55571aef8d137a5e90c9e7c";
+      sha256 = "08mixa8frla5djcmka9sard4bzwjcrs3pb68si75mmrv9i9n0pd8";
     };
   };
 
@@ -4416,12 +4416,12 @@ let
 
   vim-obsession = buildVimPluginFrom2Nix {
     pname = "vim-obsession";
-    version = "2019-11-13";
+    version = "2019-11-16";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-obsession";
-      rev = "a794bba99644b959c47fe46f82d0b9e676386b2f";
-      sha256 = "11ds45kj3ckx67n5065vygc40bnwvamj9dyfpq9ir6a600xvv23i";
+      rev = "c44d3c432243d39469046f4e25d38a690e49c755";
+      sha256 = "0bvml6jcjd986ggx63sf9w4h852ivnshw6ilf6x2grfhnvsdgcgs";
     };
   };
 
@@ -4493,12 +4493,12 @@ let
 
   vim-pandoc = buildVimPluginFrom2Nix {
     pname = "vim-pandoc";
-    version = "2019-11-07";
+    version = "2019-11-22";
     src = fetchFromGitHub {
       owner = "vim-pandoc";
       repo = "vim-pandoc";
-      rev = "9275cdb54b55eda88f3f0066783ea72410ccf678";
-      sha256 = "0532bq9667dfz79fg4blrzc6d9y1cz2xr5h7jda3psrj27adrlxk";
+      rev = "524d05885d0fdd176d3da06fd2befff9a22353e2";
+      sha256 = "1ngsqyjcsav3k2dcr4anhdm5ycnlfiwykqx3v15ds3j2prsn9hkd";
     };
   };
 
@@ -4515,12 +4515,12 @@ let
 
   vim-pandoc-syntax = buildVimPluginFrom2Nix {
     pname = "vim-pandoc-syntax";
-    version = "2019-06-25";
+    version = "2019-11-14";
     src = fetchFromGitHub {
       owner = "vim-pandoc";
       repo = "vim-pandoc-syntax";
-      rev = "6710d46c8b772f77248f30d650c83f90c68f37ab";
-      sha256 = "1dir9h6s63lr10ffaxlpjar0xfmmjr3nhhgijsaa0vgnghc00r7x";
+      rev = "98a3051566690fcd779f540e9d4a81ccad667bd5";
+      sha256 = "0bvrkflryzb43xg5s9kiksk7nslgrqpybasz4grjv6lnmzis7x97";
     };
   };
 
@@ -4570,12 +4570,12 @@ let
 
   vim-pencil = buildVimPluginFrom2Nix {
     pname = "vim-pencil";
-    version = "2019-08-30";
+    version = "2019-11-22";
     src = fetchFromGitHub {
       owner = "reedes";
       repo = "vim-pencil";
-      rev = "4e0f08de173fcde5f3cb93da2c8129b1588e469a";
-      sha256 = "1vhqcd0gls9bys1anjlfyx4mh3rfkc076g6j9h1r4j09zn0bw1qn";
+      rev = "9aead49ecfd0640e07fdf30fb149dc7d072051eb";
+      sha256 = "189mqxsawdpb68vs9gpkh6flm00m3zhh744awwjd433dhyhz07fx";
     };
   };
 
@@ -4603,12 +4603,12 @@ let
 
   vim-polyglot = buildVimPluginFrom2Nix {
     pname = "vim-polyglot";
-    version = "2019-11-12";
+    version = "2019-11-28";
     src = fetchFromGitHub {
       owner = "sheerun";
       repo = "vim-polyglot";
-      rev = "0c79dd3e73e8e09b73d4a5d20bf470a3f6f715f2";
-      sha256 = "161j5mdcxqnib82dcvg4gmaxdh0f8zn621yssj0vjhfz8jl8lnrf";
+      rev = "15aeea662e0b08088ac7b6e3ee661c834e69106a";
+      sha256 = "1x7xx12hdydn37hb2k0awzv4s00sb7zk09jixr9mjfrh2x7ywf1c";
     };
   };
 
@@ -4669,12 +4669,12 @@ let
 
   vim-qml = buildVimPluginFrom2Nix {
     pname = "vim-qml";
-    version = "2018-07-22";
+    version = "2019-11-28";
     src = fetchFromGitHub {
       owner = "peterhoeg";
       repo = "vim-qml";
-      rev = "8af43da6950ce5483704bb97f5b24471d8ffda1a";
-      sha256 = "1y1xvbfr1ffxyyk3zzf50xn87a85i1zszj4fqlq5ka8zhgdrnhvc";
+      rev = "1af106ef8fcbd096fdadf6f4f3a2b422594836f5";
+      sha256 = "1703zqpaadjji34mmyfzmnwr9jvms63w12lwsrdnqv9h9ag03n7y";
     };
   };
 
@@ -4735,12 +4735,12 @@ let
 
   vim-rsi = buildVimPluginFrom2Nix {
     pname = "vim-rsi";
-    version = "2019-11-13";
+    version = "2019-11-15";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-rsi";
-      rev = "5e1453274011d2280f4ae357259b69eb9cba0b9f";
-      sha256 = "0jkyrlbm8z4v8s7zchn6ig61pdhrqdpd7cqfcf0ipff07fsws3qr";
+      rev = "ad8ba6beae8e82339479104b914214a868c9f1fe";
+      sha256 = "1ycjwnbs6rks78yxh0k0ywpvic0663mv7kydy3kjpa4f5bnkgbvc";
     };
   };
 
@@ -4812,12 +4812,12 @@ let
 
   vim-sensible = buildVimPluginFrom2Nix {
     pname = "vim-sensible";
-    version = "2019-11-13";
+    version = "2019-11-24";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-sensible";
-      rev = "bb75c2ec73f6b43346e0b159d46de3e304ac7dd6";
-      sha256 = "0zxqm00c0aj5a55m35f42px4d19xbijfiqp6qs2xlqwzjw5na12m";
+      rev = "2d9f34c09f548ed4df213389caa2882bfe56db58";
+      sha256 = "153i3kh44ri046va3qdrbvvsv7gy25fsd9pc2yhrg23lvj169zfp";
     };
   };
 
@@ -4867,12 +4867,12 @@ let
 
   vim-sleuth = buildVimPluginFrom2Nix {
     pname = "vim-sleuth";
-    version = "2019-11-13";
+    version = "2019-11-16";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-sleuth";
-      rev = "7b37cfd2f7eb7e96ec43d16ddb38a4ba1acbd576";
-      sha256 = "1wc1cbfz99xmvs11ydsbdaii8kyi1s7kz7avxdwh19vhks8zp4ay";
+      rev = "ea3f065f23cd0592062b8226c8fef08b6af3b459";
+      sha256 = "17w4m6zg1izcs75isy1jdzycgdr1ml1f5wqf1bjq80qgy3f28znp";
     };
   };
 
@@ -4922,12 +4922,12 @@ let
 
   vim-snippets = buildVimPluginFrom2Nix {
     pname = "vim-snippets";
-    version = "2019-11-07";
+    version = "2019-11-24";
     src = fetchFromGitHub {
       owner = "honza";
       repo = "vim-snippets";
-      rev = "5d259617f5198e511a759ccf4fb3000921abae21";
-      sha256 = "1hxk0ab1r25m1mc09lvw6rsg9wrjrl0bgxql8slqpa7mqrkp47rn";
+      rev = "c1d1cdce4f34d861cedebc948ef9cdecf633ae0a";
+      sha256 = "1lnpv54mnn99yz4z4jr3al0bf1jxiz45rpqk8jvv5xz70zmfbrrg";
     };
   };
 
@@ -4977,23 +4977,23 @@ let
 
   vim-startify = buildVimPluginFrom2Nix {
     pname = "vim-startify";
-    version = "2019-11-06";
+    version = "2019-11-15";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-startify";
-      rev = "2ea908578955c9a4ab6d0337531c0f122b51c182";
-      sha256 = "0014w64g9p3rq7mk9ri3hhmgyr0wrmxgv24gcaw5hr90cr58gs6b";
+      rev = "a521559d7036c66a8d43287c5c17a48db771ac47";
+      sha256 = "1gnjrixlkrrcxf291cwxiasl3yrnvc6bd56p8pa611z070253xlr";
     };
   };
 
   vim-stylish-haskell = buildVimPluginFrom2Nix {
     pname = "vim-stylish-haskell";
-    version = "2018-08-31";
+    version = "2019-11-28";
     src = fetchFromGitHub {
       owner = "nbouscal";
       repo = "vim-stylish-haskell";
-      rev = "0df8a2dd397f232a9ee0e56bc57071ccf29e21bf";
-      sha256 = "05f2ms2c914ycxjjd7csga89mpsk3wzyhi56vikg3nd7a8z54gzw";
+      rev = "ef12ab024cb3928ae57ce7c4fa519c4751afef99";
+      sha256 = "0ysz68v4c2i4kxchsvxgkpj5kb0jbm5x06ri1ns9cmk5gj01pmd6";
     };
   };
 
@@ -5010,12 +5010,12 @@ let
 
   vim-surround = buildVimPluginFrom2Nix {
     pname = "vim-surround";
-    version = "2019-11-12";
+    version = "2019-11-28";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-surround";
-      rev = "e4c4cc0f816515fbb7e87076a988604b2d163daa";
-      sha256 = "080wwicibkzll8v6a9mkr6wkibp5cv9wqfwpgy8i8djgbafcvnbz";
+      rev = "f51a26d3710629d031806305b6c8727189cd1935";
+      sha256 = "0aqrqn35xdiy80y7skxfsh3m33n6cdxw6lzz6aspfgzwllx2f0kr";
     };
   };
 
@@ -5043,12 +5043,12 @@ let
 
   vim-table-mode = buildVimPluginFrom2Nix {
     pname = "vim-table-mode";
-    version = "2019-09-28";
+    version = "2019-11-16";
     src = fetchFromGitHub {
       owner = "dhruvasagar";
       repo = "vim-table-mode";
-      rev = "126897a6fbcbf24523737502524208f75f255b88";
-      sha256 = "1cdnggcl8vkz74l5k1yl2y3yg1zawvg1zj2nlqrk3c5qm9qzhkzq";
+      rev = "5ec330d114bdc27d636ce16a6186013f121470df";
+      sha256 = "168y5wbvhrislvj04g768mfhklczw7phmgf5am61gh4z2nsyw2lp";
     };
   };
 
@@ -5076,23 +5076,23 @@ let
 
   vim-terraform = buildVimPluginFrom2Nix {
     pname = "vim-terraform";
-    version = "2019-11-04";
+    version = "2019-11-13";
     src = fetchFromGitHub {
       owner = "hashivim";
       repo = "vim-terraform";
-      rev = "bd9c84050939b6a93eb7e7ce8321375e4009cc77";
-      sha256 = "09jqq9iakcp8ikqjm1jxmqcbbkvnxdcwn3bm0w2gfm3r9c5a8amd";
+      rev = "fd3374f1957d5611f0bc7dc2856a439c03d06ac0";
+      sha256 = "12j95yj1sc61j66mrcbrm0q052rbs0rmsksfyvaxc8q5kxc4dvyz";
     };
   };
 
   vim-test = buildVimPluginFrom2Nix {
     pname = "vim-test";
-    version = "2019-11-06";
+    version = "2019-11-25";
     src = fetchFromGitHub {
       owner = "janko-m";
       repo = "vim-test";
-      rev = "dcd7995802c7b90555ef6d920289c5d7f063bcb6";
-      sha256 = "1a7k7i75n3qb14fvngkdpwvcyjl7cri2f2v1vi89waf7blmn22ib";
+      rev = "3592eff62d38531acb2a948f0445463f27c5d801";
+      sha256 = "1q41vp404n2pn65pg4br282wyimnfsrrhfkciwp0mhfp4ksn20mz";
     };
   };
 
@@ -5296,12 +5296,12 @@ let
 
   vim-visual-multi = buildVimPluginFrom2Nix {
     pname = "vim-visual-multi";
-    version = "2019-11-09";
+    version = "2019-11-27";
     src = fetchFromGitHub {
       owner = "mg979";
       repo = "vim-visual-multi";
-      rev = "6fe86c8426b6bfa51b683ba04dbe5232820c20a9";
-      sha256 = "0lahy379p2xzlv1n3v2zi2pyqxzix6dlw12z4f74v6yy4nmqjmbb";
+      rev = "fb6895c5c39862e495644e2cc0d300ad00bdeed2";
+      sha256 = "14mcrwfkwjlqh7r6h2qmcxm8a4c6lldrk549c9bwnrpzmvjw5daw";
     };
   };
 
@@ -5329,12 +5329,12 @@ let
 
   vim-wakatime = buildVimPluginFrom2Nix {
     pname = "vim-wakatime";
-    version = "2019-07-27";
+    version = "2019-11-28";
     src = fetchFromGitHub {
       owner = "wakatime";
       repo = "vim-wakatime";
-      rev = "29d14cca6593a4809a31cfc3565a366d87426daf";
-      sha256 = "1b47fv3jm37yhbg2mwc7kmlsl54dapb4sw9isf1h3mbmgxnvi5p9";
+      rev = "fd18019b94d97c2ded56f8cce6087d692e6a055c";
+      sha256 = "0m3dp5m8fbb28b68kykcickgd79bwv7gg30w483ndh2bgjjahqn0";
     };
   };
 
@@ -5351,12 +5351,12 @@ let
 
   vim-wordy = buildVimPluginFrom2Nix {
     pname = "vim-wordy";
-    version = "2019-08-29";
+    version = "2019-11-22";
     src = fetchFromGitHub {
       owner = "reedes";
       repo = "vim-wordy";
-      rev = "87a77cb293ed1193c01e0f93c4dd70cddde76b08";
-      sha256 = "19wvm1al41ys429rb2agb7d3xfv1kh2287r8sgiy1f6whjn236z6";
+      rev = "f0391713fa83771d64b065868331ef4754d861ed";
+      sha256 = "0v5cl3rrg2vrdb2al67hbh730rw8m2zvhb1vippv64k65mknkgp5";
     };
   };
 
@@ -5415,6 +5415,17 @@ let
     };
   };
 
+  vimagit = buildVimPluginFrom2Nix {
+    pname = "vimagit";
+    version = "2019-07-24";
+    src = fetchFromGitHub {
+      owner = "jreybert";
+      repo = "vimagit";
+      rev = "94762b1356ebdcb8ec486a86f45e69ef77a69465";
+      sha256 = "1p8izqdkx8g1aqmq9a2qm506bs4mvc4xdbzkh2k5xprm5vc14z0s";
+    };
+  };
+
   vimelette = buildVimPluginFrom2Nix {
     pname = "vimelette";
     version = "2019-05-02";
@@ -5472,12 +5483,12 @@ let
 
   vimproc-vim = buildVimPluginFrom2Nix {
     pname = "vimproc-vim";
-    version = "2019-11-10";
+    version = "2019-11-28";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "vimproc.vim";
-      rev = "47b54dd23eeb0a7fa81529d3768b27b979821b30";
-      sha256 = "14nhnbds463iys8ndvyajbskwsi6hjljmmlvic3rbvym2h9mn442";
+      rev = "89065f62883edb10a99aa1b1640d6d411907316b";
+      sha256 = "0699kf269rsyabl49m4n7vsi5bbxk129wq6ml3ykhy9g9m2b8a3k";
     };
   };
 
@@ -5494,12 +5505,12 @@ let
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2019-11-11";
+    version = "2019-11-23";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "b31a981779d9a18e750832351acd41d0a45467ec";
-      sha256 = "04lnghxid70nk518qf72rqifq6vllakvxc7acw9lndhk5kw7pgg4";
+      rev = "0647bb8991a490f92de173ca67e9b49a3f1fddcd";
+      sha256 = "142wh5b2zl3s8jjlc6hnd1z8ysfiz4xllax84f6ddyny72z3di42";
     };
   };
 
@@ -5560,12 +5571,12 @@ let
 
   webapi-vim = buildVimPluginFrom2Nix {
     pname = "webapi-vim";
-    version = "2019-07-11";
+    version = "2019-11-18";
     src = fetchFromGitHub {
       owner = "mattn";
       repo = "webapi-vim";
-      rev = "4d1e59c4fe01dec9d3008704dd06977a7bc3b0f2";
-      sha256 = "15k9h4nhsiwasv8l4mq6m8mw989pmpdfsinv9bdwh41q1pmkv551";
+      rev = "10b8e926d85a3ab689c2966a3df1139bcb4e197f";
+      sha256 = "1hbm2mgsncqdjjfgabgncr4ji90mjsa3z0cx7813vdf113v41x26";
     };
   };
 
@@ -5637,24 +5648,24 @@ let
 
   yats-vim = buildVimPluginFrom2Nix {
     pname = "yats-vim";
-    version = "2019-11-06";
+    version = "2019-11-15";
     src = fetchFromGitHub {
       owner = "HerringtonDarkholme";
       repo = "yats.vim";
-      rev = "773c6b6408597bf3e7175bd7a3427aaa1ee8b5ae";
-      sha256 = "1n8cqdsygbaxnlgaaf5r946rs9d9irvqdg0779c4pz8vrxdvhwzs";
+      rev = "c134c9e7595597684609fe2344076a66bbe82a17";
+      sha256 = "1g77j1pbnndyyi9s4yiia5bzd20n7x2fj3m9p7k173hv2n9kf93f";
       fetchSubmodules = true;
     };
   };
 
   youcompleteme = buildVimPluginFrom2Nix {
     pname = "youcompleteme";
-    version = "2019-11-11";
+    version = "2019-11-23";
     src = fetchFromGitHub {
       owner = "valloric";
       repo = "youcompleteme";
-      rev = "7efbb1da88067d8fd14a92daaa93693ef5cb6316";
-      sha256 = "11z1lcr1z03akai4lsvlxvz0x9nyc0ans6vv8k04im9dkaqnvc2i";
+      rev = "8099995959e7e533306a2cadd38a2f83d2ea9ed9";
+      sha256 = "1824jphq8mrswc594p032h459gn51mynfa5k8nnxkjws9c9myc4b";
       fetchSubmodules = true;
     };
   };
diff --git a/pkgs/misc/vim-plugins/overrides.nix b/pkgs/misc/vim-plugins/overrides.nix
index 19902174a83b..f3f9b8825e64 100644
--- a/pkgs/misc/vim-plugins/overrides.nix
+++ b/pkgs/misc/vim-plugins/overrides.nix
@@ -112,14 +112,15 @@ self: super: {
   });
 
   # Only official releases contains the required index.js file
+  # NB: Make sure you pick a rev from the release branch!
   coc-nvim = buildVimPluginFrom2Nix rec {
     pname = "coc-nvim";
-    version = "0.0.74";
+    version = "2019-11-29";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc.nvim";
-      rev = "v${version}";
-      sha256 = "1s4nib2mnhagd0ymx254vf7l1iijwrh2xdqn3bdm4f1jnip81r10";
+      rev = "d566fa03807d8d86ce9302680d135198a36c7d4d";
+      sha256 = "0m355w837f61jfpjrhi3h47z7vq16g8yai8kd82v1h71ns5fw9gz";
     };
   };
 
diff --git a/pkgs/misc/vim-plugins/update.py b/pkgs/misc/vim-plugins/update.py
index 78abdbd6ab27..0ef93ac569ab 100755
--- a/pkgs/misc/vim-plugins/update.py
+++ b/pkgs/misc/vim-plugins/update.py
@@ -8,6 +8,7 @@
 # linted:
 # $ nix run nixpkgs.python3Packages.flake8 -c flake8 --ignore E501,E265 update.py
 
+import argparse
 import functools
 import json
 import os
@@ -20,15 +21,53 @@ import xml.etree.ElementTree as ET
 from datetime import datetime
 from multiprocessing.dummy import Pool
 from pathlib import Path
-from typing import Dict, List, Optional, Tuple, Union, Any
+from typing import Dict, List, Optional, Tuple, Union, Any, Callable
 from urllib.parse import urljoin, urlparse
 from tempfile import NamedTemporaryFile
 
-ATOM_ENTRY = "{http://www.w3.org/2005/Atom}entry"
-ATOM_LINK = "{http://www.w3.org/2005/Atom}link"
-ATOM_UPDATED = "{http://www.w3.org/2005/Atom}updated"
+ATOM_ENTRY = "{http://www.w3.org/2005/Atom}entry"  # " vim gets confused here
+ATOM_LINK = "{http://www.w3.org/2005/Atom}link"  # "
+ATOM_UPDATED = "{http://www.w3.org/2005/Atom}updated"  # "
 
 ROOT = Path(__file__).parent
+DEFAULT_IN = ROOT.joinpath("vim-plugin-names")
+DEFAULT_OUT = ROOT.joinpath("generated.nix")
+
+import time
+from functools import wraps
+
+
+def retry(ExceptionToCheck: Any, tries: int = 4, delay: float = 3, backoff: float = 2):
+    """Retry calling the decorated function using an exponential backoff.
+
+    http://www.saltycrane.com/blog/2009/11/trying-out-retry-decorator-python/
+    original from: http://wiki.python.org/moin/PythonDecoratorLibrary#Retry
+    (BSD licensed)
+
+    :param ExceptionToCheck: the exception on which to retry
+    :param tries: number of times to try (not retry) before giving up
+    :param delay: initial delay between retries in seconds
+    :param backoff: backoff multiplier e.g. value of 2 will double the delay
+        each retry
+    """
+
+    def deco_retry(f: Callable) -> Callable:
+        @wraps(f)
+        def f_retry(*args: Any, **kwargs: Any) -> Any:
+            mtries, mdelay = tries, delay
+            while mtries > 1:
+                try:
+                    return f(*args, **kwargs)
+                except ExceptionToCheck as e:
+                    print(f"{str(e)}, Retrying in {mdelay} seconds...")
+                    time.sleep(mdelay)
+                    mtries -= 1
+                    mdelay *= backoff
+            return f(*args, **kwargs)
+
+        return f_retry  # true decorator
+
+    return deco_retry
 
 
 class Repo:
@@ -42,9 +81,12 @@ class Repo:
     def __repr__(self) -> str:
         return f"Repo({self.owner}, {self.name})"
 
+    @retry(urllib.error.URLError, tries=4, delay=3, backoff=2)
     def has_submodules(self) -> bool:
         try:
-            urllib.request.urlopen(self.url("blob/master/.gitmodules")).close()
+            urllib.request.urlopen(
+                self.url("blob/master/.gitmodules"), timeout=10
+            ).close()
         except urllib.error.HTTPError as e:
             if e.code == 404:
                 return False
@@ -52,8 +94,9 @@ class Repo:
                 raise
         return True
 
+    @retry(urllib.error.URLError, tries=4, delay=3, backoff=2)
     def latest_commit(self) -> Tuple[str, datetime]:
-        with urllib.request.urlopen(self.url("commits/master.atom")) as req:
+        with urllib.request.urlopen(self.url("commits/master.atom"), timeout=10) as req:
             xml = req.read()
             root = ET.fromstring(xml)
             latest_entry = root.find(ATOM_ENTRY)
@@ -66,7 +109,7 @@ class Repo:
                 updated_tag is not None and updated_tag.text is not None
             ), f"No updated tag found feed entry {xml}"
             updated = datetime.strptime(updated_tag.text, "%Y-%m-%dT%H:%M:%SZ")
-            return Path(url.path).name, updated
+            return Path(str(url.path)).name, updated
 
     def prefetch_git(self, ref: str) -> str:
         data = subprocess.check_output(
@@ -207,21 +250,17 @@ def check_results(
         sys.exit(1)
 
 
-def parse_plugin_line(line: str) -> Tuple[str, str, str]:
+def parse_plugin_line(line: str) -> Tuple[str, str, Optional[str]]:
+    name, repo = line.split("/")
     try:
-        name, repo = line.split('/')
-        try:
-            repo, alias = repo.split(' as ')
-            return (name, repo, alias.strip())
-        except ValueError:
-            # no alias defined
-            return (name, repo.strip(), None)
+        repo, alias = repo.split(" as ")
+        return (name, repo, alias.strip())
     except ValueError:
-        return (None, None, None)
+        # no alias defined
+        return (name, repo.strip(), None)
 
 
-def load_plugin_spec() -> List[Tuple[str, str]]:
-    plugin_file = ROOT.joinpath("vim-plugin-names")
+def load_plugin_spec(plugin_file: str) -> List[Tuple[str, str, Optional[str]]]:
     plugins = []
     with open(plugin_file) as f:
         for line in f:
@@ -305,10 +344,10 @@ header = (
 )
 
 
-def generate_nix(plugins: List[Tuple[str, str, Plugin]]):
+def generate_nix(plugins: List[Tuple[str, str, Plugin]], outfile: str):
     sorted_plugins = sorted(plugins, key=lambda v: v[2].name.lower())
 
-    with open(ROOT.joinpath("generated.nix"), "w+") as f:
+    with open(outfile, "w+") as f:
         f.write(header)
         f.write(
             """
@@ -338,15 +377,44 @@ let
   }};
 """
             )
-        f.write("""
+        f.write(
+            """
 });
 in lib.fix' (lib.extends overrides packages)
-""")
-    print("updated generated.nix")
+"""
+        )
+    print(f"updated {outfile}")
+
+
+def parse_args():
+    parser = argparse.ArgumentParser(
+        description=(
+            "Updates nix derivations for vim plugins"
+            f"By default from {DEFAULT_IN} to {DEFAULT_OUT}"
+        )
+    )
+    parser.add_argument(
+        "--input-names",
+        "-i",
+        dest="input_file",
+        default=DEFAULT_IN,
+        help="A list of plugins in the form owner/repo",
+    )
+    parser.add_argument(
+        "--out",
+        "-o",
+        dest="outfile",
+        default=DEFAULT_OUT,
+        help="Filename to save generated nix code",
+    )
+
+    return parser.parse_args()
 
 
 def main() -> None:
-    plugin_names = load_plugin_spec()
+
+    args = parse_args()
+    plugin_names = load_plugin_spec(args.input_file)
     current_plugins = get_current_plugins()
     cache = Cache(current_plugins)
 
@@ -354,7 +422,7 @@ def main() -> None:
 
     try:
         # synchronous variant for debugging
-        # results = map(prefetch_with_cache, plugins)
+        # results = list(map(prefetch_with_cache, plugin_names))
         pool = Pool(processes=30)
         results = pool.map(prefetch_with_cache, plugin_names)
     finally:
@@ -362,7 +430,7 @@ def main() -> None:
 
     plugins = check_results(results)
 
-    generate_nix(plugins)
+    generate_nix(plugins, args.outfile)
 
 
 if __name__ == "__main__":
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index 433458b66d07..263f2d2b5dd0 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -156,6 +156,7 @@ jonsmithers/vim-html-template-literals
 joonty/vim-xdebug
 josa42/coc-go
 jpalardy/vim-slime
+jreybert/vimagit
 JuliaEditorSupport/deoplete-julia
 JuliaEditorSupport/julia-vim
 Julian/vim-textobj-variable-segment
diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix
index ba5002c8c48f..8456d64a4514 100644
--- a/pkgs/os-specific/darwin/apple-sdk/default.nix
+++ b/pkgs/os-specific/darwin/apple-sdk/default.nix
@@ -12,8 +12,8 @@ let
     #  3. ???
     #  4. Profit
     src = fetchurl {
-      url    = "http://swcdn.apple.com/content/downloads/28/09/091-29862/pafhn2u002b9slnrxzy9p86rpedycnjhb5/DevSDK_OSX1012.pkg";
-      sha256 = "1sggc70rypqwcjwr7ciavw8sczwll16cwqxdxrbw7r2qvy3b0nhx";
+      url    = "http://swcdn.apple.com/content/downloads/33/36/041-90419-A_7JJ4H9ZHO2/xs88ob5wjz6riz7g6764twblnvksusg4ps/DevSDK_OSX1012.pkg";
+      sha256 = "13xq34sb7383b37hwy076gnhf96prpk1b4087p87xnwswxbrisih";
     };
 
     buildInputs = [ xar cpio python pbzx ];
diff --git a/pkgs/os-specific/darwin/binutils/default.nix b/pkgs/os-specific/darwin/binutils/default.nix
index 9f9a0c747247..e31f9b91f97d 100644
--- a/pkgs/os-specific/darwin/binutils/default.nix
+++ b/pkgs/os-specific/darwin/binutils/default.nix
@@ -14,7 +14,8 @@ in
 
 # TODO: loop over targetPrefixed binaries too
 stdenv.mkDerivation {
-  name = "${targetPrefix}cctools-binutils-darwin";
+  pname = "${targetPrefix}cctools-binutils-darwin";
+  inherit (cctools) version;
   outputs = [ "out" "info" "man" ];
   buildCommand = ''
     mkdir -p $out/bin $out/include
diff --git a/pkgs/os-specific/darwin/cctools/apfs.patch b/pkgs/os-specific/darwin/cctools/apfs.patch
deleted file mode 100644
index 8c6b3c0d2738..000000000000
--- a/pkgs/os-specific/darwin/cctools/apfs.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/cctools/ld64/src/ld/OutputFile.cpp b/cctools/ld64/src/ld/OutputFile.cpp
-index 8859882..158c7d2 100644
---- a/cctools/ld64/src/ld/OutputFile.cpp
-+++ b/cctools/ld64/src/ld/OutputFile.cpp
-@@ -2786,7 +2786,7 @@ void OutputFile::writeOutputFile(ld::Internal& state)
- #ifdef __APPLE__ // ld64-port
- 			struct statfs fsInfo;
- 			if ( statfs(_options.outputFilePath(), &fsInfo) != -1 ) {
--				if ( strcmp(fsInfo.f_fstypename, "hfs") == 0) {
-+				if ( (strcmp(fsInfo.f_fstypename, "hfs") == 0) || (strcmp(fsInfo.f_fstypename, "apfs") == 0) ) {
- 					(void)unlink(_options.outputFilePath());
- 					outputIsMappableFile = true;
- 				}
-@@ -2814,7 +2814,7 @@ void OutputFile::writeOutputFile(ld::Internal& state)
- #ifdef __APPLE__ // ld64-port
- 			struct statfs fsInfo;
- 			if ( statfs(dirPath, &fsInfo) != -1 ) {
--				if ( strcmp(fsInfo.f_fstypename, "hfs") == 0) {
-+				if ( (strcmp(fsInfo.f_fstypename, "hfs") == 0) || (strcmp(fsInfo.f_fstypename, "apfs") == 0) ) {
- 					outputIsMappableFile = true;
- 				}
- 			}
diff --git a/pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch b/pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch
index 265d0d304771..17ad9053f3bd 100644
--- a/pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch
+++ b/pkgs/os-specific/darwin/cctools/ld-rpath-nonfinal.patch
@@ -1,13 +1,14 @@
 diff --git a/cctools/ld64/src/ld/Options.cpp b/cctools/ld64/src/ld/Options.cpp
-index 9250016..91d54ec 100644
+index e4b37ec..4189ebc 100644
 --- a/cctools/ld64/src/ld/Options.cpp
 +++ b/cctools/ld64/src/ld/Options.cpp
-@@ -4175,23 +4175,9 @@ void Options::checkIllegalOptionCombinations()
+@@ -5800,24 +5800,6 @@ void Options::checkIllegalOptionCombinations()
+ 	if ( fDeadStrip && (fOutputKind == Options::kObjectFile) )
  		throw "-r and -dead_strip cannot be used together";
  
- 	// can't use -rpath unless targeting 10.5 or later
+-	// can't use -rpath unless targeting 10.5 or later
 -	if ( fRPaths.size() > 0 ) {
--		if ( !minOS(ld::mac10_5, ld::iOS_2_0) )
+-		if ( !platforms().minOS(ld::version2008) )
 -			throw "-rpath can only be used when targeting Mac OS X 10.5 or later";
 -		switch ( fOutputKind ) {
 -			case Options::kDynamicExecutable:
@@ -23,9 +24,6 @@ index 9250016..91d54ec 100644
 -		}
 -	}
 -	
-+	if ( fRPaths.size() > 0 && !minOS(ld::mac10_5, ld::iOS_2_0) )
-+		throw "-rpath can only be used when targeting Mac OS X 10.5 or later";
-+
  	if ( fPositionIndependentExecutable ) {
  		switch ( fOutputKind ) {
  			case Options::kDynamicExecutable:
diff --git a/pkgs/os-specific/darwin/cctools/port.nix b/pkgs/os-specific/darwin/cctools/port.nix
index ff8f3eb5e265..1aee5c8c35e9 100644
--- a/pkgs/os-specific/darwin/cctools/port.nix
+++ b/pkgs/os-specific/darwin/cctools/port.nix
@@ -18,14 +18,14 @@ assert (!stdenv.hostPlatform.isDarwin) -> maloader != null;
 
 let
   baseParams = rec {
-    name = "${targetPrefix}cctools-port-${version}";
-    version = "895";
+    name = "${targetPrefix}cctools-port";
+    version = "927.0.2";
 
     src = fetchFromGitHub {
       owner  = "tpoechtrager";
       repo   = "cctools-port";
-      rev    = "07619027f8311fa61b4a549c75994b88739a82d8";
-      sha256 = "12g94hhz5v5bmy2w0zb6fb4bjlmn992gygc60h9nai15kshj2spi";
+      rev    = "8239a5211bcf07d6b9d359782e1a889ec1d7cce5";
+      sha256 = "0h8b1my0wf1jyjq63wbiqkl2clgxsf87f6i4fjhqs431fzlq8sac";
     };
 
     outputs = [ "out" "dev" ];
@@ -35,7 +35,7 @@ let
       ++ stdenv.lib.optionals stdenv.isDarwin [ libcxxabi libobjc ]
       ++ stdenv.lib.optional enableTapiSupport libtapi;
 
-    patches = [ ./ld-rpath-nonfinal.patch ./ld-ignore-rpath-link.patch ./apfs.patch ];
+    patches = [ ./ld-ignore-rpath-link.patch ./ld-rpath-nonfinal.patch ];
 
     __propagatedImpureHostDeps = [
       # As far as I can tell, otool from cctools is the only thing that depends on these two, and we should fix them
@@ -84,12 +84,6 @@ let
       cd cctools
     '';
 
-    # TODO: this builds an ld without support for LLVM's LTO. We need to teach it, but that's rather
-    # hairy to handle during bootstrap. Perhaps it could be optional?
-    preConfigure = ''
-      sh autogen.sh
-    '';
-
     preInstall = ''
       pushd include
       make DSTROOT=$out/include RC_OS=common install
diff --git a/pkgs/os-specific/darwin/libtapi/default.nix b/pkgs/os-specific/darwin/libtapi/default.nix
index e68e77f55afe..cac2d97482a6 100644
--- a/pkgs/os-specific/darwin/libtapi/default.nix
+++ b/pkgs/os-specific/darwin/libtapi/default.nix
@@ -1,18 +1,19 @@
-{ lib, stdenv, fetchFromGitHub, cmake, python }:
+{ lib, stdenv, fetchFromGitHub, cmake, python, clang_6 }:
 
 stdenv.mkDerivation {
-  name = "libtapi";
+  name = "libtapi-1000.10.8";
   src = fetchFromGitHub {
     owner = "tpoechtrager";
     repo = "apple-libtapi";
-    rev = "e56673694db395e25b31808b4fbb9a7005e6875f";
-    sha256 = "1lnl1af9sszp9wxfk0wljrpdmwcx83j0w5c0y4qw4pqrdkdgwks7";
+    rev = "cd9885b97fdff92cc41e886bba4a404c42fdf71b";
+    sha256 = "1a19h39a48agvnmal99n9j1fjadiqwib7hfzmn342wmgh9z3vk0g";
   };
 
   nativeBuildInputs = [ cmake python ];
+  buildInputs = [ clang_6.cc ];
 
   preConfigure = ''
-    cd src/apple-llvm/src
+    cd src/llvm
   '';
 
   cmakeFlags = [ "-DLLVM_INCLUDE_TESTS=OFF" ];
diff --git a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix
index 6f7caa8ec02c..1df7070e7a3f 100644
--- a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix
+++ b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix
@@ -63,10 +63,31 @@ stdenv.mkDerivation {
   # I'm guessing at the version here. https://github.com/apple/swift-corelibs-foundation/commit/df3ec55fe6c162d590a7653d89ad669c2b9716b1 imported "high sierra"
   # and this version is a version from there. No idea how accurate it is.
   LDFLAGS = "-current_version 1454.90.0 -compatibility_version 150.0.0 -init ___CFInitialize";
-  configurePhase = "../configure release --sysroot UNUSED";
+
+  configurePhase = ''
+    ../configure release --sysroot UNUSED
+  '';
 
   enableParallelBuilding = true;
-  buildPhase = "ninja -j $NIX_BUILD_CORES";
+
+  # FIXME: Workaround for intermittent build failures of CFRuntime.c.
+  # Based on testing this issue seems to only occur with clang_7, so
+  # please remove this when updating the default llvm versions to 8 or
+  # later.
+  buildPhase = stdenv.lib.optionalString true ''
+    for i in {1..512}; do
+        if ninjaBuildPhase; then
+          break
+        fi
+
+        echo >&2
+        echo "[$i/512] retrying build, workaround for #66811" >&2
+        echo "  With clang_7 the build of CFRuntime.c fails intermittently." >&2
+        echo "  See https://github.com/NixOS/nixpkgs/issues/66811 for more details." >&2
+        echo >&2
+        continue
+    done
+  '';
 
   # TODO: their build system sorta kinda can do this, but it doesn't seem to work right now
   # Also, this includes a bunch of private headers in the framework, which is not what we want
diff --git a/pkgs/os-specific/linux/alsa-firmware/default.nix b/pkgs/os-specific/linux/alsa-firmware/default.nix
index 53fcf7d68433..7f0ba5498df6 100644
--- a/pkgs/os-specific/linux/alsa-firmware/default.nix
+++ b/pkgs/os-specific/linux/alsa-firmware/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "alsa-firmware-1.0.29";
+  name = "alsa-firmware-1.2.1";
 
   src = fetchurl {
     url = "mirror://alsa/firmware/${name}.tar.bz2";
-    sha256 = "0gfcyj5anckjn030wcxx5v2xk2s219nyf99s9m833275b5wz2piw";
+    sha256 = "1aq8z8ajpjvcx7bwhwp36bh5idzximyn77ygk3ifs0my3mbpr8mf";
   };
 
   configureFlags = [
diff --git a/pkgs/os-specific/linux/alsa-plugins/default.nix b/pkgs/os-specific/linux/alsa-plugins/default.nix
index 2956b107aa71..a5262d6ae9ed 100644
--- a/pkgs/os-specific/linux/alsa-plugins/default.nix
+++ b/pkgs/os-specific/linux/alsa-plugins/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "alsa-plugins";
-  version = "1.1.9";
+  version = "1.2.1";
 
   src = fetchurl {
     url = "mirror://alsa/plugins/${pname}-${version}.tar.bz2";
-    sha256 = "01zrg0h2jw9dlj9233vjsn916yf4f2s667yry6xsn8d57lq745qn";
+    sha256 = "1nj8cpbi05rb62yzs01c1k7lymdn1ch229b599hbhd0psixdx52d";
   };
 
   # ToDo: a52, etc.?
diff --git a/pkgs/os-specific/linux/alsa-utils/default.nix b/pkgs/os-specific/linux/alsa-utils/default.nix
index 6f23d1903188..8b1faf788e58 100644
--- a/pkgs/os-specific/linux/alsa-utils/default.nix
+++ b/pkgs/os-specific/linux/alsa-utils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "alsa-utils";
-  version = "1.1.9";
+  version = "1.2.1";
 
   src = fetchurl {
     url = "mirror://alsa/utils/${pname}-${version}.tar.bz2";
-    sha256 = "0fi11b7r8hg1bdjw74s8sqx8rc4qb310jaj9lsia9labvfyjrpsx";
+    sha256 = "039c19b7091is0czl9jlrfczp7pp1jpdri0vvc4k07gl3skhn48b";
   };
 
   patchPhase = ''
diff --git a/pkgs/os-specific/linux/anbox/default.nix b/pkgs/os-specific/linux/anbox/default.nix
index 755ec390a9cd..0012c3de9897 100644
--- a/pkgs/os-specific/linux/anbox/default.nix
+++ b/pkgs/os-specific/linux/anbox/default.nix
@@ -45,13 +45,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "anbox";
-  version = "unstable-2019-05-03";
+  version = "unstable-2019-11-15";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "ea2b7a3dea34a6803134f4adc16c276f4c2479eb";
-    sha256 = "00x772nbrbx7ma0scr24m65g50pmi4v6d6q3cwbbi55r8qiy2yz7";
+    rev = "0a49ae08f76de7f886a3dbed4422711c2fa39d10";
+    sha256 = "09l56nv9cnyhykclfmvam6bkcxlamwbql6nrz9n022553w92hkjf";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/os-specific/linux/anbox/kmod.nix b/pkgs/os-specific/linux/anbox/kmod.nix
index fee8d1e7a420..0888f2c54146 100644
--- a/pkgs/os-specific/linux/anbox/kmod.nix
+++ b/pkgs/os-specific/linux/anbox/kmod.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation {
   pname = "anbox-modules";
-  version = "2019-07-13-" + kernel.version;
+  version = "2019-11-15-" + kernel.version;
 
   src = fetchFromGitHub {
     owner = "anbox";
     repo = "anbox-modules";
-    rev = "816dd4d6e702cf77a44cfe208659af6c39e02b57";
-    sha256 = "115xrv3fz5bk51hz8cwb61h0xnrsnv217fxmbpw35a6hjrk7gslc";
+    rev = "e0a237e571989987806b32881044c539db25e3e1";
+    sha256 = "1km1nslp4f5znwskh4bb1b61r1inw1dlbwiyyq3rrh0f0agf8d0v";
   };
 
   nativeBuildInputs = kernel.moduleBuildDependencies;
diff --git a/pkgs/os-specific/linux/ati-drivers/builder.sh b/pkgs/os-specific/linux/ati-drivers/builder.sh
index f6ad8e2c03b6..09d218e87458 100644
--- a/pkgs/os-specific/linux/ati-drivers/builder.sh
+++ b/pkgs/os-specific/linux/ati-drivers/builder.sh
@@ -246,9 +246,9 @@ if test -z "$libsOnly"; then
   ( # build and install fgl_glxgears
     cd fgl_glxgears;
     gcc -DGL_ARB_texture_multisample=1 -g \
-    -I$libGLU_combined/include \
+    -I$libGL/include -I$libGLU/include \
     -I$out/include \
-    -L$libGLU_combined/lib -lGL -lGLU -lX11 -lm \
+    -L$libGL/lib -L$libGLU/lib -lGL -lGLU -lX11 -lm \
     -o $out/bin/fgl_glxgears -Wall fgl_glxgears.c
   )
 
diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix
index b79054d44065..a391f73391fb 100644
--- a/pkgs/os-specific/linux/ati-drivers/default.nix
+++ b/pkgs/os-specific/linux/ati-drivers/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchurl, kernel ? null, which
 , xorg, makeWrapper, glibc, patchelf, unzip
-, fontconfig, freetype, libGLU_combined # for fgl_glxgears
+, fontconfig, freetype, libGLU, libGL # for fgl_glxgears
 , # Whether to build the libraries only (i.e. not the kernel module or
   # driver utils). Used to support 32-bit binaries on 64-bit
   # Linux.
@@ -90,7 +90,7 @@ stdenv.mkDerivation rec {
       xorg.libXrandr xorg.libXxf86vm xorg.xorgproto xorg.imake xorg.libICE
       patchelf
       unzip
-      libGLU_combined
+      libGLU libGL
       fontconfig
       freetype
       makeWrapper
@@ -108,7 +108,7 @@ stdenv.mkDerivation rec {
   LD_LIBRARY_PATH = makeLibraryPath
     [ xorg.libXrender xorg.libXext xorg.libX11 xorg.libXinerama xorg.libSM
       xorg.libXrandr xorg.libXxf86vm xorg.xorgproto xorg.imake xorg.libICE
-      libGLU_combined
+      libGLU libGL
       fontconfig
       freetype
       stdenv.cc.cc
@@ -122,7 +122,7 @@ stdenv.mkDerivation rec {
                    xorg.libX11.out xorg.libXinerama.out xorg.libSM.out
                    xorg.libICE.out ];
 
-  inherit libGLU_combined; # only required to build the examples
+  inherit libGLU libGL; # only required to build the examples
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/os-specific/linux/beegfs/default.nix b/pkgs/os-specific/linux/beegfs/default.nix
deleted file mode 100644
index 7ce2fea69245..000000000000
--- a/pkgs/os-specific/linux/beegfs/default.nix
+++ /dev/null
@@ -1,167 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, unzip, which
-, libuuid, attr, xfsprogs, cppunit, rdma-core
-, zlib, openssl, sqlite, jre, openjdk, ant
-, openssh, perl, gfortran, influxdb, curl
-} :
-
-let
-  version = "7.0";
-
-  subdirs = [
-    "beeond_thirdparty/build"
-    "beeond_thirdparty_gpl/build"
-    "thirdparty/build"
-    "opentk_lib/build"
-    "common/build"
-    "admon/build"
-    "java_lib/build"
-    "ctl/build"
-    "fsck/build"
-    "helperd/build"
-    "meta/build"
-    "mgmtd/build"
-    "storage/build"
-    "utils/build"
-    "mon/build"
-    "upgrade/beegfs_mirror_md/build"
-  ];
-
-in stdenv.mkDerivation {
-  pname = "beegfs";
-  inherit version;
-
-  src = fetchurl {
-    url = "https://git.beegfs.com/pub/v7/repository/archive.tar.bz2?ref=${version}";
-    sha256 = "1wsljd5ybyhl94aqrdfvcs8a0l8w4pr0bs1vhjrf4y7ldhw35m3k";
-  };
-
-  nativeBuildInputs = [ which unzip pkgconfig cppunit openjdk ant perl ];
-
-  buildInputs = [
-    libuuid
-    attr
-    xfsprogs
-    zlib
-    openssl
-    sqlite
-    jre
-    rdma-core
-    openssh
-    gfortran
-    influxdb
-    curl
-  ];
-
-  hardeningDisable = [ "format" ]; # required for building beeond
-
-  postPatch = ''
-    patchShebangs ./
-    find -type f -name Makefile -exec sed -i "s:/bin/bash:${stdenv.shell}:" \{} \;
-    find -type f -name Makefile -exec sed -i "s:/bin/true:true:" \{} \;
-    find -type f -name "*.mk" -exec sed -i "s:/bin/true:true:" \{} \;
-
-    # unpack manually and patch variable name
-    sed -i '/tar -C $(SOURCE_PATH) -xzf $(PCOPY_TAR)/d' beeond_thirdparty/build/Makefile
-    cd beeond_thirdparty/source
-    tar xf pcopy-0.96.tar.gz
-    sed -i 's/\([^_]\)rank/\1grank/' pcopy-0.96/src/pcp.cpp
-    cd ../..
-  '';
-
-  buildPhase = ''
-    for i in ${toString subdirs}; do
-      make -C $i BEEGFS_OPENTK_IBVERBS=1 ''${enableParallelBuilding:+-j''${NIX_BUILD_CORES} -l''${NIX_BUILD_CORES}}
-    done
-    make -C admon/build admon_gui BEEGFS_OPENTK_IBVERBS=1
-  '';
-
-  enableParallelBuilding = true;
-
-  installPhase = ''
-    binDir=$out/bin
-    docDir=$out/share/doc/beegfs
-    includeDir=$out/include/beegfs
-    libDir=$out/lib
-    libDirPkg=$out/lib/beegfs
-
-    mkdir -p $binDir $libDir $libDirPkg $docDir $includeDir
-
-    cp admon/build/beegfs-admon $binDir
-    cp admon/build/dist/usr/bin/beegfs-admon-gui $binDir
-    cp admon_gui/dist/beegfs-admon-gui.jar $libDirPkg
-    cp admon/build/dist/etc/beegfs-admon.conf $docDir
-
-    cp java_lib/build/jbeegfs.jar $libDirPkg
-    cp java_lib/build/libjbeegfs.so $libDir
-
-    cp ctl/build/beegfs-ctl $binDir
-    cp fsck/build/beegfs-fsck $binDir
-
-    cp utils/scripts/beegfs-check-servers $binDir
-    cp utils/scripts/beegfs-df $binDir
-    cp utils/scripts/beegfs-net $binDir
-
-    cp helperd/build/beegfs-helperd $binDir
-    cp helperd/build/dist/etc/beegfs-helperd.conf $docDir
-
-    cp client_module/build/dist/sbin/beegfs-setup-client $binDir
-    cp client_module/build/dist/etc/beegfs-client.conf $docDir
-
-    cp meta/build/beegfs-meta $binDir
-    cp meta/build/dist/sbin/beegfs-setup-meta $binDir
-    cp meta/build/dist/etc/beegfs-meta.conf $docDir
-
-    cp mgmtd/build/beegfs-mgmtd $binDir
-    cp mgmtd/build/dist/sbin/beegfs-setup-mgmtd $binDir
-    cp mgmtd/build/dist/etc/beegfs-mgmtd.conf $docDir
-
-    cp storage/build/beegfs-storage $binDir
-    cp storage/build/dist/sbin/beegfs-setup-storage $binDir
-    cp storage/build/dist/etc/beegfs-storage.conf $docDir
-
-    cp opentk_lib/build/libbeegfs-opentk.so $libDir
-
-    cp upgrade/beegfs_mirror_md/build/beegfs-mirror-md $binDir
-
-    cp client_devel/build/dist/usr/share/doc/beegfs-client-devel/examples/* $docDir
-    cp -r client_devel/include/* $includeDir
-
-    cp beeond_thirdparty_gpl/build/parallel $out/bin
-    cp beeond_thirdparty/build/pcopy/p* $out/bin
-    cp beeond_thirdparty/build/pcopy/s* $out/bin
-    cp -r beeond/scripts/* $out
-    cp beeond/source/* $out/bin
-  '';
-
-  postFixup = ''
-    substituteInPlace $out/bin/beegfs-admon-gui \
-      --replace " java " " ${jre}/bin/java " \
-      --replace "/opt/beegfs/beegfs-admon-gui/beegfs-admon-gui.jar" \
-                "$libDirPkg/beegfs-admon-gui.jar"
-
-    substituteInPlace $out/bin/beeond \
-      --replace /opt/beegfs/sbin "$out/bin"
-  '';
-
-  doCheck = true;
-
-  checkPhase = ''
-    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`/opentk_lib/build/ \
-      common/build/test-runner --text
-  '';
-
-  meta = with stdenv.lib; {
-    description = "High performance distributed filesystem with RDMA support";
-    homepage = "https://www.beegfs.io";
-    platforms = [ "i686-linux" "x86_64-linux" ];
-    license = {
-      fullName = "BeeGFS_EULA";
-      url = "https://www.beegfs.io/docs/BeeGFS_EULA.txt";
-      free = false;
-    };
-    maintainers = with maintainers; [ markuskowa ];
-    # 2019-08-09
-    # fails to build and had stability issues earlier
-    broken = true;
-  };
-}
diff --git a/pkgs/os-specific/linux/beegfs/kernel-module.nix b/pkgs/os-specific/linux/beegfs/kernel-module.nix
deleted file mode 100644
index 286252b927b1..000000000000
--- a/pkgs/os-specific/linux/beegfs/kernel-module.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ stdenv, fetchurl, which
-, kmod, kernel
-} :
-
-let
-  version = "7.0";
-in stdenv.mkDerivation {
-  name = "beegfs-module-${version}-${kernel.version}";
-
-  src = fetchurl {
-    url = "https://git.beegfs.com/pub/v7/repository/archive.tar.bz2?ref=${version}";
-    sha256 = "1wsljd5ybyhl94aqrdfvcs8a0l8w4pr0bs1vhjrf4y7ldhw35m3k";
-  };
-
-  hardeningDisable = [ "fortify" "pic" "stackprotector" ];
-
-  nativeBuildInputs = [ which kmod ];
-
-  buildInputs = kernel.moduleBuildDependencies;
-
-  makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build/" ];
-
-  postPatch = ''
-    patchShebangs ./
-    find -type f -name Makefile -exec sed -i "s:/bin/bash:${stdenv.shell}:" \{} \;
-    find -type f -name Makefile -exec sed -i "s:/bin/true:true:" \{} \;
-    find -type f -name "*.mk" -exec sed -i "s:/bin/true:true:" \{} \;
-  '';
-
-  preBuild = "cd client_module/build";
-
-  installPhase = ''
-    instdir=$out/lib/modules/${kernel.modDirVersion}/extras/fs/beegfs
-    mkdir -p $instdir
-    cp beegfs.ko $instdir
-  '';
-
-  meta = with stdenv.lib; {
-    description = "High performance distributed filesystem with RDMA support";
-    homepage = "https://www.beegfs.io";
-    platforms = [ "i686-linux" "x86_64-linux" ];
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ markuskowa ];
-    broken = stdenv.lib.versionAtLeast kernel.version "4.18";
-  };
-}
diff --git a/pkgs/os-specific/linux/brillo/default.nix b/pkgs/os-specific/linux/brillo/default.nix
index 3ad4acf127b7..6d51907ea166 100644
--- a/pkgs/os-specific/linux/brillo/default.nix
+++ b/pkgs/os-specific/linux/brillo/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "brillo";
-  version = "1.4.8";
+  version = "1.4.9";
 
   src = fetchFromGitLab {
     owner= "cameronnemo";
     repo= "brillo";
     rev= "v${version}";
-    sha256 = "0wxvg541caiwm3bjwbmk7xcng7jd9xsiga2agxwp7gpkrlp74j9f";
+    sha256 = "0ab7s60zcgl6hvm0a9rlwq35p25n3jnw6r9256pwl4cdwyjyybsb";
   };
 
   patches = [
diff --git a/pkgs/os-specific/linux/displaylink/default.nix b/pkgs/os-specific/linux/displaylink/default.nix
index 3f6c65241750..642d05e4beb6 100644
--- a/pkgs/os-specific/linux/displaylink/default.nix
+++ b/pkgs/os-specific/linux/displaylink/default.nix
@@ -36,7 +36,7 @@ in stdenv.mkDerivation rec {
   unpackPhase = ''
     unzip $src
     chmod +x displaylink-driver-${version}.run
-    ./displaylink-driver-${version}.run --target . --noexec
+    ./displaylink-driver-${version}.run --target . --noexec --nodiskspace
   '';
 
   patches = [ (substituteAll {
diff --git a/pkgs/os-specific/linux/dpdk/default.nix b/pkgs/os-specific/linux/dpdk/default.nix
index 9a74b0bb4a86..104fccd6955b 100644
--- a/pkgs/os-specific/linux/dpdk/default.nix
+++ b/pkgs/os-specific/linux/dpdk/default.nix
@@ -1,54 +1,56 @@
-{ stdenv, lib, kernel, fetchurl, pkgconfig, numactl, shared ? false }:
+{ stdenv, lib
+, kernel
+, fetchurl
+, pkgconfig, meson, ninja
+, libbsd, numactl, libbpf, zlib, libelf, jansson, openssl, libpcap
+, doxygen, python3
+, shared ? false }:
 
 let
-
   kver = kernel.modDirVersion or null;
-
   mod = kernel != null;
 
 in stdenv.mkDerivation rec {
   name = "dpdk-${version}" + lib.optionalString mod "-${kernel.version}";
-  version = "19.08";
+  version = "19.08.2";
 
   src = fetchurl {
     url = "https://fast.dpdk.org/rel/dpdk-${version}.tar.xz";
-    sha256 = "0xgrkip2aji1c7jy5gk38zzwlp5ap1s6dmbcag5dnyy3bmwvmp9y";
+    sha256 = "141bqqy4w6nzs9z70x7yv94a4gmxjfal46pxry9bwdh3zi1jwnyd";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ numactl ] ++ lib.optional mod kernel.moduleBuildDependencies;
-
-  RTE_KERNELDIR = if mod then "${kernel.dev}/lib/modules/${kver}/build" else "/var/empty";
-  RTE_TARGET = "x86_64-native-linuxapp-gcc";
-
-  # we need sse3 instructions to build
-  NIX_CFLAGS_COMPILE = [ "-msse3" ];
-  hardeningDisable = [ "pic" ];
+  nativeBuildInputs = [
+    doxygen
+    meson
+    ninja
+    pkgconfig
+    python3
+    python3.pkgs.sphinx
+  ];
+  buildInputs = [
+    jansson
+    libbpf
+    libbsd
+    libelf
+    libpcap
+    numactl
+    openssl.dev
+    zlib
+  ] ++ lib.optionals mod kernel.moduleBuildDependencies;
 
   postPatch = ''
-    cat >>config/defconfig_$RTE_TARGET <<EOF
-# Build static or shared libraries.
-CONFIG_RTE_BUILD_SHARED_LIB=${if shared then "y" else "n"}
-EOF
-  '' + lib.optionalString (!mod) ''
-    cat >>config/defconfig_$RTE_TARGET <<EOF
-# Do not build kernel modules.
-CONFIG_RTE_EAL_IGB_UIO=n
-CONFIG_RTE_KNI_KMOD=n
-EOF
+    patchShebangs config/arm
   '';
 
-  configurePhase = ''
-    make T=${RTE_TARGET} config
-  '';
-
-  installTargets = [ "install-runtime" "install-sdk" "install-kmod" ]; # skip install-doc
-
-  installFlags = [
-    "prefix=$(out)"
-  ] ++ lib.optionals mod [
-    "kerneldir=$(kmod)/lib/modules/${kver}"
-  ];
+  mesonFlags = [
+    "-Denable_docs=true"
+    "-Denable_kmods=${if kernel != null then "true" else "false"}"
+  ]
+  ++ lib.optionals (shared == false) [
+    "-Ddefault_library=static"
+  ]
+  ++ lib.optional stdenv.isx86_64 "-Dmachine=nehalem"
+  ++ lib.optional (kernel != null) "-Dkernel_dir=${kernel.dev}/lib/modules/${kernel.modDirVersion}";
 
   outputs = [ "out" ] ++ lib.optional mod "kmod";
 
@@ -58,7 +60,7 @@ EOF
     description = "Set of libraries and drivers for fast packet processing";
     homepage = http://dpdk.org/;
     license = with licenses; [ lgpl21 gpl2 bsd2 ];
-    platforms =  [ "x86_64-linux" ];
+    platforms =  platforms.linux;
     maintainers = with maintainers; [ domenkozar magenbluten orivej ];
   };
 }
diff --git a/pkgs/os-specific/linux/ell/default.nix b/pkgs/os-specific/linux/ell/default.nix
index a8776f688cad..bd0ddb4ce1df 100644
--- a/pkgs/os-specific/linux/ell/default.nix
+++ b/pkgs/os-specific/linux/ell/default.nix
@@ -7,14 +7,14 @@
 
 stdenv.mkDerivation rec {
   pname = "ell";
-  version = "0.24";
+  version = "0.26";
 
   outputs = [ "out" "dev" ];
 
   src = fetchgit {
      url = "https://git.kernel.org/pub/scm/libs/${pname}/${pname}.git";
      rev = version;
-     sha256 = "1dspi6ds58dy7g1q3chapxydfiyz8bjjlryq66jvwgpynzp0c1h1";
+     sha256 = "1gnqd7dghwkcn48f6fr9qvkkm976b3x4bn3l7l2k9pamzpng084i";
   };
 
   patches = [
diff --git a/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch b/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch
index 4903eadef4b5..81e82d68dbc4 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch
+++ b/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch
@@ -1,30 +1,21 @@
 diff --git a/data/meson.build b/data/meson.build
-index 61664cd6..f10abbba 100644
+index 25db9509..f394eb25 100644
 --- a/data/meson.build
 +++ b/data/meson.build
-@@ -11,7 +11,7 @@ if get_option('daemon')
+@@ -13,7 +13,7 @@
+ if build_daemon
+   subdir('installed-tests')
+   install_data(['daemon.conf'],
+-    install_dir : join_paths(sysconfdir, 'fwupd')
++    install_dir : join_paths(sysconfdir_install, 'fwupd')
+   )
  endif
  
- install_data(['daemon.conf'],
--  install_dir : join_paths(sysconfdir, 'fwupd')
-+  install_dir : join_paths(sysconfdir_install, 'fwupd')
- )
- 
- install_data(['org.freedesktop.fwupd.metainfo.xml'],
-@@ -23,7 +23,7 @@ install_data(['org.freedesktop.fwupd.svg'],
- )
- 
- install_data(['org.freedesktop.fwupd.conf'],
--  install_dir : join_paths(sysconfdir, 'dbus-1', 'system.d')
-+  install_dir : join_paths(sysconfdir_install, 'dbus-1', 'system.d')
- )
- 
- if get_option('daemon')
 diff --git a/data/pki/meson.build b/data/pki/meson.build
 index eefcc914..dc801fa1 100644
 --- a/data/pki/meson.build
 +++ b/data/pki/meson.build
-@@ -4,14 +4,14 @@ if get_option('gpg')
+@@ -4,14 +4,14 @@
        'GPG-KEY-Linux-Foundation-Firmware',
        'GPG-KEY-Linux-Vendor-Firmware-Service',
      ],
@@ -41,7 +32,7 @@ index eefcc914..dc801fa1 100644
    )
  endif
  
-@@ -19,12 +19,12 @@ if get_option('pkcs7')
+@@ -19,12 +19,12 @@
    install_data([
        'LVFS-CA.pem',
      ],
@@ -57,10 +48,10 @@ index eefcc914..dc801fa1 100644
  endif
  
 diff --git a/data/remotes.d/meson.build b/data/remotes.d/meson.build
-index a27c31ef..374e09b6 100644
+index 826a3c1d..b78db663 100644
 --- a/data/remotes.d/meson.build
 +++ b/data/remotes.d/meson.build
-@@ -3,7 +3,7 @@ if get_option('daemon') and get_option('lvfs')
+@@ -3,7 +3,7 @@
        'lvfs.conf',
        'lvfs-testing.conf',
      ],
@@ -69,7 +60,7 @@ index a27c31ef..374e09b6 100644
    )
    i18n.merge_file(
      input: 'lvfs.metainfo.xml',
-@@ -37,12 +37,12 @@ configure_file(
+@@ -37,12 +37,12 @@
    output : 'vendor.conf',
    configuration : con2,
    install: true,
@@ -85,10 +76,10 @@ index a27c31ef..374e09b6 100644
 +  install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'),
  )
 diff --git a/meson.build b/meson.build
-index a89f9b3f..736896eb 100644
+index 8e1de887..a5bb1fe6 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -145,6 +145,12 @@ localstatedir = join_paths(prefix, get_option('localstatedir'))
+@@ -158,6 +158,12 @@
  mandir = join_paths(prefix, get_option('mandir'))
  localedir = join_paths(prefix, get_option('localedir'))
  
@@ -99,13 +90,13 @@ index a89f9b3f..736896eb 100644
 +endif
 +
  gio = dependency('gio-2.0', version : '>= 2.45.8')
+ giounix = dependency('gio-unix-2.0', version : '>= 2.45.8')
  if gio.version().version_compare ('>= 2.55.0')
-   conf.set('HAVE_GIO_2_55_0', '1')
 diff --git a/meson_options.txt b/meson_options.txt
-index 5d4163e8..db81fd1f 100644
+index 71b50c6a..561c2031 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -21,6 +21,7 @@ option('plugin_modem_manager', type : 'boolean', value : false, description : 'e
+@@ -24,6 +24,7 @@
  option('systemd', type : 'boolean', value : true, description : 'enable systemd support')
  option('systemdunitdir', type: 'string', value: '', description: 'Directory for systemd units')
  option('elogind', type : 'boolean', value : false, description : 'enable elogind support')
@@ -117,7 +108,7 @@ diff --git a/plugins/dell-esrt/meson.build b/plugins/dell-esrt/meson.build
 index cb9f4555..b972d7fb 100644
 --- a/plugins/dell-esrt/meson.build
 +++ b/plugins/dell-esrt/meson.build
-@@ -36,5 +36,5 @@ configure_file(
+@@ -36,5 +36,5 @@
    output : 'dell-esrt.conf',
    configuration : con2,
    install: true,
@@ -128,7 +119,7 @@ diff --git a/plugins/redfish/meson.build b/plugins/redfish/meson.build
 index 5c88504e..7706da71 100644
 --- a/plugins/redfish/meson.build
 +++ b/plugins/redfish/meson.build
-@@ -26,7 +26,7 @@ shared_module('fu_plugin_redfish',
+@@ -26,7 +26,7 @@
  )
  
  install_data(['redfish.conf'],
@@ -137,11 +128,24 @@ index 5c88504e..7706da71 100644
  )
  
  if get_option('tests')
+diff --git a/plugins/thunderbolt/meson.build b/plugins/thunderbolt/meson.build
+index 42718abf..bc815491 100644
+--- a/plugins/thunderbolt/meson.build
++++ b/plugins/thunderbolt/meson.build
+@@ -46,7 +46,7 @@
+ )
+ 
+ install_data(['thunderbolt.conf'],
+-  install_dir:  join_paths(sysconfdir, 'fwupd')
++  install_dir:  join_paths(sysconfdir_install, 'fwupd')
+ )
+ # we use functions from 2.52 in the tests
+ if get_option('tests') and umockdev.found() and gio.version().version_compare('>= 2.52')
 diff --git a/plugins/uefi/meson.build b/plugins/uefi/meson.build
-index ac9f5dd8..1ab51b5e 100644
+index 45b18d7d..ef8e0b04 100644
 --- a/plugins/uefi/meson.build
 +++ b/plugins/uefi/meson.build
-@@ -79,7 +79,7 @@ executable(
+@@ -85,7 +85,7 @@
  )
  
  install_data(['uefi.conf'],
diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix
index 785693272191..1f6a7145b779 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/default.nix
+++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix
@@ -45,6 +45,7 @@
 , freetype
 , fontconfig
 , pango
+, tpm2-tss
 , bubblewrap
 , efibootmgr
 , flashrom
@@ -79,18 +80,18 @@ let
 
   # # Currently broken on Aarch64
   # haveFlashrom = isx86;
-  # Experimental in 1.2.10
+  # Experimental
   haveFlashrom = false;
 
 in
 
 stdenv.mkDerivation rec {
   pname = "fwupd";
-  version = "1.2.10";
+  version = "1.3.3";
 
   src = fetchurl {
     url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz";
-    sha256 = "0inngs7i48akm9c7fmdsf9zjif595rkaba69rl76jfwfv8r21vjb";
+    sha256 = "0nqzqvx8nzflhb4kzvkdcv7kixb50vh6h21kpkd7pjxp942ndzql";
   };
 
   outputs = [ "out" "lib" "dev" "devdoc" "man" "installedTests" ];
@@ -137,6 +138,7 @@ stdenv.mkDerivation rec {
     freetype
     fontconfig
     pango
+    tpm2-tss
     efivar
   ] ++ stdenv.lib.optionals haveDell [
     libsmbios
@@ -146,6 +148,10 @@ stdenv.mkDerivation rec {
     ./fix-paths.patch
     ./add-option-for-installation-sysconfdir.patch
 
+    # do not require which
+    # https://github.com/fwupd/fwupd/pull/1568
+    ./no-which.patch
+
     # installed tests are installed to different output
     # we also cannot have fwupd-tests.conf in $out/etc since it would form a cycle
     (substituteAll {
@@ -195,6 +201,7 @@ stdenv.mkDerivation rec {
   '';
 
   mesonFlags = [
+    "-Dgtkdoc=true"
     "-Dplugin_dummy=true"
     "-Dudevdir=lib/udev"
     "-Dsystemdunitdir=lib/systemd/system"
@@ -209,8 +216,8 @@ stdenv.mkDerivation rec {
     "-Dplugin_synaptics=false"
   ] ++ stdenv.lib.optionals (!haveRedfish) [
     "-Dplugin_redfish=false"
-  ] ++ stdenv.lib.optionals (!haveFlashrom) [
-    "-Dplugin_flashrom=false"
+  ] ++ stdenv.lib.optionals haveFlashrom [
+    "-Dplugin_flashrom=true"
   ];
 
   # TODO: We need to be able to override the directory flags from meson setup hook
@@ -231,6 +238,9 @@ stdenv.mkDerivation rec {
   # https://github.com/NixOS/nixpkgs/pull/67625#issuecomment-525788428
   PKG_CONFIG_POLKIT_GOBJECT_1_ACTIONDIR = "/run/current-system/sw/share/polkit-1/actions";
 
+  # cannot install to systemd prefix
+  PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMPRESETDIR = "${placeholder "out"}/lib/systemd/system-preset";
+
   # TODO: wrapGAppsHook wraps efi capsule even though it is not elf
   dontWrapGApps = true;
   # so we need to wrap the executables manually
@@ -247,11 +257,15 @@ stdenv.mkDerivation rec {
   # /etc/fwupd/uefi.conf is created by the services.hardware.fwupd NixOS module
   passthru = {
     filesInstalledToEtc = [
+      # "fwupd/daemon.conf" # already created by the module
+      "fwupd/redfish.conf"
       "fwupd/remotes.d/dell-esrt.conf"
       "fwupd/remotes.d/lvfs-testing.conf"
       "fwupd/remotes.d/lvfs.conf"
       "fwupd/remotes.d/vendor.conf"
       "fwupd/remotes.d/vendor-directory.conf"
+      "fwupd/thunderbolt.conf"
+      # "fwupd/uefi.conf" # already created by the module
       "pki/fwupd/GPG-KEY-Hughski-Limited"
       "pki/fwupd/GPG-KEY-Linux-Foundation-Firmware"
       "pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service"
@@ -267,7 +281,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
-    homepage = https://fwupd.org/;
+    homepage = "https://fwupd.org/";
     maintainers = with maintainers; [ jtojnar ];
     license = [ licenses.gpl2 ];
     platforms = platforms.linux;
diff --git a/pkgs/os-specific/linux/firmware/fwupd/fix-paths.patch b/pkgs/os-specific/linux/firmware/fwupd/fix-paths.patch
index 9efd7b8d6abd..474b250097d0 100644
--- a/pkgs/os-specific/linux/firmware/fwupd/fix-paths.patch
+++ b/pkgs/os-specific/linux/firmware/fwupd/fix-paths.patch
@@ -6,14 +6,3 @@ index c7a430c0..e69de29b 100644
 -install_data('README.md',
 -  install_dir : join_paths(localstatedir, 'lib', 'fwupd', 'builder')
 -)
-diff --git a/meson_post_install.sh b/meson_post_install.sh
-index 0cbb6f41..d757a81a 100755
---- a/meson_post_install.sh
-+++ b/meson_post_install.sh
-@@ -11,6 +11,4 @@ LOCALSTATEDIR=$2
-     echo 'Updating systemd deps'
-     mkdir -p ${DESTDIR}${SYSTEMDUNITDIR}/system-update.target.wants
-     ln -sf ../fwupd-offline-update.service ${DESTDIR}${SYSTEMDUNITDIR}/system-update.target.wants/fwupd-offline-update.service
--    echo 'Creating stateful directory'
--    mkdir -p ${DESTDIR}${LOCALSTATEDIR}/lib/fwupd
- #fi
diff --git a/pkgs/os-specific/linux/firmware/fwupd/no-which.patch b/pkgs/os-specific/linux/firmware/fwupd/no-which.patch
new file mode 100644
index 000000000000..c0c65e42539d
--- /dev/null
+++ b/pkgs/os-specific/linux/firmware/fwupd/no-which.patch
@@ -0,0 +1,31 @@
+--- a/plugins/uefi/efi/generate_binary.sh
++++ b/plugins/uefi/efi/generate_binary.sh
+@@ -1,9 +1,9 @@
+ #!/bin/sh
+ output=$2
+-objcopy_cmd=$(which objcopy)
+-genpeimg_cmd=$(which genpeimg)
++objcopy_cmd=$(command -v objcopy)
++genpeimg_cmd=$(command -v genpeimg)
+ 
+-$objcopy_cmd  -j .text \
++"$objcopy_cmd"  -j .text \
+               -j .sdata \
+               -j .data \
+               -j .dynamic \
+@@ -11,7 +11,7 @@
+               -j .rel \
+               -j .rela \
+               -j .reloc \
+-              $*
++              "$@"
+ 
+ if [ -n "${genpeimg_cmd}" ]; then
+         $genpeimg_cmd -d \
+@@ -20,5 +20,5 @@
+                       +n \
+                       -d \
+                       +s \
+-                      $output
++                      "$output"
+ fi
diff --git a/pkgs/os-specific/linux/hostapd/default.nix b/pkgs/os-specific/linux/hostapd/default.nix
index e90470cd5891..41d7f2366822 100644
--- a/pkgs/os-specific/linux/hostapd/default.nix
+++ b/pkgs/os-specific/linux/hostapd/default.nix
@@ -69,7 +69,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://hostap.epitest.fi;
+    homepage = https://hostap.epitest.fi;
     repositories.git = git://w1.fi/hostap.git;
     description = "A user space daemon for access point and authentication servers";
     license = licenses.gpl2;
diff --git a/pkgs/os-specific/linux/intel-compute-runtime/default.nix b/pkgs/os-specific/linux/intel-compute-runtime/default.nix
index 5021d12acecd..d8aefd02e7f4 100644
--- a/pkgs/os-specific/linux/intel-compute-runtime/default.nix
+++ b/pkgs/os-specific/linux/intel-compute-runtime/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-compute-runtime";
-  version = "19.34.13959";
+  version = "19.44.14658";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "compute-runtime";
     rev = version;
-    sha256 = "1m54w5p5pilrkmlmqgvgrsm3d5dqfdr4jai5siq5ccsqj4gnv1wz";
+    sha256 = "1pl7yhmgzf7r2b8jyxzmwdc7772gd24izy2z2g4n5s205s125k7x";
   };
 
   # Build script tries to write the ICD to /etc
diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix
index d30ac5e62bb4..b8b46b33e96c 100644
--- a/pkgs/os-specific/linux/iproute/default.nix
+++ b/pkgs/os-specific/linux/iproute/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "iproute2";
-  version = "5.3.0";
+  version = "5.4.0";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/net/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0gvv269wjn4279hxr5zzwsk2c5qgswr47za3hm1x4frsk52iw76b";
+    sha256 = "1bl6c3af7wbgi6nqjfm32fkhqh63iphkg2g11f1srifll1ham5zy";
   };
 
   preConfigure = ''
diff --git a/pkgs/os-specific/linux/ipset/default.nix b/pkgs/os-specific/linux/ipset/default.nix
index 57255b4a382b..4463e6898511 100644
--- a/pkgs/os-specific/linux/ipset/default.nix
+++ b/pkgs/os-specific/linux/ipset/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libmnl }:
 
 stdenv.mkDerivation rec {
-  name = "ipset-7.3";
+  name = "ipset-7.4";
 
   src = fetchurl {
     url = "http://ipset.netfilter.org/${name}.tar.bz2";
-    sha256 = "0nm3vagr1pb5hr1028qrwx6v6s8bxf1m4qjx72vak42y032wfi26";
+    sha256 = "110q996yrf74ckpkc5f4pn8j5bqq98f27fsak3ibgr3zwmv435sa";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/iwd/default.nix b/pkgs/os-specific/linux/iwd/default.nix
index 6d0eba0b0dbc..2ee5629451ea 100644
--- a/pkgs/os-specific/linux/iwd/default.nix
+++ b/pkgs/os-specific/linux/iwd/default.nix
@@ -8,16 +8,17 @@
 , docutils
 , readline
 , python3Packages
+, systemd
 }:
 
 stdenv.mkDerivation rec {
   pname = "iwd";
-  version = "0.22";
+  version = "1.1";
 
   src = fetchgit {
     url = https://git.kernel.org/pub/scm/network/wireless/iwd.git;
     rev = version;
-    sha256 = "0mjc08ayq2k7sinqanrlm97dn88dxkqkyk2vqqcx1nqjvwvbpbsp";
+    sha256 = "1rvsr5i79wpdicghplrxamb4qbkdm5cpgw3mk0rsqzwwj6d6l0vs";
   };
 
   nativeBuildInputs = [
@@ -31,6 +32,7 @@ stdenv.mkDerivation rec {
     ell
     python3Packages.python
     readline
+    systemd
   ];
 
   pythonPath = [
@@ -46,6 +48,7 @@ stdenv.mkDerivation rec {
     "--with-dbus-datadir=${placeholder "out"}/share/"
     "--with-systemd-modloaddir=${placeholder "out"}/etc/modules-load.d/" # maybe
     "--with-systemd-unitdir=${placeholder "out"}/lib/systemd/system/"
+    "--with-systemd-networkdir=${placeholder "out"}/lib/systemd/network/"
   ];
 
   postUnpack = ''
@@ -77,6 +80,6 @@ stdenv.mkDerivation rec {
     description = "Wireless daemon for Linux";
     license = licenses.lgpl21;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ dtzWill ];
+    maintainers = with maintainers; [ dtzWill fpletz ];
   };
 }
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 736e872f1baf..ff3e4fb25623 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -739,6 +739,9 @@ let
     } // optionalAttrs (stdenv.hostPlatform.system == "aarch64-linux") {
       # Enables support for the Allwinner Display Engine 2.0
       SUN8I_DE2_CCU = whenAtLeast "4.13" yes;
+
+      # See comments on https://github.com/NixOS/nixpkgs/commit/9b67ea9106102d882f53d62890468071900b9647
+      CRYPTO_AEGIS128_SIMD = no;
     };
   };
 in
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index ab15502fb786..0f6d6393fe2f 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.154";
+  version = "4.14.157";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${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 = "00q662s8mgnzqfgk5gkzqfv9ws3vryf28blbq1zxcy4s6wj4mpl6";
+    sha256 = "0cvpagbjwpj63lpybfq1rnwdnxcjw49z0b5prah39krf0nd7dylh";
   };
 } // (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 7cc597bef4ae..c9a2771dfbc5 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.84";
+  version = "4.19.87";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${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 = "0q06mhz170x1lkx6c6qdh82rcnsj03q6f2m28aqhmc4wc694m2w6";
+    sha256 = "07fsds2k0hxqgny86winzl46d79g6mb9s28bp7nwlvwf67l22wm5";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix
index a6d9dbe1abef..477aa6d0cce8 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.4.201";
+  version = "4.4.205";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "120kci4kmc48zcw16lhxmh71kaxm9ac5qxik36q3a20czg28b2m7";
+    sha256 = "19pasidvfmf94rs86v80x7hpirz9gavmkxwcl76ya61fq7lqy7zs";
   };
 } // (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 3dc151685171..940c7c7e57c1 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.201";
+  version = "4.9.205";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "125xmh5h1zmfniidpjljny53qkl4phpxaali69i66lajscxx8grq";
+    sha256 = "01cbqxw77g6rdg7dgk73pg9a2n9v4sxp48q2a77w1b068xjfifcq";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.3.nix b/pkgs/os-specific/linux/kernel/linux-5.3.nix
index c3312c250a53..6349563bad1c 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.3.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.3.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "5.3.11";
+  version = "5.3.14";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${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 = "1dxfh0l4inpjd17pyxfsskjsphs43r8lg6nhhr3y4whxdna5cwbf";
+    sha256 = "0ckrbzwsc4lxd3l287wsd88mkfsd0kpf8nzchd9nfmkjiil14mwm";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix
new file mode 100644
index 000000000000..1ac0d81530c5
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -0,0 +1,18 @@
+{ stdenv, buildPackages, fetchurl, perl, buildLinux, modDirVersionArg ? null, ... } @ args:
+
+with stdenv.lib;
+
+buildLinux (args // rec {
+  version = "5.4.1";
+
+  # modDirVersion needs to be x.y.z, will automatically add .0 if needed
+  modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
+
+  # branchVersion needs to be x.y
+  extraMeta.branch = versions.majorMinor version;
+
+  src = fetchurl {
+    url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
+    sha256 = "1nagqx18a49hgj13spvyf095231wgc441np4zcgl4gnm4jrqpm57";
+  };
+} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix
index 1e5c987d508b..37b728bde887 100644
--- a/pkgs/os-specific/linux/kernel/perf.nix
+++ b/pkgs/os-specific/linux/kernel/perf.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, kernel, elfutils, python, perl, newt, slang, asciidoc, xmlto, makeWrapper
+{ lib, stdenv, kernel, elfutils, python2, python3, perl, newt, slang, asciidoc, xmlto, makeWrapper
 , docbook_xsl, docbook_xml_dtd_45, libxslt, flex, bison, pkgconfig, libunwind, binutils
 , libiberty, audit, libbfd, libopcodes, openssl, systemtap, numactl
 , zlib, withGtk ? false, gtk2 ? null
@@ -36,12 +36,13 @@ stdenv.mkDerivation {
   # perf refers both to newt and slang
   nativeBuildInputs = [
     asciidoc xmlto docbook_xsl docbook_xml_dtd_45 libxslt
-    flex bison libiberty audit makeWrapper pkgconfig python perl
+    flex bison libiberty audit makeWrapper pkgconfig
   ];
   buildInputs = [
     elfutils newt slang libunwind libbfd zlib openssl systemtap.stapBuild numactl
-    libopcodes
-  ] ++ stdenv.lib.optional withGtk gtk2;
+    libopcodes python3 perl
+  ] ++ stdenv.lib.optional withGtk gtk2
+    ++ (if (versionAtLeast kernel.version "4.19") then [ python3 ] else [ python2 ]);
 
   # Note: we don't add elfutils to buildInputs, since it provides a
   # bad `ld' and other stuff.
diff --git a/pkgs/os-specific/linux/keyutils/default.nix b/pkgs/os-specific/linux/keyutils/default.nix
index 7d6ee61030c1..792cd32d654e 100644
--- a/pkgs/os-specific/linux/keyutils/default.nix
+++ b/pkgs/os-specific/linux/keyutils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "keyutils";
-  version = "1.6";
+  version = "1.6.1";
 
   src = fetchurl {
-    url = "https://people.redhat.com/dhowells/keyutils/${pname}-${version}.tar.bz2";
-    sha256 = "05bi5ja6f3h3kdi7p9dihlqlfrsmi1wh1r2bdgxc0180xh6g5bnk";
+    url = "https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git/snapshot/${pname}-${version}.tar.gz";
+    sha256 = "0mzmw8c7gqmqaxm3sa0xki8ycjla47xxhqg0yh17pl00d7ydqw9w";
   };
 
   patches = [
diff --git a/pkgs/os-specific/linux/kmscon/default.nix b/pkgs/os-specific/linux/kmscon/default.nix
index 0fff816eac7b..fd16acaa3a98 100644
--- a/pkgs/os-specific/linux/kmscon/default.nix
+++ b/pkgs/os-specific/linux/kmscon/default.nix
@@ -4,7 +4,7 @@
 , systemd
 , libxkbcommon
 , libdrm
-, libGLU_combined
+, libGLU, libGL
 , pango
 , pixman
 , pkgconfig
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     systemd
     libxkbcommon
     libdrm
-    libGLU_combined
+    libGLU libGL
     pango
     pixman
     pkgconfig
diff --git a/pkgs/os-specific/linux/libratbag/default.nix b/pkgs/os-specific/linux/libratbag/default.nix
index f2bf5c949704..2f92b316003e 100644
--- a/pkgs/os-specific/linux/libratbag/default.nix
+++ b/pkgs/os-specific/linux/libratbag/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libratbag";
-  version = "0.10";
+  version = "0.11";
 
   src = fetchFromGitHub {
     owner  = "libratbag";
     repo   = "libratbag";
     rev    = "v${version}";
-    sha256 = "10hahpv2n48b5z35d2draka7cz1a9vw53rvwfmpp5dibwnmi81jb";
+    sha256 = "1fcdcs4i83yic4rp3dsr7rq040f78lh8fb1ni1nnvp3y78fmibmi";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/os-specific/linux/mcelog/default.nix b/pkgs/os-specific/linux/mcelog/default.nix
index 2f0736318044..13bdbcc19f6f 100644
--- a/pkgs/os-specific/linux/mcelog/default.nix
+++ b/pkgs/os-specific/linux/mcelog/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mcelog";
-  version = "165";
+  version = "166";
 
   src = fetchFromGitHub {
     owner  = "andikleen";
     repo   = "mcelog";
     rev    = "v${version}";
-    sha256 = "1g242qz3jj7amgar497bbd8krljspwy89g1r32wz3fdpkn9m1w8s";
+    sha256 = "0q76lf5yrjq7b96ynj5dbf9ll94ymiab1b9106xpb4vbiwz0ia7w";
   };
 
   postPatch = ''
diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix
index bf76ec74b0ff..70b2580b6641 100644
--- a/pkgs/os-specific/linux/microcode/intel.nix
+++ b/pkgs/os-specific/linux/microcode/intel.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "microcode-intel";
-  version = "20191112";
+  version = "20191115";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "Intel-Linux-Processor-Microcode-Data-Files";
     rev = "microcode-${version}";
-    sha256 = "059hkl172kk5gcsv87z02vh3vdayk63qa6m6yrsipi1203dmyvzw";
+    sha256 = "0pzi5qmrcrdf6nsds4bvyq1hnvv9d1dlrvqrbzcrpxk84rcjwq1x";
   };
 
   nativeBuildInputs = [ iucode-tool libarchive ];
@@ -28,5 +28,6 @@ stdenv.mkDerivation rec {
     description = "Microcode for Intel processors";
     license = licenses.unfreeRedistributableFirmware;
     platforms = platforms.linux;
+    maintainers = with maintainers; [ andir ];
   };
 }
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index e3affca1220c..f1053cd994f0 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -20,25 +20,25 @@ if ((!lib.versionOlder args.version "391")
 in
 rec {
   # Policy: use the highest stable version as the default (on our master).
-  stable = if stdenv.hostPlatform.system == "x86_64-linux" then stable_43x else legacy_390;
+  stable = if stdenv.hostPlatform.system == "x86_64-linux"
+    then generic {
+      version = "440.36";
+      sha256_64bit = "0nbdldwizb802w4x0rqnyb1p7iqz5nqiahqr534n5ihz21a6422h";
+      settingsSha256 = "07hnl3bq76vsl655ipfx9v4zxjq0nc5hp43dk49nny4pi6ly06p1";
+      persistencedSha256 = "08zm1i5sax16xfhkivkmady0yy5argmxv846x21q98ry1ic6cp6w";
+    }
+    else legacy_390;
 
   # No active beta right now
   beta = stable;
 
-  stable_43x = generic {
-    version = "435.21";
-    sha256_64bit = "0v3pq677ab01qdmwl5dawk8hn39qlwj05p8s9qzh9irmrlnc1izs";
-    settingsSha256 = "1p13cz79kncwx5067a3d7dbz6a1ibp611zynp1qdxpa65hwp2pxa";
-    persistencedSha256 = "0br8znxhz2ryzdj0j4jhqzvdgw9h899q8yz0p9429xz4wxkavgdr";
-  };
-
   # Last one supporting x86
   legacy_390 = generic {
-    version = "390.129";
-    sha256_32bit = "0dkgkp0zx40hf1fsq5xnvbschp7r3c1x1pnpdxna24pi4s62cm2q";
-    sha256_64bit = "0h0jcckqpd63vaj95lvdgj2sbbn9y1ri1xx7r2snxfx0plhwz46n";
-    settingsSha256 = "1w5nkxs7a40mq0qf97nhfazdqhfn1bvr54v50s8p0ggixb6vdm3l";
-    persistencedSha256 = "02v76202qcnh8hvg4y9wmk9swdlv7z39ppfd1c850nlv158vn5nf";
+    version = "390.132";
+    sha256_32bit = "0xgjywzkmmm6a5gby67l2kx0gn7bcxksv4wam0sqym6l1s7v5bai";
+    sha256_64bit = "0qgzsajrc3xkf2jjkwip3la0f2ixp45f76nmz5cphvzrb7k2slxn";
+    settingsSha256 = "07nylqzhldq1gr40q7x5424p2aml3qqnvl2zvnpzc65x2way34v6";
+    persistencedSha256 = "0vab5rj9b1n9yl9674q7i88w1i5p8nhvrwsayn7i1vh4wp3m840r";
   };
 
   legacy_340 = generic {
diff --git a/pkgs/os-specific/linux/odp-dpdk/default.nix b/pkgs/os-specific/linux/odp-dpdk/default.nix
index 2d1e59668aa5..0bdc22da918d 100644
--- a/pkgs/os-specific/linux/odp-dpdk/default.nix
+++ b/pkgs/os-specific/linux/odp-dpdk/default.nix
@@ -1,42 +1,56 @@
 { stdenv, fetchurl, autoreconfHook, pkgconfig
-, dpdk, libconfig, libpcap, numactl, openssl
+, dpdk, libconfig, libpcap, numactl, openssl, zlib, libbsd, libelf, jansson
 }: let
-
-  dpdk_17_11 = dpdk.overrideAttrs (old: rec {
-    version = "17.11.6";
+  dpdk_18_11 = dpdk.overrideAttrs (old: rec {
+    version = "18.11.5";
     src = fetchurl {
       url = "https://fast.dpdk.org/rel/dpdk-${version}.tar.xz";
-      sha256 = "0g4l6yjcn17n18c7q1pxkmnj4fg2kiv0krz7n2vjjsb8s6gmbps2";
+      sha256 = "0000000000000000000000000000000000000000000000000000";
     };
   });
 
 in stdenv.mkDerivation rec {
   pname = "odp-dpdk";
-  version = "1.19.0.0_DPDK_17.11";
+  version = "1.22.0.0_DPDK_18.11";
 
   src = fetchurl {
     url = "https://git.linaro.org/lng/odp-dpdk.git/snapshot/${pname}-${version}.tar.gz";
-    sha256 = "05bwjaxl9hqc6fbkp95nniq11g3kvzmlxw0bq55i7p2v35nv38px";
+    sha256 = "1m8xhmfjqlj2gkkigq5ka3yh0xgzrcpfpaxp1pnh8d1g99094vbx";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ dpdk_17_11 libconfig libpcap numactl openssl ];
-
-  RTE_SDK = "${dpdk_17_11}/share/dpdk";
-  RTE_TARGET = "x86_64-native-linuxapp-gcc";
+  nativeBuildInputs = [
+    autoreconfHook
+    pkgconfig
+  ];
+  buildInputs = [
+    dpdk_18_11
+    libconfig
+    libpcap
+    numactl
+    openssl
+    zlib
+    libbsd
+    libelf
+    jansson
+  ];
 
-  dontDisableStatic = true;
+  # for some reason, /build/odp-dpdk-1.22.0.0_DPDK_18.11/lib/.libs ends up in all binaries,
+  # while it should be $out/lib instead.
+  # prepend rpath with the proper location, the /build will get removed during rpath shrinking
+  preFixup = ''
+    for prog in $out/bin/*; do
+      patchelf --set-rpath $out/lib:`patchelf --print-rpath $prog` $prog
+    done
+  '';
 
-  configureFlags = [
-    "--disable-shared"
-    "--with-dpdk-path=${dpdk_17_11}"
-  ];
+  # binaries will segfault otherwise
+  dontStrip = true;
 
   meta = with stdenv.lib; {
     description = "Open Data Plane optimized for DPDK";
     homepage = https://www.opendataplane.org;
     license = licenses.bsd3;
-    platforms =  [ "x86_64-linux" ];
+    platforms =  platforms.linux;
     maintainers = [ maintainers.abuibrahim ];
   };
 }
diff --git a/pkgs/os-specific/linux/open-iscsi/default.nix b/pkgs/os-specific/linux/open-iscsi/default.nix
index 090b9d7183d7..34e2591d44ab 100644
--- a/pkgs/os-specific/linux/open-iscsi/default.nix
+++ b/pkgs/os-specific/linux/open-iscsi/default.nix
@@ -4,7 +4,7 @@
 
 stdenv.mkDerivation rec {
   pname = "open-iscsi";
-  version = "2.0.878";
+  version = "2.1.0";
 
   nativeBuildInputs = [ autoconf automake gettext libtool perl pkgconf ];
   buildInputs = [ kmod openisns.lib openssl systemd utillinux ];
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     owner = "open-iscsi";
     repo = "open-iscsi";
     rev = version;
-    sha256 = "0hkprlni0z1zdkrmhd897knyfws0l95bz67fgp0vvf63ag08b5ly";
+    sha256 = "0z7rnbfa48j3r4ij7335xgjfb835gnnp10v7q6lvwg7bq6v5xvih";
   };
 
   DESTDIR = "$(out)";
@@ -30,6 +30,10 @@ stdenv.mkDerivation rec {
     $out/sbin/iscsistart -v
   '';
 
+  postFixup = ''
+    sed -i "s|/sbin/iscsiadm|$out/bin/iscsiadm|" $out/bin/iscsi_fw_login
+  '';
+
   meta = with stdenv.lib; {
     description = "A high performance, transport independent, multi-platform implementation of RFC3720";
     license = licenses.gpl2;
diff --git a/pkgs/os-specific/linux/openrazer/driver.nix b/pkgs/os-specific/linux/openrazer/driver.nix
index 355108f56e46..a6bf67db0980 100644
--- a/pkgs/os-specific/linux/openrazer/driver.nix
+++ b/pkgs/os-specific/linux/openrazer/driver.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation (common // {
   nativeBuildInputs = kernel.moduleBuildDependencies;
 
   buildFlags = [
-    "KERNELDIR=${kernel.dev}/lib/modules/${kernel.version}/build"
+    "KERNELDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
   ];
 
   installPhase = ''
diff --git a/pkgs/os-specific/linux/openvswitch/default.nix b/pkgs/os-specific/linux/openvswitch/default.nix
index bf26b9e2b28b..53fc986d9f63 100644
--- a/pkgs/os-specific/linux/openvswitch/default.nix
+++ b/pkgs/os-specific/linux/openvswitch/default.nix
@@ -1,24 +1,25 @@
 { stdenv, fetchurl, makeWrapper, pkgconfig, utillinux, which
-, procps, libcap_ng, openssl, python27 , perl
+, procps, libcap_ng, openssl, python3 , perl
 , kernel ? null }:
 
 with stdenv.lib;
 
 let
   _kernel = kernel;
+  pythonEnv = python3.withPackages (ps: with ps; [ six ]);
 in stdenv.mkDerivation rec {
-  version = "2.5.4";
+  version = "2.12.0";
   pname = "openvswitch";
 
   src = fetchurl {
-    url = "http://openvswitch.org/releases/${pname}-${version}.tar.gz";
-    sha256 = "1lji87wg953lqcdf02f1zv2m54vhd2x9jd03bb91lnlb4qlhifiv";
+    url = "https://www.openvswitch.org/releases/${pname}-${version}.tar.gz";
+    sha256 = "1y78ix5inhhcvicbvyy2ij38am1215nr55vydhab3d4065q45z8k";
   };
 
   kernel = optional (_kernel != null) _kernel.dev;
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ makeWrapper utillinux openssl libcap_ng python27
+  buildInputs = [ makeWrapper utillinux openssl libcap_ng pythonEnv
                   perl procps which ];
 
   configureFlags = [
@@ -36,27 +37,13 @@ in stdenv.mkDerivation rec {
 
   postBuild = ''
     # fix tests
-    substituteInPlace xenserver/opt_xensource_libexec_interface-reconfigure --replace '/usr/bin/env python' '${python27.interpreter}'
-    substituteInPlace vtep/ovs-vtep --replace '/usr/bin/env python' '${python27.interpreter}'
+    substituteInPlace xenserver/opt_xensource_libexec_interface-reconfigure --replace '/usr/bin/env python' '${pythonEnv.interpreter}'
+    substituteInPlace vtep/ovs-vtep --replace '/usr/bin/env python' '${pythonEnv.interpreter}'
   '';
 
   enableParallelBuilding = true;
   doCheck = false; # bash-completion test fails with "compgen: command not found"
 
-  postInstall = ''
-    cp debian/ovs-monitor-ipsec $out/share/openvswitch/scripts
-    makeWrapper \
-      $out/share/openvswitch/scripts/ovs-monitor-ipsec \
-      $out/bin/ovs-monitor-ipsec \
-      --prefix PYTHONPATH : "$out/share/openvswitch/python"
-    substituteInPlace $out/share/openvswitch/scripts/ovs-monitor-ipsec \
-      --replace "UnixctlServer.create(None)" "UnixctlServer.create(os.environ['UNIXCTLPATH'])"
-    substituteInPlace $out/share/openvswitch/scripts/ovs-monitor-ipsec \
-      --replace "self.psk_file" "root_prefix + self.psk_file"
-    substituteInPlace $out/share/openvswitch/scripts/ovs-monitor-ipsec \
-      --replace "self.cert_dir" "root_prefix + self.cert_dir"
-  '';
-
   meta = with stdenv.lib; {
     platforms = platforms.linux;
     description = "A multilayer virtual switch";
@@ -71,7 +58,8 @@ in stdenv.mkDerivation rec {
       support distribution across multiple physical servers similar
       to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
       '';
-    homepage = http://openvswitch.org/;
+    homepage = https://www.openvswitch.org/;
     license = licenses.asl20;
+    maintainers = with maintainers; [ netixx kmcopper ];
   };
 }
diff --git a/pkgs/os-specific/linux/openvswitch/lts.nix b/pkgs/os-specific/linux/openvswitch/lts.nix
new file mode 100644
index 000000000000..4f3f4c5c172a
--- /dev/null
+++ b/pkgs/os-specific/linux/openvswitch/lts.nix
@@ -0,0 +1,82 @@
+{ stdenv, fetchurl, makeWrapper, pkgconfig, utillinux, which
+, procps, libcap_ng, openssl, python2, iproute , perl
+, automake, autoconf, libtool, kernel ? null }:
+
+with stdenv.lib;
+
+let
+  _kernel = kernel;
+in stdenv.mkDerivation rec {
+  version = "2.5.9";
+  pname = "openvswitch";
+
+  src = fetchurl {
+    url = "https://www.openvswitch.org/releases/${pname}-${version}.tar.gz";
+    sha256 = "0iv0ncwl6s4qyyb655yj5xvqrjr1zbymmab96q259wa09xnyw7b7";
+  };
+
+  patches = [ ./patches/lts-ssl.patch ];
+
+  kernel = optional (_kernel != null) _kernel.dev;
+
+  nativeBuildInputs = [ autoconf libtool automake pkgconfig  ];
+  buildInputs = [ makeWrapper utillinux openssl libcap_ng python2
+                  perl procps which ];
+
+  preConfigure = "./boot.sh";
+
+  configureFlags = [
+    "--localstatedir=/var"
+    "--sharedstatedir=/var"
+    "--sbindir=$(out)/bin"
+  ] ++ (optionals (_kernel != null) ["--with-linux"]);
+
+  # Leave /var out of this!
+  installFlags = [
+    "LOGDIR=$(TMPDIR)/dummy"
+    "RUNDIR=$(TMPDIR)/dummy"
+    "PKIDIR=$(TMPDIR)/dummy"
+  ];
+
+  postBuild = ''
+    # fix tests
+    substituteInPlace xenserver/opt_xensource_libexec_interface-reconfigure --replace '/usr/bin/env python' '${python2.interpreter}'
+    substituteInPlace vtep/ovs-vtep --replace '/usr/bin/env python' '${python2.interpreter}'
+  '';
+
+  enableParallelBuilding = true;
+  doCheck = false; # bash-completion test fails with "compgen: command not found"
+
+  postInstall = ''
+    cp debian/ovs-monitor-ipsec $out/share/openvswitch/scripts
+    makeWrapper \
+      $out/share/openvswitch/scripts/ovs-monitor-ipsec \
+      $out/bin/ovs-monitor-ipsec \
+      --prefix PYTHONPATH : "$out/share/openvswitch/python"
+    substituteInPlace $out/share/openvswitch/scripts/ovs-monitor-ipsec \
+      --replace "UnixctlServer.create(None)" "UnixctlServer.create(os.environ['UNIXCTLPATH'])"
+    substituteInPlace $out/share/openvswitch/scripts/ovs-monitor-ipsec \
+      --replace "self.psk_file" "root_prefix + self.psk_file"
+    substituteInPlace $out/share/openvswitch/scripts/ovs-monitor-ipsec \
+      --replace "self.cert_dir" "root_prefix + self.cert_dir"
+  '';
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+    description = "A multilayer virtual switch";
+    longDescription =
+      ''
+      Open vSwitch is a production quality, multilayer virtual switch
+      licensed under the open source Apache 2.0 license. It is
+      designed to enable massive network automation through
+      programmatic extension, while still supporting standard
+      management interfaces and protocols (e.g. NetFlow, sFlow, SPAN,
+      RSPAN, CLI, LACP, 802.1ag). In addition, it is designed to
+      support distribution across multiple physical servers similar
+      to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
+      '';
+    homepage = https://www.openvswitch.org/;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ netixx kmcopper ];
+  };
+}
diff --git a/pkgs/os-specific/linux/openvswitch/patches/lts-ssl.patch b/pkgs/os-specific/linux/openvswitch/patches/lts-ssl.patch
new file mode 100644
index 000000000000..0d8ff5b0d523
--- /dev/null
+++ b/pkgs/os-specific/linux/openvswitch/patches/lts-ssl.patch
@@ -0,0 +1,274 @@
+diff --git a/build-aux/automake.mk b/build-aux/automake.mk
+new file mode 100644
+index 000000000..5d2657fd6
+--- /dev/null
++++ b/build-aux/automake.mk
+@@ -0,0 +1,2 @@
++EXTRA_DIST += \
++	build-aux/generate-dhparams-c 
+diff --git a/build-aux/generate-dhparams-c b/build-aux/generate-dhparams-c
+new file mode 100755
+index 000000000..bcd25e2d8
+--- /dev/null
++++ b/build-aux/generate-dhparams-c
+@@ -0,0 +1,33 @@
++#! /bin/sh -e
++
++cat <<'EOF'
++/* Generated automatically; do not modify!     -*- buffer-read-only: t -*-
++ *
++ * If you do need to regenerate this file, run "make generate-dhparams-c". */
++
++#include <config.h>
++#include "lib/dhparams.h"
++#include "lib/util.h"
++
++static int
++my_DH_set0_pqg(DH *dh, BIGNUM *p, const BIGNUM **q OVS_UNUSED, BIGNUM *g)
++{
++    ovs_assert(q == NULL);
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER)
++    dh->p = p;
++    dh->g = g;
++    return 1;
++#else
++    return DH_set0_pqg(dh, p, NULL, g);
++#endif
++}
++EOF
++(openssl dhparam -C -in lib/dh1024.pem -noout &&
++openssl dhparam -C -in lib/dh2048.pem -noout &&
++openssl dhparam -C -in lib/dh4096.pem -noout) | sed '
++    s/^static DH/DH/
++    s/\(get_dh[0-9]*\)()/\1(void)/
++    s/\(DH_set0_pqg\)/my_\1/
++    s/[ 	]*$//
++    s/	/        /g
++'
+diff --git a/lib/automake.mk b/lib/automake.mk
+index 5387d519a..804a8b7d7 100644
+--- a/lib/automake.mk
++++ b/lib/automake.mk
+@@ -399,15 +399,16 @@ lib_libopenvswitch_la_SOURCES += \
+ 	lib/route-table-bsd.c
+ endif
+ 
++.PHONY: generate-dhparams-c
+ if HAVE_OPENSSL
+-lib_libopenvswitch_la_SOURCES += lib/stream-ssl.c
+-nodist_lib_libopenvswitch_la_SOURCES += lib/dhparams.c
+-lib/dhparams.c: lib/dh1024.pem lib/dh2048.pem lib/dh4096.pem
+-	$(AM_V_GEN)(echo '#include "lib/dhparams.h"' &&                 \
+-	 openssl dhparam -C -in $(srcdir)/lib/dh1024.pem -noout &&	\
+-	 openssl dhparam -C -in $(srcdir)/lib/dh2048.pem -noout &&	\
+-	 openssl dhparam -C -in $(srcdir)/lib/dh4096.pem -noout)	\
+-	| sed 's/\(get_dh[0-9]*\)()/\1(void)/' > lib/dhparams.c.tmp &&  \
++lib_libopenvswitch_la_SOURCES += lib/stream-ssl.c lib/dhparams.c
++
++# Manually regenerates lib/dhparams.c.  Not normally necessary since
++# lib/dhparams.c is part of the repository and doesn't normally need
++# updates.
++generate-dhparams-c:
++	$(AM_V_GEN)cd $(srcdir) && \
++	build-aux/generate-dhparams-c > lib/dhparams.c.tmp && \
+ 	mv lib/dhparams.c.tmp lib/dhparams.c
+ else
+ lib_libopenvswitch_la_SOURCES += lib/stream-nossl.c
+diff --git a/lib/dhparams.c b/lib/dhparams.c
+new file mode 100644
+index 000000000..4e42efad2
+--- /dev/null
++++ b/lib/dhparams.c
+@@ -0,0 +1,192 @@
++/* Generated automatically; do not modify!     -*- buffer-read-only: t -*-
++ *
++ * If you do need to regenerate this file, run "make generate-dhparams-c". */
++
++#include <config.h>
++#include "lib/dhparams.h"
++#include "lib/util.h"
++
++static int
++my_DH_set0_pqg(DH *dh, BIGNUM *p, const BIGNUM **q OVS_UNUSED, BIGNUM *g)
++{
++    ovs_assert(q == NULL);
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER)
++    dh->p = p;
++    dh->g = g;
++    return 1;
++#else
++    return DH_set0_pqg(dh, p, NULL, g);
++#endif
++}
++#ifndef HEADER_DH_H
++# include <openssl/dh.h>
++#endif
++
++DH *get_dh1024(void)
++{
++    static unsigned char dhp_1024[] = {
++        0xF4, 0x88, 0xFD, 0x58, 0x4E, 0x49, 0xDB, 0xCD, 0x20, 0xB4,
++        0x9D, 0xE4, 0x91, 0x07, 0x36, 0x6B, 0x33, 0x6C, 0x38, 0x0D,
++        0x45, 0x1D, 0x0F, 0x7C, 0x88, 0xB3, 0x1C, 0x7C, 0x5B, 0x2D,
++        0x8E, 0xF6, 0xF3, 0xC9, 0x23, 0xC0, 0x43, 0xF0, 0xA5, 0x5B,
++        0x18, 0x8D, 0x8E, 0xBB, 0x55, 0x8C, 0xB8, 0x5D, 0x38, 0xD3,
++        0x34, 0xFD, 0x7C, 0x17, 0x57, 0x43, 0xA3, 0x1D, 0x18, 0x6C,
++        0xDE, 0x33, 0x21, 0x2C, 0xB5, 0x2A, 0xFF, 0x3C, 0xE1, 0xB1,
++        0x29, 0x40, 0x18, 0x11, 0x8D, 0x7C, 0x84, 0xA7, 0x0A, 0x72,
++        0xD6, 0x86, 0xC4, 0x03, 0x19, 0xC8, 0x07, 0x29, 0x7A, 0xCA,
++        0x95, 0x0C, 0xD9, 0x96, 0x9F, 0xAB, 0xD0, 0x0A, 0x50, 0x9B,
++        0x02, 0x46, 0xD3, 0x08, 0x3D, 0x66, 0xA4, 0x5D, 0x41, 0x9F,
++        0x9C, 0x7C, 0xBD, 0x89, 0x4B, 0x22, 0x19, 0x26, 0xBA, 0xAB,
++        0xA2, 0x5E, 0xC3, 0x55, 0xE9, 0x2F, 0x78, 0xC7
++    };
++    static unsigned char dhg_1024[] = {
++        0x02
++    };
++    DH *dh = DH_new();
++    BIGNUM *dhp_bn, *dhg_bn;
++
++    if (dh == NULL)
++        return NULL;
++    dhp_bn = BN_bin2bn(dhp_1024, sizeof (dhp_1024), NULL);
++    dhg_bn = BN_bin2bn(dhg_1024, sizeof (dhg_1024), NULL);
++    if (dhp_bn == NULL || dhg_bn == NULL
++            || !my_DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) {
++        DH_free(dh);
++        BN_free(dhp_bn);
++        BN_free(dhg_bn);
++        return NULL;
++    }
++    return dh;
++}
++#ifndef HEADER_DH_H
++# include <openssl/dh.h>
++#endif
++
++DH *get_dh2048(void)
++{
++    static unsigned char dhp_2048[] = {
++        0xF6, 0x42, 0x57, 0xB7, 0x08, 0x7F, 0x08, 0x17, 0x72, 0xA2,
++        0xBA, 0xD6, 0xA9, 0x42, 0xF3, 0x05, 0xE8, 0xF9, 0x53, 0x11,
++        0x39, 0x4F, 0xB6, 0xF1, 0x6E, 0xB9, 0x4B, 0x38, 0x20, 0xDA,
++        0x01, 0xA7, 0x56, 0xA3, 0x14, 0xE9, 0x8F, 0x40, 0x55, 0xF3,
++        0xD0, 0x07, 0xC6, 0xCB, 0x43, 0xA9, 0x94, 0xAD, 0xF7, 0x4C,
++        0x64, 0x86, 0x49, 0xF8, 0x0C, 0x83, 0xBD, 0x65, 0xE9, 0x17,
++        0xD4, 0xA1, 0xD3, 0x50, 0xF8, 0xF5, 0x59, 0x5F, 0xDC, 0x76,
++        0x52, 0x4F, 0x3D, 0x3D, 0x8D, 0xDB, 0xCE, 0x99, 0xE1, 0x57,
++        0x92, 0x59, 0xCD, 0xFD, 0xB8, 0xAE, 0x74, 0x4F, 0xC5, 0xFC,
++        0x76, 0xBC, 0x83, 0xC5, 0x47, 0x30, 0x61, 0xCE, 0x7C, 0xC9,
++        0x66, 0xFF, 0x15, 0xF9, 0xBB, 0xFD, 0x91, 0x5E, 0xC7, 0x01,
++        0xAA, 0xD3, 0x5B, 0x9E, 0x8D, 0xA0, 0xA5, 0x72, 0x3A, 0xD4,
++        0x1A, 0xF0, 0xBF, 0x46, 0x00, 0x58, 0x2B, 0xE5, 0xF4, 0x88,
++        0xFD, 0x58, 0x4E, 0x49, 0xDB, 0xCD, 0x20, 0xB4, 0x9D, 0xE4,
++        0x91, 0x07, 0x36, 0x6B, 0x33, 0x6C, 0x38, 0x0D, 0x45, 0x1D,
++        0x0F, 0x7C, 0x88, 0xB3, 0x1C, 0x7C, 0x5B, 0x2D, 0x8E, 0xF6,
++        0xF3, 0xC9, 0x23, 0xC0, 0x43, 0xF0, 0xA5, 0x5B, 0x18, 0x8D,
++        0x8E, 0xBB, 0x55, 0x8C, 0xB8, 0x5D, 0x38, 0xD3, 0x34, 0xFD,
++        0x7C, 0x17, 0x57, 0x43, 0xA3, 0x1D, 0x18, 0x6C, 0xDE, 0x33,
++        0x21, 0x2C, 0xB5, 0x2A, 0xFF, 0x3C, 0xE1, 0xB1, 0x29, 0x40,
++        0x18, 0x11, 0x8D, 0x7C, 0x84, 0xA7, 0x0A, 0x72, 0xD6, 0x86,
++        0xC4, 0x03, 0x19, 0xC8, 0x07, 0x29, 0x7A, 0xCA, 0x95, 0x0C,
++        0xD9, 0x96, 0x9F, 0xAB, 0xD0, 0x0A, 0x50, 0x9B, 0x02, 0x46,
++        0xD3, 0x08, 0x3D, 0x66, 0xA4, 0x5D, 0x41, 0x9F, 0x9C, 0x7C,
++        0xBD, 0x89, 0x4B, 0x22, 0x19, 0x26, 0xBA, 0xAB, 0xA2, 0x5E,
++        0xC3, 0x55, 0xE9, 0x32, 0x0B, 0x3B
++    };
++    static unsigned char dhg_2048[] = {
++        0x02
++    };
++    DH *dh = DH_new();
++    BIGNUM *dhp_bn, *dhg_bn;
++
++    if (dh == NULL)
++        return NULL;
++    dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL);
++    dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL);
++    if (dhp_bn == NULL || dhg_bn == NULL
++            || !my_DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) {
++        DH_free(dh);
++        BN_free(dhp_bn);
++        BN_free(dhg_bn);
++        return NULL;
++    }
++    return dh;
++}
++#ifndef HEADER_DH_H
++# include <openssl/dh.h>
++#endif
++
++DH *get_dh4096(void)
++{
++    static unsigned char dhp_4096[] = {
++        0xFA, 0x14, 0x72, 0x52, 0xC1, 0x4D, 0xE1, 0x5A, 0x49, 0xD4,
++        0xEF, 0x09, 0x2D, 0xC0, 0xA8, 0xFD, 0x55, 0xAB, 0xD7, 0xD9,
++        0x37, 0x04, 0x28, 0x09, 0xE2, 0xE9, 0x3E, 0x77, 0xE2, 0xA1,
++        0x7A, 0x18, 0xDD, 0x46, 0xA3, 0x43, 0x37, 0x23, 0x90, 0x97,
++        0xF3, 0x0E, 0xC9, 0x03, 0x50, 0x7D, 0x65, 0xCF, 0x78, 0x62,
++        0xA6, 0x3A, 0x62, 0x22, 0x83, 0xA1, 0x2F, 0xFE, 0x79, 0xBA,
++        0x35, 0xFF, 0x59, 0xD8, 0x1D, 0x61, 0xDD, 0x1E, 0x21, 0x13,
++        0x17, 0xFE, 0xCD, 0x38, 0x87, 0x9E, 0xF5, 0x4F, 0x79, 0x10,
++        0x61, 0x8D, 0xD4, 0x22, 0xF3, 0x5A, 0xED, 0x5D, 0xEA, 0x21,
++        0xE9, 0x33, 0x6B, 0x48, 0x12, 0x0A, 0x20, 0x77, 0xD4, 0x25,
++        0x60, 0x61, 0xDE, 0xF6, 0xB4, 0x4F, 0x1C, 0x63, 0x40, 0x8B,
++        0x3A, 0x21, 0x93, 0x8B, 0x79, 0x53, 0x51, 0x2C, 0xCA, 0xB3,
++        0x7B, 0x29, 0x56, 0xA8, 0xC7, 0xF8, 0xF4, 0x7B, 0x08, 0x5E,
++        0xA6, 0xDC, 0xA2, 0x45, 0x12, 0x56, 0xDD, 0x41, 0x92, 0xF2,
++        0xDD, 0x5B, 0x8F, 0x23, 0xF0, 0xF3, 0xEF, 0xE4, 0x3B, 0x0A,
++        0x44, 0xDD, 0xED, 0x96, 0x84, 0xF1, 0xA8, 0x32, 0x46, 0xA3,
++        0xDB, 0x4A, 0xBE, 0x3D, 0x45, 0xBA, 0x4E, 0xF8, 0x03, 0xE5,
++        0xDD, 0x6B, 0x59, 0x0D, 0x84, 0x1E, 0xCA, 0x16, 0x5A, 0x8C,
++        0xC8, 0xDF, 0x7C, 0x54, 0x44, 0xC4, 0x27, 0xA7, 0x3B, 0x2A,
++        0x97, 0xCE, 0xA3, 0x7D, 0x26, 0x9C, 0xAD, 0xF4, 0xC2, 0xAC,
++        0x37, 0x4B, 0xC3, 0xAD, 0x68, 0x84, 0x7F, 0x99, 0xA6, 0x17,
++        0xEF, 0x6B, 0x46, 0x3A, 0x7A, 0x36, 0x7A, 0x11, 0x43, 0x92,
++        0xAD, 0xE9, 0x9C, 0xFB, 0x44, 0x6C, 0x3D, 0x82, 0x49, 0xCC,
++        0x5C, 0x6A, 0x52, 0x42, 0xF8, 0x42, 0xFB, 0x44, 0xF9, 0x39,
++        0x73, 0xFB, 0x60, 0x79, 0x3B, 0xC2, 0x9E, 0x0B, 0xDC, 0xD4,
++        0xA6, 0x67, 0xF7, 0x66, 0x3F, 0xFC, 0x42, 0x3B, 0x1B, 0xDB,
++        0x4F, 0x66, 0xDC, 0xA5, 0x8F, 0x66, 0xF9, 0xEA, 0xC1, 0xED,
++        0x31, 0xFB, 0x48, 0xA1, 0x82, 0x7D, 0xF8, 0xE0, 0xCC, 0xB1,
++        0xC7, 0x03, 0xE4, 0xF8, 0xB3, 0xFE, 0xB7, 0xA3, 0x13, 0x73,
++        0xA6, 0x7B, 0xC1, 0x0E, 0x39, 0xC7, 0x94, 0x48, 0x26, 0x00,
++        0x85, 0x79, 0xFC, 0x6F, 0x7A, 0xAF, 0xC5, 0x52, 0x35, 0x75,
++        0xD7, 0x75, 0xA4, 0x40, 0xFA, 0x14, 0x74, 0x61, 0x16, 0xF2,
++        0xEB, 0x67, 0x11, 0x6F, 0x04, 0x43, 0x3D, 0x11, 0x14, 0x4C,
++        0xA7, 0x94, 0x2A, 0x39, 0xA1, 0xC9, 0x90, 0xCF, 0x83, 0xC6,
++        0xFF, 0x02, 0x8F, 0xA3, 0x2A, 0xAC, 0x26, 0xDF, 0x0B, 0x8B,
++        0xBE, 0x64, 0x4A, 0xF1, 0xA1, 0xDC, 0xEE, 0xBA, 0xC8, 0x03,
++        0x82, 0xF6, 0x62, 0x2C, 0x5D, 0xB6, 0xBB, 0x13, 0x19, 0x6E,
++        0x86, 0xC5, 0x5B, 0x2B, 0x5E, 0x3A, 0xF3, 0xB3, 0x28, 0x6B,
++        0x70, 0x71, 0x3A, 0x8E, 0xFF, 0x5C, 0x15, 0xE6, 0x02, 0xA4,
++        0xCE, 0xED, 0x59, 0x56, 0xCC, 0x15, 0x51, 0x07, 0x79, 0x1A,
++        0x0F, 0x25, 0x26, 0x27, 0x30, 0xA9, 0x15, 0xB2, 0xC8, 0xD4,
++        0x5C, 0xCC, 0x30, 0xE8, 0x1B, 0xD8, 0xD5, 0x0F, 0x19, 0xA8,
++        0x80, 0xA4, 0xC7, 0x01, 0xAA, 0x8B, 0xBA, 0x53, 0xBB, 0x47,
++        0xC2, 0x1F, 0x6B, 0x54, 0xB0, 0x17, 0x60, 0xED, 0x79, 0x21,
++        0x95, 0xB6, 0x05, 0x84, 0x37, 0xC8, 0x03, 0xA4, 0xDD, 0xD1,
++        0x06, 0x69, 0x8F, 0x4C, 0x39, 0xE0, 0xC8, 0x5D, 0x83, 0x1D,
++        0xBE, 0x6A, 0x9A, 0x99, 0xF3, 0x9F, 0x0B, 0x45, 0x29, 0xD4,
++        0xCB, 0x29, 0x66, 0xEE, 0x1E, 0x7E, 0x3D, 0xD7, 0x13, 0x4E,
++        0xDB, 0x90, 0x90, 0x58, 0xCB, 0x5E, 0x9B, 0xCD, 0x2E, 0x2B,
++        0x0F, 0xA9, 0x4E, 0x78, 0xAC, 0x05, 0x11, 0x7F, 0xE3, 0x9E,
++        0x27, 0xD4, 0x99, 0xE1, 0xB9, 0xBD, 0x78, 0xE1, 0x84, 0x41,
++        0xA0, 0xDF
++    };
++    static unsigned char dhg_4096[] = {
++        0x02
++    };
++    DH *dh = DH_new();
++    BIGNUM *dhp_bn, *dhg_bn;
++
++    if (dh == NULL)
++        return NULL;
++    dhp_bn = BN_bin2bn(dhp_4096, sizeof (dhp_4096), NULL);
++    dhg_bn = BN_bin2bn(dhg_4096, sizeof (dhg_4096), NULL);
++    if (dhp_bn == NULL || dhg_bn == NULL
++            || !my_DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) {
++        DH_free(dh);
++        BN_free(dhp_bn);
++        BN_free(dhg_bn);
++        return NULL;
++    }
++    return dh;
++}
diff --git a/pkgs/os-specific/linux/pam_ccreds/default.nix b/pkgs/os-specific/linux/pam_ccreds/default.nix
index 8293ac0a830a..012750c22adc 100644
--- a/pkgs/os-specific/linux/pam_ccreds/default.nix
+++ b/pkgs/os-specific/linux/pam_ccreds/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, pam, openssl, db}:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "pam_ccreds-10";
 
   src = fetchurl {
-    url = "http://www.padl.com/download/pam_ccreds.tgz";
+    url = "https://www.padl.com/download/${name}.tar.gz";
     sha256 = "1h7zyg1b1h69civyvrj95w22dg0y7lgw3hq4gqkdcg35w1y76fhz";
   };
   patchPhase = ''
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   buildInputs = [ pam openssl db ];
 
   meta = with stdenv.lib; {
-    homepage = http://www.padl.com/OSS/pam_ccreds.html;
+    homepage = https://www.padl.com/OSS/pam_ccreds.html;
     description = "PAM module to locally authenticate using an enterprise identity when the network is unavailable";
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/os-specific/linux/pam_ldap/default.nix b/pkgs/os-specific/linux/pam_ldap/default.nix
index 5b34a8bc82b5..2b3a300eccaa 100644
--- a/pkgs/os-specific/linux/pam_ldap/default.nix
+++ b/pkgs/os-specific/linux/pam_ldap/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "pam_ldap-186";
 
   src = fetchurl {
-    url = "http://www.padl.com/download/${name}.tar.gz";
+    url = "https://www.padl.com/download/${name}.tar.gz";
     sha256 = "0lv4f7hc02jrd2l3gqxd247qq62z11sp3fafn8lgb8ymb7aj5zn8";
   };
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ pam openldap ];
 
   meta = {
-    homepage = http://www.padl.com/OSS/pam_ldap.html;
+    homepage = https://www.padl.com/OSS/pam_ldap.html;
     description = "LDAP backend for PAM";
     longDescription = ''
       The pam_ldap module provides the means for Solaris and Linux servers and
diff --git a/pkgs/os-specific/linux/prl-tools/default.nix b/pkgs/os-specific/linux/prl-tools/default.nix
index 5f84b5dcc662..b5e44a10947b 100644
--- a/pkgs/os-specific/linux/prl-tools/default.nix
+++ b/pkgs/os-specific/linux/prl-tools/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     ( cd $sourceRoot/tools; tar -xaf prltools${if x64 then ".x64" else ""}.tar.gz )
   '';
 
-  kernelVersion = if libsOnly then "" else (builtins.parseDrvName kernel.name).version;
+  kernelVersion = if libsOnly then "" else lib.getName kernel.name;
   kernelDir = if libsOnly then "" else "${kernel.dev}/lib/modules/${kernelVersion}";
   scriptPath = lib.concatStringsSep ":" (lib.optionals (!libsOnly) [ "${utillinux}/bin" "${gawk}/bin" ]);
 
diff --git a/pkgs/os-specific/linux/psmisc/default.nix b/pkgs/os-specific/linux/psmisc/default.nix
index 413b7d5dcbdf..999df37706de 100644
--- a/pkgs/os-specific/linux/psmisc/default.nix
+++ b/pkgs/os-specific/linux/psmisc/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "psmisc";
-  version = "23.2";
+  version = "23.3";
 
   src = fetchFromGitLab {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0d90wmibxpkl0d7sdibvvkwpyxyg6m6ksh5gwrjh15vf1swvd5i1";
+    sha256 = "1132xvrldv0dar2mf221mv5kvajq0v6yrq8k3nl0wslnh5baa0r0";
   };
 
   nativeBuildInputs = [ autoconf automake gettext ];
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index d14985d07edf..3cc976a909dd 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -30,7 +30,7 @@ let gnupg-minimal = gnupg.override {
   bzip2 = null;
 };
 in stdenv.mkDerivation {
-  version = "243";
+  version = "243.3";
   pname = "systemd";
 
   # When updating, use https://github.com/systemd/systemd-stable tree, not the development one!
@@ -38,8 +38,8 @@ in stdenv.mkDerivation {
   src = fetchFromGitHub {
     owner = "NixOS";
     repo = "systemd";
-    rev = "d25cf413c6bff1b5a9d216a8830e3a90c9cad1de";
-    sha256 = "0ilvrnh3m7g0yflxl16fk52gkb1z0fwwk9ba5gs4005nzpl0c7i0";
+    rev = "491a247eff9b7ce1e5877f5f3431517c95f3222f";
+    sha256 = "1xqiahapg480m165glrwqbfmc1fxw5sacdlm933cwyi1q8x4537g";
   };
 
   outputs = [ "out" "lib" "man" "dev" ];
diff --git a/pkgs/os-specific/linux/targetcli/default.nix b/pkgs/os-specific/linux/targetcli/default.nix
index b8990484cb98..aa670aba7271 100644
--- a/pkgs/os-specific/linux/targetcli/default.nix
+++ b/pkgs/os-specific/linux/targetcli/default.nix
@@ -2,17 +2,22 @@
 
 python.pkgs.buildPythonApplication rec {
   pname = "targetcli";
-  version = "2.1.fb49";
+  version = "2.1.51";
 
   src = fetchFromGitHub {
     owner = "open-iscsi";
     repo = "${pname}-fb";
     rev = "v${version}";
-    sha256 = "093dmwc5g6yz4cdgpbfszmc97i7nd286w4x447dvg22hvwvjwqhh";
+    sha256 = "07i9kyr525hlk32amzgycirwgwykdbjy5fmw6ji0nnhvk2jh4arn";
   };
 
   propagatedBuildInputs = with python.pkgs; [ configshell rtslib ];
 
+  postInstall = ''
+    install -D targetcli.8 -t $out/share/man/man8/
+    install -D targetclid.8 -t $out/share/man/man8/
+  '';
+
   meta = with stdenv.lib; {
     description = "A command shell for managing the Linux LIO kernel target";
     homepage = https://github.com/open-iscsi/targetcli-fb;
diff --git a/pkgs/os-specific/linux/tomb/default.nix b/pkgs/os-specific/linux/tomb/default.nix
index 9fde84060247..4a47ed8868db 100644
--- a/pkgs/os-specific/linux/tomb/default.nix
+++ b/pkgs/os-specific/linux/tomb/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tomb";
-  version = "2.6";
+  version = "2.7";
 
   src = fetchFromGitHub {
     owner  = "dyne";
     repo   = "Tomb";
     rev    = "v${version}";
-    sha256 = "0pr0lw1byxwkgv857zfmd8yqa03a7mckhzklrf9rkv1l6nisz0z0";
+    sha256 = "1vzkpzci6cp1r1q2n34pcgcns78i726k8d89dd6pibyj0vfnkl57";
   };
 
   buildInputs = [ sudo zsh pinentry ];
diff --git a/pkgs/os-specific/linux/trace-cmd/kernelshark.nix b/pkgs/os-specific/linux/trace-cmd/kernelshark.nix
index 2156177f6415..5e355ac7c9a7 100644
--- a/pkgs/os-specific/linux/trace-cmd/kernelshark.nix
+++ b/pkgs/os-specific/linux/trace-cmd/kernelshark.nix
@@ -32,7 +32,7 @@ mkDerivation {
 
   meta = with stdenv.lib; {
     description = "GUI for trace-cmd which is an interface for the Linux kernel ftrace subsystem";
-    homepage    = http://kernelshark.org/;
+    homepage    = https://kernelshark.org/;
     license     = licenses.gpl2;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ basvandijk ];
diff --git a/pkgs/os-specific/linux/usbguard/default.nix b/pkgs/os-specific/linux/usbguard/default.nix
index a9983561345e..3b4c1c4b6655 100644
--- a/pkgs/os-specific/linux/usbguard/default.nix
+++ b/pkgs/os-specific/linux/usbguard/default.nix
@@ -12,14 +12,14 @@ with stdenv.lib;
 assert libgcrypt != null -> libsodium == null;
 
 stdenv.mkDerivation rec {
-  version = "0.7.5";
+  version = "0.7.6";
   pname = "usbguard";
 
   repo = "https://github.com/USBGuard/usbguard";
 
   src = fetchurl {
     url = "${repo}/releases/download/${pname}-${version}/${pname}-${version}.tar.gz";
-    sha256 = "0jj56sls13ryfgz6vajq8p4dm3grgb6rf2cmga6sckmzd4chk65b";
+    sha256 = "0gzhs8s4aka86mkcjib36z54si939ki4bmk46p6v8kln1fixad3j";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/os-specific/linux/wpa_supplicant/default.nix b/pkgs/os-specific/linux/wpa_supplicant/default.nix
index 99425b6799ca..dc5b4289a451 100644
--- a/pkgs/os-specific/linux/wpa_supplicant/default.nix
+++ b/pkgs/os-specific/linux/wpa_supplicant/default.nix
@@ -105,7 +105,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://hostap.epitest.fi/wpa_supplicant/;
+    homepage = https://hostap.epitest.fi/wpa_supplicant/;
     description = "A tool for connecting to WPA and WPA2-protected wireless networks";
     license = licenses.bsd3;
     maintainers = with maintainers; [ marcweber ];
diff --git a/pkgs/os-specific/linux/wpa_supplicant/gui.nix b/pkgs/os-specific/linux/wpa_supplicant/gui.nix
index 7c6f595bfafd..d02901e0cc1c 100644
--- a/pkgs/os-specific/linux/wpa_supplicant/gui.nix
+++ b/pkgs/os-specific/linux/wpa_supplicant/gui.nix
@@ -25,7 +25,7 @@ mkDerivation {
 
   meta = with stdenv.lib; {
     description = "Qt-based GUI for wpa_supplicant";
-    homepage = http://hostap.epitest.fi/wpa_supplicant/;
+    homepage = https://hostap.epitest.fi/wpa_supplicant/;
     license = licenses.bsd3;
     platforms = platforms.linux;
   };
diff --git a/pkgs/servers/atlassian/confluence.nix b/pkgs/servers/atlassian/confluence.nix
index d7fb5b554681..4d403e7d9389 100644
--- a/pkgs/servers/atlassian/confluence.nix
+++ b/pkgs/servers/atlassian/confluence.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "atlassian-confluence";
-  version = "7.0.2";
+  version = "7.0.3";
 
   src = fetchurl {
     url = "https://product-downloads.atlassian.com/software/confluence/downloads/${pname}-${version}.tar.gz";
-    sha256 = "00ma2l6gknlpaf2k26md9fskgzcllky3vv89sb1izsrxl8la1dhq";
+    sha256 = "1anmhfdy4q74wchzha8fd2bd5hx0a2v3bgp9p5yvb8cal31zqcpd";
   };
 
   buildPhase = ''
diff --git a/pkgs/servers/bird/default.nix b/pkgs/servers/bird/default.nix
index 7ac7bc8e918e..2cc27eda1d4d 100644
--- a/pkgs/servers/bird/default.nix
+++ b/pkgs/servers/bird/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchpatch, flex, bison, readline }:
+{ lib, stdenv, fetchurl, fetchpatch, flex, bison, readline, libssh }:
 
 with lib;
 
@@ -15,7 +15,7 @@ let
       };
 
       nativeBuildInputs = [ flex bison ];
-      buildInputs = [ readline ];
+      buildInputs = [ readline libssh ];
 
       patches = [
         (./. + "/dont-create-sysconfdir-${builtins.substring 0 1 version}.patch")
diff --git a/pkgs/servers/computing/slurm/default.nix b/pkgs/servers/computing/slurm/default.nix
index e0c7e635d6c5..8eb8437b0d51 100644
--- a/pkgs/servers/computing/slurm/default.nix
+++ b/pkgs/servers/computing/slurm/default.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   pname = "slurm";
-  version = "19.05.3.2";
+  version = "19.05.4.1";
 
   # N.B. We use github release tags instead of https://www.schedmd.com/downloads.php
   # because the latter does not keep older releases.
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     repo = "slurm";
     # The release tags use - instead of .
     rev = "${pname}-${builtins.replaceStrings ["."] ["-"] version}";
-    sha256 = "1ds4dvwswyx9rjcmcwz2fm2zi3q4gcc2n0fxxihl31i5i6wg1kv0";
+    sha256 = "07ydjda2dl9casz8hh91jlxdyc67mj4af1l2gq3gkzi4397azzz6";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/servers/consul/default.nix b/pkgs/servers/consul/default.nix
index e993f70b1053..2a4361d99d2e 100644
--- a/pkgs/servers/consul/default.nix
+++ b/pkgs/servers/consul/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "consul";
-  version = "1.6.1";
+  version = "1.6.2";
   rev = "v${version}";
 
   goPackagePath = "github.com/hashicorp/consul";
@@ -19,7 +19,7 @@ buildGoPackage rec {
     owner = "hashicorp";
     repo = pname;
     inherit rev;
-    sha256 = "00dvvxi7y80v2b6wzwyfzhxv1ksnl1m0nmdjl98dhq5ikb0v7p28";
+    sha256 = "0r9wqxhgspgypvp9xdv931r8g28gjg9njdignp84rrbxljix25my";
   };
 
   preBuild = ''
diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix
index 40a116f56658..e13967d7af17 100644
--- a/pkgs/servers/dns/bind/default.nix
+++ b/pkgs/servers/dns/bind/default.nix
@@ -10,11 +10,11 @@ assert enablePython -> python3 != null;
 
 stdenv.mkDerivation rec {
   pname = "bind";
-  version = "9.14.7";
+  version = "9.14.8";
 
   src = fetchurl {
     url = "https://ftp.isc.org/isc/bind9/${version}/${pname}-${version}.tar.gz";
-    sha256 = "07998nx0yv3xy8c62b1ira9qygsgvpljwcgb47ypzxq8b57gb86f";
+    sha256 = "0xm0xrpgxq6gk6r6aa2w0lygnq02y1p614dmyjdmlsfnrrsslig5";
   };
 
   outputs = [ "out" "lib" "dev" "man" "dnsutils" "host" ];
diff --git a/pkgs/servers/dns/nsd/default.nix b/pkgs/servers/dns/nsd/default.nix
index 531e00e578f8..b6a405f6d2d9 100644
--- a/pkgs/servers/dns/nsd/default.nix
+++ b/pkgs/servers/dns/nsd/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nsd";
-  version = "4.2.2";
+  version = "4.2.3";
 
   src = fetchurl {
     url = "https://www.nlnetlabs.nl/downloads/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "1ys608jyp5scc957q4brm094c97sxlwymina7d2nvzi51aa37cw3";
+    sha256 = "1664wpglrwqk627xma10f9qa652vzmf90gsjd8pribyj74xrczc1";
   };
 
   prePatch = ''
diff --git a/pkgs/servers/documize-community/default.nix b/pkgs/servers/documize-community/default.nix
index e6b7e2be125d..2cc6b2a9f74d 100644
--- a/pkgs/servers/documize-community/default.nix
+++ b/pkgs/servers/documize-community/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "documize-community";
-  version = "3.4.2";
+  version = "3.5.0";
 
   src = fetchFromGitHub {
     owner = "documize";
     repo = "community";
     rev = "v${version}";
-    sha256 = "17dzj24dc3f6bw8v4fsj578gfz0fcvh42a2srci580s41mq2kjy4";
+    sha256 = "1y38lgkxhyrga44wj216vl08fzyv8wbk02a85flnihrb4b1092x0";
   };
 
   goPackagePath = "github.com/documize/community";
diff --git a/pkgs/servers/freeradius/default.nix b/pkgs/servers/freeradius/default.nix
index eeea3298ecdc..cbd710853402 100644
--- a/pkgs/servers/freeradius/default.nix
+++ b/pkgs/servers/freeradius/default.nix
@@ -43,11 +43,11 @@ assert withRest -> curl != null && withJson;
 with stdenv.lib;
 stdenv.mkDerivation rec {
   pname = "freeradius";
-  version = "3.0.19";
+  version = "3.0.20";
 
   src = fetchurl {
     url = "ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-${version}.tar.gz";
-    sha256 = "0v5b46rq878093ff549ijccy98md1l7l4rvshjxs672il0zvq5i4";
+    sha256 = "0zrnlpril8lcnyd6zz0wy45wj5i2k2krcf42dwa0rldjsjh6nazp";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/servers/gortr/default.nix b/pkgs/servers/gortr/default.nix
new file mode 100644
index 000000000000..375631d5cbf8
--- /dev/null
+++ b/pkgs/servers/gortr/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchFromGitHub, buildGoModule }:
+
+buildGoModule rec {
+  pname = "gortr";
+  version = "0.13.0";
+
+  src = fetchFromGitHub {
+    owner = "cloudflare";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1kg42qynqqj05bvfwzd77mpl63y3gnkk15x2a4rspxf4w1ziaxkr";
+  };
+  modSha256 = "157dpalfz3z1s3mxq63xy6lrkwzyy9xzmvn7wsxkwznjq4djv1a1";
+
+  meta = with lib; {
+    description = "The RPKI-to-Router server used at Cloudflare";
+    homepage = "https://github.com/cloudflare/gortr/";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ petabyteboy ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/servers/gotify/default.nix b/pkgs/servers/gotify/default.nix
index 06663a87bcdc..cce37fd8e6b0 100644
--- a/pkgs/servers/gotify/default.nix
+++ b/pkgs/servers/gotify/default.nix
@@ -10,13 +10,15 @@
 
 buildGoModule rec {
   pname = "gotify-server";
-  version = "2.0.10";
+  # Note that when this is updated, along with the hash, the `ui.nix` file
+  # should include the same changes to the version and the sha256.
+  version = "2.0.11";
 
   src = fetchFromGitHub {
     owner = "gotify";
     repo = "server";
     rev = "v${version}";
-    sha256 = "0f7y6gkxikdfjhdxplkv494ss2b0fqmibd2kl9nifabggfz5gjal";
+    sha256 = "0zrylyaxy1cks1wlzyf0di8in2braj4pfriyqa24vipwrlnhvgs6";
   };
 
   modSha256 = "19mghbs1jasb7vxdw13mmwsbk5sfg3y2vvddr73c82lq0f8g2iha";
diff --git a/pkgs/servers/gotify/ui.nix b/pkgs/servers/gotify/ui.nix
index e1277a2db21d..a47e52795852 100644
--- a/pkgs/servers/gotify/ui.nix
+++ b/pkgs/servers/gotify/ui.nix
@@ -8,13 +8,13 @@ yarn2nix-moretea.mkYarnPackage rec {
   packageJSON = ./package.json;
   yarnNix = ./yarndeps.nix;
 
-  version = "2.0.8";
+  version = "2.0.11";
 
   src_all = fetchFromGitHub {
     owner = "gotify";
     repo = "server";
     rev = "v${version}";
-    sha256 = "17bxs3wcazrxippf3i9w7d2mq8lf0v5m4bn3nl2zb8v8dl3lsc9a";
+    sha256 = "0zrylyaxy1cks1wlzyf0di8in2braj4pfriyqa24vipwrlnhvgs6";
   };
   src = "${src_all}/ui";
 
diff --git a/pkgs/servers/gotify/yarndeps.nix b/pkgs/servers/gotify/yarndeps.nix
index 02886c27f047..0e81e890a9fe 100644
--- a/pkgs/servers/gotify/yarndeps.nix
+++ b/pkgs/servers/gotify/yarndeps.nix
@@ -706,6 +706,14 @@
       };
     }
     {
+      name = "_babel_runtime___runtime_7.6.3.tgz";
+      path = fetchurl {
+        name = "_babel_runtime___runtime_7.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.6.3.tgz";
+        sha1 = "935122c74c73d2240cafd32ddb5fc2a6cd35cf1f";
+      };
+    }
+    {
       name = "_babel_template___template_7.4.4.tgz";
       path = fetchurl {
         name = "_babel_template___template_7.4.4.tgz";
@@ -890,11 +898,11 @@
       };
     }
     {
-      name = "_material_ui_icons___icons_4.4.3.tgz";
+      name = "_material_ui_icons___icons_4.5.1.tgz";
       path = fetchurl {
-        name = "_material_ui_icons___icons_4.4.3.tgz";
-        url  = "https://registry.yarnpkg.com/@material-ui/icons/-/icons-4.4.3.tgz";
-        sha1 = "5d4346ddbb2673a1b57ebc78fd6d50bcd88711db";
+        name = "_material_ui_icons___icons_4.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/@material-ui/icons/-/icons-4.5.1.tgz";
+        sha1 = "6963bad139e938702ece85ca43067688018f04f8";
       };
     }
     {
diff --git a/pkgs/servers/http/jetty/default.nix b/pkgs/servers/http/jetty/default.nix
index 845fd41c12c4..8d2340647cb4 100644
--- a/pkgs/servers/http/jetty/default.nix
+++ b/pkgs/servers/http/jetty/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jetty";
-  version = "9.4.22.v20191022";
+  version = "9.4.24.v20191120";
   src = fetchurl {
     url = "https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/${version}/jetty-distribution-${version}.tar.gz";
     name = "jetty-distribution-${version}.tar.gz";
-    sha256 = "1a5av6ygsmjwbnlax7f7l58d7hlw3xm0cpk5ml7mb54vrlrcb7hv";
+    sha256 = "072vr8gfly2xdwxx1c771yymf145l8nv0j31liwqrih8zqvvhsd4";
   };
 
   phases = [ "unpackPhase" "installPhase" ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A Web server and javax.servlet container";
-    homepage = http://www.eclipse.org/jetty/;
+    homepage = "https://www.eclipse.org/jetty/";
     platforms = stdenv.lib.platforms.all;
     license = [ stdenv.lib.licenses.asl20 stdenv.lib.licenses.epl10 ];
   };
diff --git a/pkgs/servers/http/nginx/generic.nix b/pkgs/servers/http/nginx/generic.nix
index 3edbed22b6b6..2c0dbc7d6654 100644
--- a/pkgs/servers/http/nginx/generic.nix
+++ b/pkgs/servers/http/nginx/generic.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, fetchpatch, openssl, zlib, pcre, libxml2, libxslt
-, substituteAll, gd, geoip
+, nixosTests
+, substituteAll, gd, geoip, perl
 , withDebug ? false
 , withStream ? true
 , withMail ? false
@@ -29,7 +30,7 @@ stdenv.mkDerivation {
     inherit sha256;
   };
 
-  buildInputs = [ openssl zlib pcre libxml2 libxslt gd geoip ]
+  buildInputs = [ openssl zlib pcre libxml2 libxslt gd geoip perl ]
     ++ mapModules "inputs";
 
   configureFlags = [
@@ -52,8 +53,6 @@ stdenv.mkDerivation {
     "--with-http_stub_status_module"
     "--with-threads"
     "--with-pcre-jit"
-    # Install destination problems
-    # "--with-http_perl_module"
   ] ++ optional withDebug [
     "--with-debug"
   ] ++ optional withStream [
@@ -65,6 +64,10 @@ stdenv.mkDerivation {
   ] ++ optional withMail [
     "--with-mail"
     "--with-mail_ssl_module"
+  ] ++ optional (perl != null) [
+    "--with-http_perl_module"
+    "--with-perl=${perl}/bin/perl"
+    "--with-perl_modules_path=lib/perl5"
   ]
     ++ optional (gd != null) "--with-http_image_filter_module"
     ++ optional (with stdenv.hostPlatform; isLinux || isFreeBSD) "--with-file-aio"
@@ -107,7 +110,10 @@ stdenv.mkDerivation {
     mv $out/sbin $out/bin
   '';
 
-  passthru.modules = modules;
+  passthru = {
+    modules = modules;
+    tests.nginx = nixosTests.nginx;
+  };
 
   meta = {
     description = "A reverse proxy and lightweight webserver";
diff --git a/pkgs/servers/irc/charybdis/default.nix b/pkgs/servers/irc/charybdis/default.nix
index c6b2af3d3876..ecbedcfbec8e 100644
--- a/pkgs/servers/irc/charybdis/default.nix
+++ b/pkgs/servers/irc/charybdis/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "IRCv3 server designed to be highly scalable";
-    homepage    = http://atheme.org/projects/charybdis.html;
+    homepage    = https://github.com/charybdis-ircd/charybdis;
     license     = licenses.gpl2;
     maintainers = with maintainers; [ lassulus fpletz ];
     platforms   = platforms.unix;
diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix
index c5c97b514221..9f411c69a8d5 100644
--- a/pkgs/servers/jackett/default.nix
+++ b/pkgs/servers/jackett/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jackett";
-  version = "0.11.751";
+  version = "0.12.907";
 
   src = fetchurl {
     url = "https://github.com/Jackett/Jackett/releases/download/v${version}/Jackett.Binaries.LinuxAMDx64.tar.gz";
-    sha256 = "09y9pck35pj2g89936zallxr3hanmbgp8jc42nj2js68l0z64qz3";
+    sha256 = "0f88zjd8abkr72sjbzm51npxsjbk6xklfqd7iyaq3j0l5hxh6b8w";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/jellyfin/default.nix b/pkgs/servers/jellyfin/default.nix
index 1f91e318c7f7..3ceeb73e4eff 100644
--- a/pkgs/servers/jellyfin/default.nix
+++ b/pkgs/servers/jellyfin/default.nix
@@ -18,12 +18,12 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "jellyfin";
-  version = "10.4.1";
+  version = "10.4.2";
 
   # 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 = "0lv1xd3bfbf9khiqlahry2im1mvgl3cj5m3zfd7mf61il5rz70f9";
+    sha256 = "08y3bxyqwpa28hgvvpiksbvss9wahmxprbi2dsm4gks9ba412f2f";
   };
 
   buildInputs = [
diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix
index 8b6a46b9657f..b3345f9420cb 100644
--- a/pkgs/servers/mail/postfix/default.nix
+++ b/pkgs/servers/mail/postfix/default.nix
@@ -26,11 +26,11 @@ in stdenv.mkDerivation rec {
 
   pname = "postfix";
 
-  version = "3.4.7";
+  version = "3.4.8";
 
   src = fetchurl {
     url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${pname}-${version}.tar.gz";
-    sha256 = "0rzr0n1gljhmxidsslbr9505xcv0hm8jahkp4dm87a1v3l956cpy";
+    sha256 = "0hw9kbr05qdzvfqhxi4dp4n3s9xvdh0gr0la08a4bip06ybl4pcd";
   };
 
   nativeBuildInputs = [ makeWrapper m4 ];
diff --git a/pkgs/servers/memcached/default.nix b/pkgs/servers/memcached/default.nix
index 9e7550a71717..dfb3ac2cfa20 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.19";
+  version = "1.5.20";
   pname = "memcached";
 
   src = fetchurl {
     url = "https://memcached.org/files/${pname}-${version}.tar.gz";
-    sha256 = "1q2bb858iwc1jncav5vfl8c7dic9r1wqni5724qmy8ads6idmp1x";
+    sha256 = "1r511qr95q0ywdaql3pdjiwzkfqxhhfzb13ilvl7mznfm4iv1myg";
   };
 
   configureFlags = [
diff --git a/pkgs/servers/metabase/default.nix b/pkgs/servers/metabase/default.nix
index 5babc638e26f..5c0fa2886dc8 100644
--- a/pkgs/servers/metabase/default.nix
+++ b/pkgs/servers/metabase/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "metabase";
-  version = "0.33.2";
+  version = "0.33.6";
 
   src = fetchurl {
     url = "http://downloads.metabase.com/v${version}/metabase.jar";
-    sha256 = "0sbh3xc4scp3qflnd0v7bd224w43rby20nzxb7xn2c80jwninnnl";
+    sha256 = "1q5d323fzfvlc12v1g0mahlcz2sjii3k7cc6qg8q4q8yl0vg5c9k";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/misc/subsonic/default.nix b/pkgs/servers/misc/subsonic/default.nix
index be5188f177ac..a7041fc57d05 100644
--- a/pkgs/servers/misc/subsonic/default.nix
+++ b/pkgs/servers/misc/subsonic/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "subsonic";
-  version = "6.1.5";
+  version = "6.1.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/subsonic/subsonic-${version}-standalone.tar.gz";
-    sha256 = "1xz3flxd5hxcvvg1izzxpv5rxwb5zprk92vsgvmcniy7j7r66936";
+    sha256 = "180qdk8mnc147az8v9rmc1kgf8b13mmq88l195gjdwiqpflqzdyz";
   };
 
   inherit jre;
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index b00b97781781..7e2aaa662574 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "grafana";
-  version = "6.4.4";
+  version = "6.5.1";
 
   goPackagePath = "github.com/grafana/grafana";
 
@@ -12,12 +12,12 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "0v5iwny96kb07qkj2qqqfgvnsw3dfcq3wf66zsllqavnahvrd1s8";
+    sha256 = "1hcfn9dgx8vabadagm69dgk5sdyc1kxkbma2ryfdb0v6vpm01784";
   };
 
   srcStatic = fetchurl {
     url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
-    sha256 = "15583cdi4yajg678d3kj8nngs9lwj0qqn2nh5zm8il9p71w57x0k";
+    sha256 = "1m2rxxgs8sf8qrg0bk3i2gy17q6n4nk4cwlp9bbffwmwcmf78gnw";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/monitoring/loki/default.nix b/pkgs/servers/monitoring/loki/default.nix
index 96e583942dd0..9bc4223b5d66 100644
--- a/pkgs/servers/monitoring/loki/default.nix
+++ b/pkgs/servers/monitoring/loki/default.nix
@@ -1,7 +1,7 @@
 { stdenv, buildGoPackage, fetchFromGitHub, makeWrapper, systemd }:
 
 buildGoPackage rec {
-  version = "0.4.0";
+  version = "1.0.0";
   pname = "grafana-loki";
   goPackagePath = "github.com/grafana/loki";
 
@@ -11,7 +11,7 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "loki";
-    sha256 = "1anwq5dbh29dma18hnialbb253ciazzxmnqvympbh29ricldcf8p";
+    sha256 = "0qqmxrbiph268i5c8i6wpcihspdcglfxd4hy6ag03bl66rciq8nb";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -23,10 +23,10 @@ buildGoPackage rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "Like Prometheus, but for logs.";
+    description = "Like Prometheus, but for logs";
     license = licenses.asl20;
     homepage = "https://grafana.com/loki";
-    maintainers = with maintainers; [ willibutz globin ];
+    maintainers = with maintainers; [ willibutz globin mmahut ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/nginxlog-exporter.nix b/pkgs/servers/monitoring/prometheus/nginxlog-exporter.nix
new file mode 100644
index 000000000000..68bac5c560e3
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/nginxlog-exporter.nix
@@ -0,0 +1,27 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "nginxlog_exporter";
+  version = "1.3.0";
+
+  src = fetchFromGitHub {
+    owner = "martin-helmich";
+    repo = "prometheus-nginxlog-exporter";
+    rev = "v${version}";
+    sha256 = "0cma6hgagqdms6x40v0q4jn8gjq1awyg1aqk5l8mz7l6k132qq7k";
+  };
+
+  goPackagePath = "github.com/martin-helmich/prometheus-nginxlog-exporter";
+
+  goDeps = ./nginxlog-exporter_deps.nix;
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "Export metrics from Nginx access log files to Prometheus";
+    homepage = "https://github.com/martin-helmich/prometheus-nginxlog-exporter";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ mmahut ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/servers/monitoring/prometheus/nginxlog-exporter_deps.nix b/pkgs/servers/monitoring/prometheus/nginxlog-exporter_deps.nix
new file mode 100644
index 000000000000..3051258a6361
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/nginxlog-exporter_deps.nix
@@ -0,0 +1,282 @@
+# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
+[
+  {
+    goPackagePath = "github.com/armon/go-radix";
+    fetch = {
+      type = "git";
+      url = "https://github.com/armon/go-radix";
+      rev = "v1.0.0";
+      sha256 = "1m1k0jz9gjfrk4m7hjm7p03qmviamfgxwm2ghakqxw3hdds8v503";
+    };
+  }
+  {
+    goPackagePath = "github.com/beorn7/perks";
+    fetch = {
+      type = "git";
+      url = "https://github.com/beorn7/perks";
+      rev = "3ac7bf7a47d1";
+      sha256 = "1qc3l4r818xpvrhshh1sisc5lvl9479qspcfcdbivdyh0apah83r";
+    };
+  }
+  {
+    goPackagePath = "github.com/davecgh/go-spew";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davecgh/go-spew";
+      rev = "v1.1.1";
+      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
+    };
+  }
+  {
+    goPackagePath = "github.com/fsnotify/fsnotify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fsnotify/fsnotify";
+      rev = "v1.4.7";
+      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev = "0c1f6d65b5a1";
+      sha256 = "1ad3zv0s3swslfwmk0wry9qbjz596689z13f2s7d9gska6msigsl";
+    };
+  }
+  {
+    goPackagePath = "github.com/gopherjs/gopherjs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gopherjs/gopherjs";
+      rev = "0766667cb4d1";
+      sha256 = "13pfc9sxiwjky2lm1xb3i3lcisn8p6mgjk2d927l7r92ysph8dmw";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/consul";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/consul";
+      rev = "de080672fee9";
+      sha256 = "1q46gn7gv7ara21akkbyzlnari4naxax2d0z917y56ra4lwm259i";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-msgpack";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-msgpack";
+      rev = "v0.5.3";
+      sha256 = "00jv0ajqd58pkb2yyhlrjp0rv1mvb1ijx3yqjyikcmzvk9jb4h5m";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/golang-lru";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/golang-lru";
+      rev = "v0.5.1";
+      sha256 = "13f870cvk161bzjj6x41l45r5x9i1z9r2ymwmvm7768kg08zznpy";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/hcl";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/hcl";
+      rev = "v1.0.0";
+      sha256 = "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66";
+    };
+  }
+  {
+    goPackagePath = "github.com/hpcloud/tail";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hpcloud/tail";
+      rev = "v1.0.0";
+      sha256 = "1njpzc0pi1acg5zx9y6vj9xi6ksbsc5d387rd6904hy6rh2m6kn0";
+    };
+  }
+  {
+    goPackagePath = "github.com/jtolds/gls";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jtolds/gls";
+      rev = "v4.20.0";
+      sha256 = "1k7xd2q2ysv2xsh373qs801v6f359240kx0vrl0ydh7731lngvk6";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/pretty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pretty";
+      rev = "v0.1.0";
+      sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/pty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pty";
+      rev = "v1.1.1";
+      sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/text";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/text";
+      rev = "v0.1.0";
+      sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
+    };
+  }
+  {
+    goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
+    fetch = {
+      type = "git";
+      url = "https://github.com/matttproud/golang_protobuf_extensions";
+      rev = "v1.0.1";
+      sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya";
+    };
+  }
+  {
+    goPackagePath = "github.com/pmezard/go-difflib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pmezard/go-difflib";
+      rev = "v1.0.0";
+      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_golang";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_golang";
+      rev = "5636dc67ae77";
+      sha256 = "0fb4w52zp0jk8218gwk4wgbhpj7d4hp6n00dvm8s0ajbysbx524d";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_model";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_model";
+      rev = "fa8ad6fec335";
+      sha256 = "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/common";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/common";
+      rev = "4402f4e5ea79";
+      sha256 = "1nskicw0k0kay9dqg8hw2clgcnvjfcz839rijvrz4wh7gl42qiag";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/procfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/procfs";
+      rev = "abf152e5f3e9";
+      sha256 = "0cp8lznv1b4zhi3wnbjkfxwzhkqd3wbmiy6mwgjanip8l9l3ykws";
+    };
+  }
+  {
+    goPackagePath = "github.com/satyrius/gonx";
+    fetch = {
+      type = "git";
+      url = "https://github.com/satyrius/gonx";
+      rev = "47c52b995fe5";
+      sha256 = "0f0b6ac9xlai168d32zas4v2afk5b2q1bs0qi3dykkk6lhq7b58m";
+    };
+  }
+  {
+    goPackagePath = "github.com/smartystreets/assertions";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smartystreets/assertions";
+      rev = "b2de0cb4f26d";
+      sha256 = "1i7ldgavgl35c7gk25p7bvdr282ckng090zr4ch9mk1705akx09y";
+    };
+  }
+  {
+    goPackagePath = "github.com/smartystreets/goconvey";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smartystreets/goconvey";
+      rev = "200a235640ff";
+      sha256 = "08hgfwjs5zqwsx1z5ja15d0g4glprb3ck7dfi88kwv5q5fl1p139";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/objx";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/objx";
+      rev = "v0.1.0";
+      sha256 = "19ynspzjdynbi85xw06mh8ad5j0qa1vryvxjgvbnyrr8rbm4vd8w";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev = "v1.4.0";
+      sha256 = "187i5g88sxfy4vxpm7dw1gwv29pa2qaq475lxrdh5livh69wqfjb";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "c200b10b5d5e";
+      sha256 = "1f764m3q05q2dq1pdms07jcixw4xakqw46w1djrmbhjmd9q8b0av";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/check.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/check.v1";
+      rev = "788fd7840127";
+      sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/fsnotify.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/fsnotify.v1";
+      rev = "v1.4.7";
+      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/tomb.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/tomb.v1";
+      rev = "dd632973f1e7";
+      sha256 = "1lqmq1ag7s4b3gc3ddvr792c5xb5k6sfn0cchr3i2s7f1c231zjv";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v2";
+      rev = "v2.2.4";
+      sha256 = "11bwj757wi8kdrcnlgfqb8vv2d2xdhlghmyagd19i62khrkchsg2";
+    };
+  }
+]
diff --git a/pkgs/servers/monitoring/prometheus/postgres-exporter.nix b/pkgs/servers/monitoring/prometheus/postgres-exporter.nix
index 410687d0335f..e8af00b277b4 100644
--- a/pkgs/servers/monitoring/prometheus/postgres-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/postgres-exporter.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "postgres_exporter";
-  version = "0.7.0";
+  version = "0.8.0";
 
   goPackagePath = "github.com/wrouesnel/postgres_exporter";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "wrouesnel";
     repo = "postgres_exporter";
     rev = "v${version}";
-    sha256 = "0xi61090kmkp1cid3hx00csfa4w8nvaw8ky0w004czwqlyids6jg";
+    sha256 = "0mid2kvskab3a32jscygg5jh0741nr7dvxzj4v029yiiqcx55nrc";
   };
 
   doCheck = true;
diff --git a/pkgs/servers/monitoring/prometheus/varnish-exporter.nix b/pkgs/servers/monitoring/prometheus/varnish-exporter.nix
index a629a2a27e26..d77675671950 100644
--- a/pkgs/servers/monitoring/prometheus/varnish-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/varnish-exporter.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "prometheus_varnish_exporter";
-  version = "1.5.1";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner = "jonnenauha";
     repo = "prometheus_varnish_exporter";
     rev = version;
-    sha256 = "1lvs44936n3s9z6c5169jbvx390n5g0qk4pcrmnkndg796ixjshd";
+    sha256 = "0rpabw6a6paavv62f0gzhax9brzcgkly27rhkf0ihw8736gkw8ar";
   };
 
   modSha256 = "0w1zg9jc2466srx9pdckw7rzn7ma4pbd0617b1h98v364wjzgj72";
diff --git a/pkgs/servers/mtprotoproxy/default.nix b/pkgs/servers/mtprotoproxy/default.nix
index 523713e9d4da..550ee4c160f3 100644
--- a/pkgs/servers/mtprotoproxy/default.nix
+++ b/pkgs/servers/mtprotoproxy/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mtprotoproxy";
-  version = "1.0.7";
+  version = "1.0.8";
 
   src = fetchFromGitHub {
     owner = "alexbers";
     repo = "mtprotoproxy";
     rev = "v${version}";
-    sha256 = "1j8bxwcq968h5sd58g03yc4zjqkhkjdn0f04vr826hhsdxy853r4";
+    sha256 = "1bpgbqbgy7c637bzm6g5msm2i10dfl4qb7psy3k3cbaysw696kjc";
   };
 
   nativeBuildInputs = [ wrapPython ];
diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix
index 3b994337e9ce..02c3759c58b3 100644
--- a/pkgs/servers/nextcloud/default.nix
+++ b/pkgs/servers/nextcloud/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nextcloud";
-  version = "17.0.0";
+  version = "17.0.1";
 
   src = fetchurl {
     url = "https://download.nextcloud.com/server/releases/${pname}-${version}.tar.bz2";
-    sha256 = "19j2l4qxkqsxcw75gvkinjqawia07wx2kcmzn8q33nzc6cdl50b0";
+    sha256 = "0jrbpzc4xf52zfncn6w2m0ch2fszqqz3ny0jq1cw7fy24vjhwgkp";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/nginx-sso/default.nix b/pkgs/servers/nginx-sso/default.nix
index a89604c4e7cd..5cc583c68b3a 100644
--- a/pkgs/servers/nginx-sso/default.nix
+++ b/pkgs/servers/nginx-sso/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "nginx-sso";
-  version = "0.16.1";
+  version = "0.22.0";
   rev = "v${version}";
 
   goPackagePath = "github.com/Luzifer/nginx-sso";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "Luzifer";
     repo = "nginx-sso";
-    sha256 = "100k5dxrwj5xa1yh79qmyv6jampijqjbr4vkn1d9avim352yhnk1";
+    sha256 = "1kcyb7sbqna18yw3myi3c0imhh4hsa0h2k2y0bqfr2pqsnssz54a";
   };
 
   postInstall = ''
diff --git a/pkgs/servers/nosql/eventstore/default.nix b/pkgs/servers/nosql/eventstore/default.nix
index bc1aee8a6876..21658a273b48 100644
--- a/pkgs/servers/nosql/eventstore/default.nix
+++ b/pkgs/servers/nosql/eventstore/default.nix
@@ -16,13 +16,13 @@ in
 stdenv.mkDerivation rec {
 
   pname = "EventStore";
-  version = "5.0.2";
+  version = "5.0.5";
 
   src = fetchFromGitHub {
     owner = "EventStore";
     repo = "EventStore";
     rev = "oss-v${version}";
-    sha256 = "0hjc64lmi9x1sq8zk24iag14k424l72g1n4z7wf7gaygd07kx9k8";
+    sha256 = "0cnpw24fvnj0q644p9jlijcqz6bxi61g0b59g52d3qxfydr0lgs0";
   };
 
   buildInputs = [
diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix
index f7a67ce398d8..4b1003db2847 100644
--- a/pkgs/servers/nosql/redis/default.nix
+++ b/pkgs/servers/nosql/redis/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, lua, jemalloc }:
+{ stdenv, fetchurl, lua, jemalloc, nixosTests }:
 
 stdenv.mkDerivation rec {
-  version = "5.0.6";
+  version = "5.0.7";
   pname = "redis";
 
   src = fetchurl {
     url = "http://download.redis.io/releases/${pname}-${version}.tar.gz";
-    sha256 = "1cr2dn9ilhj52snmlz38fw30gdlgbxq2sadyspawahp1cw988936";
+    sha256 = "0ax8sf3vw0yadr41kzc04917scrg5wir1d94zmbz00b8pzm79nv1";
   };
 
   # Cross-compiling fixes
@@ -29,6 +29,8 @@ stdenv.mkDerivation rec {
 
   doCheck = false; # needs tcl
 
+  passthru.tests.redis = nixosTests.redis;
+
   meta = with stdenv.lib; {
     homepage = https://redis.io;
     description = "An open source, advanced key-value store";
diff --git a/pkgs/servers/plex/raw.nix b/pkgs/servers/plex/raw.nix
index de7167ca7408..998d64e34f01 100644
--- a/pkgs/servers/plex/raw.nix
+++ b/pkgs/servers/plex/raw.nix
@@ -8,13 +8,13 @@
 # server, and the FHS userenv and corresponding NixOS module should
 # automatically pick up the changes.
 stdenv.mkDerivation rec {
-  version = "1.18.1.1973-0f4abfbcc";
+  version = "1.18.2.2058-e67a4e892";
   pname = "plexmediaserver";
 
   # Fetch the source
   src = fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/redhat/plexmediaserver-${version}.x86_64.rpm";
-    sha256 = "1lmj4yal1f072w5rwxn9m09lbclzy87xnvy89iva1kmqzl3bfz2q";
+    sha256 = "12riaabhc4pp3nbjqvbp81fsnjzw43yfgnkjm7s9il0n85awzg0s";
   };
 
   outputs = [ "out" "basedb" ];
diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix
index 2ce78a048c45..da201765e55e 100644
--- a/pkgs/servers/pulseaudio/default.nix
+++ b/pkgs/servers/pulseaudio/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, pkgconfig, autoreconfHook
 , libsndfile, libtool, makeWrapper, perlPackages
-, xorg, libcap, alsaLib, glib, gnome3
+, xorg, libcap, alsaLib, glib, dconf
 , avahi, libjack2, libasyncns, lirc, dbus
 , sbc, bluez5, udev, openssl, fftwFloat
 , speexdsp, systemd, webrtc-audio-processing
@@ -113,7 +113,7 @@ stdenv.mkDerivation rec {
   preFixup = lib.optionalString stdenv.isLinux ''
     wrapProgram $out/libexec/pulse/gsettings-helper \
      --prefix XDG_DATA_DIRS : "$out/share/gsettings-schemas/${name}" \
-     --prefix GIO_EXTRA_MODULES : "${lib.getLib gnome3.dconf}/lib/gio/modules"
+     --prefix GIO_EXTRA_MODULES : "${lib.getLib dconf}/lib/gio/modules"
   '';
 
   meta = {
diff --git a/pkgs/servers/rainloop/default.nix b/pkgs/servers/rainloop/default.nix
index b037524f67f2..ff6cb8c98ebf 100644
--- a/pkgs/servers/rainloop/default.nix
+++ b/pkgs/servers/rainloop/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, unzip, dataPath ? "/etc/rainloop" }: let
   common = { edition, sha256 }:
     stdenv.mkDerivation (rec {
-      name = "rainloop-${edition}-${version}";
+      pname = "rainloop${stdenv.lib.optionalString (edition != "") "-${edition}"}";
       version = "1.13.0";
 
       buildInputs = [ unzip ];
@@ -26,8 +26,8 @@
       meta = with stdenv.lib; {
         description = "Simple, modern & fast web-based email client";
         homepage = "https://www.rainloop.net";
-        downloadPage = https://github.com/RainLoop/rainloop-webmail/releases;
-        license = licenses.agpl3;
+        downloadPage = "https://github.com/RainLoop/rainloop-webmail/releases";
+        license = with licenses; if edition == "" then unfree else agpl3;
         platforms = platforms.all;
         maintainers = with maintainers; [ das_j ];
       };
diff --git a/pkgs/servers/roundcube/0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch b/pkgs/servers/roundcube/0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch
index 96710d6162d7..27ebd59a48d9 100644
--- a/pkgs/servers/roundcube/0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch
+++ b/pkgs/servers/roundcube/0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch
@@ -18,7 +18,7 @@ index 08e3bb5..b2ad498 100755
  */
  
 -define('INSTALL_PATH', realpath(__DIR__ . '/..') . '/' );
-+define('INSTALL_PATH', __DIR__ . '/../' );
++define('INSTALL_PATH', dirname(dirname($argv[0])).'/');
  
  require_once INSTALL_PATH . 'program/include/clisetup.php';
  
diff --git a/pkgs/servers/roundcube/default.nix b/pkgs/servers/roundcube/default.nix
index 93499d87e0b6..8278674faf1c 100644
--- a/pkgs/servers/roundcube/default.nix
+++ b/pkgs/servers/roundcube/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "roundcube";
-  version = "1.3.10";
+  version = "1.4.1";
 
   src = fetchurl {
     url = "https://github.com/roundcube/roundcubemail/releases/download/${version}/roundcubemail-${version}-complete.tar.gz";
-    sha256 = "1gx8dgrr3p6fksv3pm381a080i9r6snwcmfd1q112mqg19ai3zk9";
+    sha256 = "0jml16djrap0602agwm3hvq53c4lw5bg2qklxbfk79qs3v926134";
   };
 
   patches = [ ./0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch ];
diff --git a/pkgs/servers/routinator/default.nix b/pkgs/servers/routinator/default.nix
index 440cd3465223..7d91dc91a93e 100644
--- a/pkgs/servers/routinator/default.nix
+++ b/pkgs/servers/routinator/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "routinator";
-  version = "0.6.1";
+  version = "0.6.4";
 
   src = fetchFromGitHub {
     owner = "NLnetLabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1knqgq8xrlvwfc3y2hki6p0zr4dblm7max37y01p3bf641gs748z";
+    sha256 = "1hbqvjv9h1aghpyrl03w5f4j8gjy6n9lx83rmpsh5p7yd9ahwmf9";
   };
 
-  cargoSha256 = "13sx7mbirhrd0is7gvnk0mir5qizbhrlvsn0v55ibf3bybjsb644";
+  cargoSha256 = "08lizhag7aqz3a59gaapsymn7sf9c6im1aw64n0r9a5advhwdh18";
 
   meta = with stdenv.lib; {
     description = "An RPKI Validator written in Rust";
diff --git a/pkgs/servers/samba/3.x.nix b/pkgs/servers/samba/3.x.nix
deleted file mode 100644
index 1f432c189880..000000000000
--- a/pkgs/servers/samba/3.x.nix
+++ /dev/null
@@ -1,99 +0,0 @@
-{ stdenv, fetchurl, readline, pam ? null, openldap ? null
-, popt, iniparser, libunwind
-, fam ? null , acl ? null, cups ? null
-, useKerberos ? false, kerberos ? null, winbind ? true
-
-# Eg. smbclient and smbspool require a smb.conf file.
-# If you set configDir to "" an empty configuration file
-# $out/lib/smb.conf is is created for you.
-#
-# configDir defaults to "/etc/samba" so that smbpassword picks up
-# the location of its passwd db files from the system configuration file
-# /etc/samba/smb.conf. That's why nixos touches /etc/samba/smb.conf even if you
-# don't enable the samba upstart service.
-, configDir ? "/etc/samba"
-
-}:
-
-assert useKerberos -> kerberos != null;
-
-stdenv.mkDerivation rec {
-  name = "samba-3.6.25";
-
-  src = fetchurl {
-    url = "mirror://samba/pub/samba/stable/${name}.tar.gz";
-    sha256 = "0l9pz2m67vf398q3c2dwn8jwdxsjb20igncf4byhv6yq5dzqlb4g";
-  };
-
-  patches = [(fetchurl {
-    url = "https://download.samba.org/pub/samba/patches/security/"
-        + "samba-3.6.25-security-2015-12-16.patch";
-    sha256 = "00dcjcn577825mfdwdp76jfy5kcrqw3s4d5c41gqdq5gfcdbmqdb";
-  })];
-
-  buildInputs = [ readline pam openldap popt iniparser libunwind fam acl cups ]
-    ++ stdenv.lib.optional useKerberos kerberos;
-
-  enableParallelBuilding = true;
-
-  postPatch =
-    # XXX: Awful hack to allow cross-compilation.
-    '' sed -i source3/configure \
-           -e 's/^as_fn_error .. \("cannot run test program while cross compiling\)/$as_echo \1/g'
-    ''; # "
-
-  preConfigure =
-    '' cd source3
-       export samba_cv_CC_NEGATIVE_ENUM_VALUES=yes
-       export libreplace_cv_HAVE_GETADDRINFO=yes
-       export ac_cv_file__proc_sys_kernel_core_pattern=no # XXX: true on Linux, false elsewhere
-    '';
-
-  configureFlags =
-    stdenv.lib.optionals (pam != null) [ "--with-pam" "--with-pam_smbpass" ]
-    ++ [ "--with-aio-support"
-         "--disable-swat"
-         "--with-configdir=${configDir}"
-         "--with-fhs"
-         "--localstatedir=/var"
-       ]
-    ++ (stdenv.lib.optional winbind "--with-winbind")
-    ++ (stdenv.lib.optional (stdenv.cc.libc != null) "--with-libiconv=${stdenv.cc.libc}");
-
-  # Need to use a DESTDIR because `make install' tries to write in /var and /etc.
-  installFlags = "DESTDIR=$(TMPDIR)/inst";
-
-  stripAllList = [ "bin" "sbin" ];
-
-  postInstall =
-    ''
-      mkdir -p $out
-      mv $TMPDIR/inst/$out/* $out/
-
-      mkdir -p "$out/lib/pkgconfig"
-      cp pkgconfig/*.pc "$out/lib/pkgconfig"
-
-      mkdir -pv $out/lib/cups/backend
-      ln -sv ../../../bin/smbspool $out/lib/cups/backend/smb
-      mkdir -pv $out/etc/openldap/schema
-      cp ../examples/LDAP/samba.schema $out/etc/openldap/schema
-
-      # For nsswitch. Glibc >= 2.1 looks for libnss_<name>.so.2 (see man
-      # nsswitch.conf), so provide that too.
-      cp -v ../nsswitch/libnss_wins.so "$out/lib"
-      cp -v ../nsswitch/libnss_winbind.so "$out/lib"
-      (cd "$out/lib" && ln -s libnss_winbind.so libnss_winbind.so.2)
-      (cd "$out/lib" && ln -s libnss_wins.so libnss_wins.so.2)
-    '' # */
-    + stdenv.lib.optionalString (configDir == "") "touch $out/lib/smb.conf";
-
-  meta = with stdenv.lib; {
-    homepage = https://www.samba.org/;
-    description = "The standard Windows interoperability suite of programs for Linux and Unix";
-    platforms = platforms.linux;
-    license = licenses.gpl3;
-    knownVulnerabilities = [
-      "Numerous CVEs and no patches from upstream for 3.x since 2014."
-    ];
-  };
-}
diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix
index 044acbe17207..f92c5aaa2100 100644
--- a/pkgs/servers/samba/4.x.nix
+++ b/pkgs/servers/samba/4.x.nix
@@ -20,11 +20,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "samba";
-  version = "4.10.8";
+  version = "4.10.10";
 
   src = fetchurl {
     url = "mirror://samba/pub/samba/stable/${pname}-${version}.tar.gz";
-    sha256 = "1x0hlhb674fndfkmimjicnzs543n3i8465a5ifcmjwvzavxha7y4";
+    sha256 = "19b653rr2i9snvapik58phbqj38cxjdlyx6nl3m2y3k1a55p633h";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/servers/sql/mariadb/cmake-libmariadb-includedir.patch b/pkgs/servers/sql/mariadb/cmake-libmariadb-includedir.patch
deleted file mode 100644
index dee77d9ab171..000000000000
--- a/pkgs/servers/sql/mariadb/cmake-libmariadb-includedir.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/libmariadb/mariadb_config/mariadb_config.c.in b/libmariadb/mariadb_config/mariadb_config.c.in
-index 703c9466..c6d3f1bc 100644
---- a/libmariadb/mariadb_config/mariadb_config.c.in
-+++ b/libmariadb/mariadb_config/mariadb_config.c.in
-@@ -5,13 +5,13 @@
- 
- static char *mariadb_progname;
- 
--#define INCLUDE "-I@CMAKE_INSTALL_PREFIX@/@INSTALL_INCLUDEDIR@ -I@CMAKE_INSTALL_PREFIX@/@INSTALL_INCLUDEDIR@/mysql"
--#define LIBS    "-L@CMAKE_INSTALL_PREFIX@/@INSTALL_LIBDIR@/ -lmariadb"
-+#define INCLUDE "-I@CMAKE_INSTALL_PREFIX_DEV@/@INSTALL_INCLUDEDIR@ -I@CMAKE_INSTALL_PREFIX_DEV@/@INSTALL_INCLUDEDIR@/mysql"
-+#define LIBS    "-L@CMAKE_INSTALL_PREFIX_DEV@/@INSTALL_LIBDIR@/ -lmariadb"
- #define LIBS_SYS "@extra_dynamic_LDFLAGS@"
- #define CFLAGS  INCLUDE
- #define VERSION "@MARIADB_CLIENT_VERSION@"
- #define CC_VERSION "@CPACK_PACKAGE_VERSION@"
--#define PLUGIN_DIR "@CMAKE_INSTALL_PREFIX@/@INSTALL_PLUGINDIR@"
-+#define PLUGIN_DIR "@CMAKE_INSTALL_PREFIX_DEV@/@INSTALL_PLUGINDIR@"
- #define SOCKET  "@MARIADB_UNIX_ADDR@"
- #define PORT "@MARIADB_PORT@"
- #define TLS_LIBRARY_VERSION "@TLS_LIBRARY_VERSION@"
diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix
index bb9818cf9bba..d451c1dab5c9 100644
--- a/pkgs/servers/sql/mariadb/default.nix
+++ b/pkgs/servers/sql/mariadb/default.nix
@@ -1,8 +1,7 @@
 { stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig, makeWrapper, ncurses, zlib, xz, lzo, lz4, bzip2, snappy
 , libiconv, openssl, pcre, boost, judy, bison, libxml2, libkrb5, linux-pam, curl
 , libaio, libevent, jemalloc, cracklib, systemd, numactl, perl
-, fixDarwinDylibNames, cctools, CoreServices
-, asio, buildEnv, check, scons, less
+, fixDarwinDylibNames, cctools, CoreServices, less
 , withoutClient ? false
 }:
 
@@ -35,8 +34,8 @@ common = rec { # attributes common to both builds
 
   buildInputs = [
     ncurses openssl zlib pcre jemalloc libiconv curl
-  ] ++ optionals stdenv.isLinux [ libaio systemd libkrb5 ]
-    ++ optionals stdenv.isDarwin [ perl fixDarwinDylibNames cctools CoreServices ];
+  ] ++ optionals stdenv.hostPlatform.isLinux [ libaio systemd libkrb5 ]
+    ++ optionals stdenv.hostPlatform.isDarwin [ perl fixDarwinDylibNames cctools CoreServices ];
 
   prePatch = ''
     sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt
@@ -44,7 +43,6 @@ common = rec { # attributes common to both builds
 
   patches = [
     ./cmake-includedir.patch
-    ./cmake-libmariadb-includedir.patch
   ];
 
   cmakeFlags = [
@@ -75,7 +73,7 @@ common = rec { # attributes common to both builds
     "-DWITH_SAFEMALLOC=OFF"
     "-DWITH_UNIT_TESTS=OFF"
     "-DEMBEDDED_LIBRARY=OFF"
-  ] ++ optionals stdenv.isDarwin [
+  ] ++ optionals stdenv.hostPlatform.isDarwin [
     # On Darwin without sandbox, CMake will find the system java and attempt to build with java support, but
     # then it will fail during the actual build. Let's just disable the flag explicitly until someone decides
     # to pass in java explicitly.
@@ -86,10 +84,14 @@ common = rec { # attributes common to both builds
   ];
 
   postInstall = ''
+    # Remove Development components. Need to use libmysqlclient.
     rm "$out"/lib/mysql/plugin/daemon_example.ini
-    mkdir -p "$dev"/bin && mv "$out"/bin/{mariadb_config,mysql_config} "$dev"/bin
-    mkdir -p "$dev"/lib/ && mv "$out"/lib/{libmariadbclient.a,libmysqlclient.a,libmysqlclient_r.a,libmysqlservices.a} "$dev"/lib
-    mkdir -p "$dev"/lib/mysql/plugin && mv "$out"/lib/mysql/plugin/{caching_sha2_password.so,dialog.so,mysql_clear_password.so,sha256_password.so} "$dev"/lib/mysql/plugin
+    rm "$out"/lib/{libmariadbclient.a,libmysqlclient.a,libmysqlclient_r.a,libmysqlservices.a}
+    rm "$out"/lib/mysql/plugin/{caching_sha2_password.so,dialog.so,mysql_clear_password.so,sha256_password.so}
+    rm "$out"/bin/{mariadb_config,mysql_config}
+    rm -r $out/include
+    rm -r $out/lib/pkgconfig
+    rm -r $out/share/{aclocal,pkgconfig}
   '';
 
   enableParallelBuilding = true;
@@ -108,9 +110,7 @@ common = rec { # attributes common to both builds
 client = stdenv.mkDerivation (common // {
   pname = "mariadb-client";
 
-  outputs = [ "out" "dev" "man" ];
-
-  propagatedBuildInputs = [ openssl zlib ]; # required from mariadb.pc
+  outputs = [ "out" "man" ];
 
   patches = common.patches ++ [
     ./cmake-plugin-includedir.patch
@@ -123,11 +123,6 @@ client = stdenv.mkDerivation (common // {
     "-DINSTALL_MYSQLSHAREDIR=share/mysql-client"
   ];
 
-  preConfigure = ''
-   cmakeFlags="$cmakeFlags \
-      -DCMAKE_INSTALL_PREFIX_DEV=$dev"
-  '';
-
   postInstall = common.postInstall + ''
     rm -r "$out"/share/doc
     rm "$out"/bin/{mysqltest,mytop,wsrep_sst_rsync_wan}
@@ -141,20 +136,20 @@ client = stdenv.mkDerivation (common // {
 server = stdenv.mkDerivation (common // {
   pname = "mariadb-server";
 
-  outputs = [ "out" "dev" "man" ];
+  outputs = [ "out" "man" ];
 
-  nativeBuildInputs = common.nativeBuildInputs ++ [ bison ] ++ optional (!stdenv.isDarwin) makeWrapper;
+  nativeBuildInputs = common.nativeBuildInputs ++ [ bison ] ++ optional (!stdenv.hostPlatform.isDarwin) makeWrapper;
 
   buildInputs = common.buildInputs ++ [
     xz lzo lz4 bzip2 snappy
     libxml2 boost judy libevent cracklib
-  ] ++ optional (stdenv.isLinux && !stdenv.isAarch32) numactl
-    ++ optional stdenv.isLinux linux-pam
-    ++ optional (!stdenv.isDarwin) mytopEnv;
+  ] ++ optional (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isAarch32) numactl
+    ++ optional stdenv.hostPlatform.isLinux linux-pam
+    ++ optional (!stdenv.hostPlatform.isDarwin) mytopEnv;
 
   patches = common.patches ++ [
     ./cmake-without-client.patch
-  ] ++ optionals stdenv.isDarwin [
+  ] ++ optionals stdenv.hostPlatform.isDarwin [
     ./cmake-without-plugin-auth-pam.patch
   ];
 
@@ -169,44 +164,39 @@ server = stdenv.mkDerivation (common // {
     "-DWITH_INNODB_DISALLOW_WRITES=ON"
     "-DWITHOUT_EXAMPLE=1"
     "-DWITHOUT_FEDERATED=1"
-  ] ++ stdenv.lib.optionals withoutClient [
+  ] ++ optionals withoutClient [
     "-DWITHOUT_CLIENT=ON"
-  ] ++ stdenv.lib.optionals stdenv.isDarwin [
+  ] ++ optionals stdenv.hostPlatform.isDarwin [
     "-DWITHOUT_OQGRAPH=1"
     "-DWITHOUT_TOKUDB=1"
   ];
 
-  preConfigure = ''
-    cmakeFlags="$cmakeFlags \
-      -DCMAKE_INSTALL_PREFIX_DEV=$dev
-      -DINSTALL_SHAREDIR=$dev/share/mysql
-      -DINSTALL_SUPPORTFILESDIR=$dev/share/mysql"
-  '' + optionalString (!stdenv.isDarwin) ''
+  preConfigure = optionalString (!stdenv.hostPlatform.isDarwin) ''
     patchShebangs scripts/mytop.sh
   '';
 
   postInstall = common.postInstall + ''
     chmod +x "$out"/bin/wsrep_sst_common
-    rm "$out"/bin/mysql_client_test
+    rm "$out"/bin/{mysql_client_test,mysqltest}
     rm -r "$out"/data # Don't need testing data
-    rm "$out"/lib/{libmysqlclient${libExt},libmysqlclient_r${libExt}}
     mv "$out"/share/{groonga,groonga-normalizer-mysql} "$out"/share/doc/mysql
   '' + optionalString withoutClient ''
     ${ # We don't build with GSSAPI on Darwin
-      optionalString (!stdenv.isDarwin) ''
+      optionalString (!stdenv.hostPlatform.isDarwin) ''
         rm "$out"/lib/mysql/plugin/auth_gssapi_client.so
       ''
     }
     rm "$out"/lib/mysql/plugin/client_ed25519.so
-  '' + optionalString (!stdenv.isDarwin) ''
+    rm "$out"/lib/{libmysqlclient${libExt},libmysqlclient_r${libExt}}
+  '' + optionalString (!stdenv.hostPlatform.isDarwin) ''
     sed -i 's/-mariadb/-mysql/' "$out"/bin/galera_new_cluster
   '';
 
   # perlPackages.DBDmysql is broken on darwin
-  postFixup = optionalString (!stdenv.isDarwin) ''
+  postFixup = optionalString (!stdenv.hostPlatform.isDarwin) ''
     wrapProgram $out/bin/mytop --set PATH ${less}/bin/less
   '';
 
-  CXXFLAGS = optionalString stdenv.isi686 "-fpermissive";
+  CXXFLAGS = optionalString stdenv.hostPlatform.isi686 "-fpermissive";
 });
 in mariadb
diff --git a/pkgs/servers/sql/mariadb/galera/default.nix b/pkgs/servers/sql/mariadb/galera/default.nix
index 263a21983e26..73d37ba11a22 100644
--- a/pkgs/servers/sql/mariadb/galera/default.nix
+++ b/pkgs/servers/sql/mariadb/galera/default.nix
@@ -55,7 +55,7 @@ in stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "Galera 3 wsrep provider library";
-    homepage = http://galeracluster.com/;
+    homepage = https://galeracluster.com/;
     license = licenses.lgpl2;
     maintainers = with maintainers; [ izorkin ];
     platforms = platforms.all;
diff --git a/pkgs/servers/sql/mysql/8.0.x.nix b/pkgs/servers/sql/mysql/8.0.x.nix
index 8785e052224d..fcb64550d6fe 100644
--- a/pkgs/servers/sql/mysql/8.0.x.nix
+++ b/pkgs/servers/sql/mysql/8.0.x.nix
@@ -5,10 +5,11 @@
 
 let
 self = stdenv.mkDerivation rec {
-  name = "mysql-8.0.17";
+  pname = "mysql";
+  version = "8.0.17";
 
   src = fetchurl {
-    url = "https://dev.mysql.com/get/Downloads/MySQL-${self.mysqlVersion}/${name}.tar.gz";
+    url = "https://dev.mysql.com/get/Downloads/MySQL-${self.mysqlVersion}/${pname}-${version}.tar.gz";
     sha256 = "1mjrlxn8vigi69r0r674j2dibdnkaar01ji5965gsyx7k60z7qy6";
   };
 
diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix
index 135844b5e68e..440375db841d 100644
--- a/pkgs/servers/sql/postgresql/default.nix
+++ b/pkgs/servers/sql/postgresql/default.nix
@@ -180,41 +180,41 @@ let
 in self: {
 
   postgresql_9_5 = self.callPackage generic {
-    version = "9.5.19";
+    version = "9.5.20";
     psqlSchema = "9.5";
-    sha256 = "1cqvbsyfs9048wbvdv0vhhaksjyjqv2vvh6ij4vqmjibc4kal34n";
+    sha256 = "03fygn3nn6l6ar66sldy5akdg1gynny3yxbrpvmmp5ygfnrm2mwj";
     this = self.postgresql_9_5;
     inherit self;
   };
 
   postgresql_9_6 = self.callPackage generic {
-    version = "9.6.15";
+    version = "9.6.16";
     psqlSchema = "9.6";
-    sha256 = "02hp69h2p02asfblkaahblzdz2zmawd2r11h6237y5j7yadgxn9w";
+    sha256 = "1rr2dgv4ams8r2lp13w85c77rkmzpb88fjlc28mvlw6zq2fblv2w";
     this = self.postgresql_9_6;
     inherit self;
   };
 
   postgresql_10 = self.callPackage generic {
-    version = "10.10";
+    version = "10.11";
     psqlSchema = "10.0"; # should be 10, but changing it is invasive
-    sha256 = "0lzj46dwd9cw94gnqm36bxd7jlhfdyqjrfzr3c4xd3prfn2rnkxd";
+    sha256 = "02fcmvbh0mhplj3s2jd24s642ysx7bggnf0h8bs5amh7dgzi8p8d";
     this = self.postgresql_10;
     inherit self;
   };
 
   postgresql_11 = self.callPackage generic {
-    version = "11.5";
+    version = "11.6";
     psqlSchema = "11.1"; # should be 11, but changing it is invasive
-    sha256 = "106ikalvrilihlvhq7xj7snq98hgbgq6qsgjrd252wgw1c327pvz";
+    sha256 = "0w1iq488kpzfgfnlw4k32lz5by695mpnkq461jrgsr99z5zlz4j9";
     this = self.postgresql_11;
     inherit self;
   };
 
   postgresql_12 = self.callPackage generic {
-    version = "12.0";
+    version = "12.1";
     psqlSchema = "12";
-    sha256 = "1ijm13gx1d9ai09n26nbdc77n9b8akh6pj21yy9vfn7p2mr3k8nd";
+    sha256 = "1vc3hjcbgkdfczc1ipkk02rahabn7fabpb7qs203jxpnpamz76x0";
     this = self.postgresql_12;
     inherit self;
   };
diff --git a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix
index 05fd405dbe6c..5946b8f5ec32 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_auto_failover.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pg_auto_failover";
-  version = "1.0.4";
+  version = "1.0.5";
 
   src = fetchFromGitHub {
     owner = "citusdata";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0v4fj83zifcqhihc5myh0qv2396n5kw4sa8ix6jljmp6wh036z9j";
+    sha256 = "1idlgqazr2qra5x702f2yjcl99zwm1i5fi84paplfy98i5jjmxm1";
   };
 
   buildInputs = [ postgresql openssl zlib readline ];
diff --git a/pkgs/servers/sql/postgresql/ext/pg_hll.nix b/pkgs/servers/sql/postgresql/ext/pg_hll.nix
index 9a61e3c835da..deac1072e65c 100644
--- a/pkgs/servers/sql/postgresql/ext/pg_hll.nix
+++ b/pkgs/servers/sql/postgresql/ext/pg_hll.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "pg_hll";
-  version = "2.12";
+  version = "2.14";
 
   buildInputs = [ postgresql ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner  = "citusdata";
     repo   = "postgresql-hll";
     rev    = "refs/tags/v${version}";
-    sha256 = "1jdc9gjqc3dkjxv855q1p594j0awhrrymrcqnl5vw5vx2ny3bpgn";
+    sha256 = "13vphxkc9pn4bkpgab560bgdbl99li2b3p1n2rm5a78wswlsbsps";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/sql/postgresql/ext/pgroonga.nix b/pkgs/servers/sql/postgresql/ext/pgroonga.nix
index 15a220670008..866dd8021d0a 100644
--- a/pkgs/servers/sql/postgresql/ext/pgroonga.nix
+++ b/pkgs/servers/sql/postgresql/ext/pgroonga.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pgroonga";
-  version = "2.2.1";
+  version = "2.2.2";
 
   src = fetchurl {
     url = "https://packages.groonga.org/source/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "0d913rkxx6qlkav6z9crsz3ypqkdffn4c667nsgzh5s9n4wbbpb8";
+    sha256 = "0pdz2lpi7g1n9b5rg6kwhh6fr0bwf06zr642brmh53n6mp41186m";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/sql/postgresql/ext/pgtap.nix b/pkgs/servers/sql/postgresql/ext/pgtap.nix
index 804356e9f6be..54e92b977bcc 100644
--- a/pkgs/servers/sql/postgresql/ext/pgtap.nix
+++ b/pkgs/servers/sql/postgresql/ext/pgtap.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pgtap";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "theory";
     repo = "pgtap";
     rev = "v${version}";
-    sha256 = "0ks53lsrpa8yxav8jh0jlvs25y6p7mkcdch8il1kvib9k5zq2wnb";
+    sha256 = "09fvzsl8m18yzpvrz6cqvs1ffzs451iwmb2mw39yq69jgqby5kqy";
   };
 
   nativeBuildInputs = [ postgresql perl perlPackages.TAPParserSourceHandlerpgTAP which ];
diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/pkgs/servers/sql/postgresql/ext/timescaledb.nix
index 296e7e0a41a4..0427de60aa52 100644
--- a/pkgs/servers/sql/postgresql/ext/timescaledb.nix
+++ b/pkgs/servers/sql/postgresql/ext/timescaledb.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   pname = "timescaledb";
-  version = "1.5.0";
+  version = "1.5.1";
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ postgresql openssl ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     owner  = "timescale";
     repo   = "timescaledb";
     rev    = "refs/tags/${version}";
-    sha256 = "0qw7yp2vh3fkx43zlnj8xsvd0d68rcmdcl3p9jpmr97hyl376xf2";
+    sha256 = "1mgmkc42nksfsmjg463v03rj1v8gybwlzzi515gxz6ijx8604w4c";
   };
 
   cmakeFlags = [ "-DSEND_TELEMETRY_DEFAULT=OFF" "-DREGRESS_CHECKS=OFF" ];
diff --git a/pkgs/servers/squid/default.nix b/pkgs/servers/squid/default.nix
index 72a7fff7c475..5a6cbd7e2d6f 100644
--- a/pkgs/servers/squid/default.nix
+++ b/pkgs/servers/squid/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "squid-4.8";
+  name = "squid-4.9";
 
   src = fetchurl {
     url = "http://www.squid-cache.org/Versions/v4/${name}.tar.xz";
-    sha256 = "0432m0ix046rkja7r7qpydgsm2kf1w393xym15nx6h9kv4jb7kbq";
+    sha256 = "188znkbpr315yxbpvpvbpb5sbsn15zmg8l207a55dc43cs687c8w";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix
index 3ca91cfd6256..f86ae9d7cec4 100644
--- a/pkgs/servers/unifi/default.nix
+++ b/pkgs/servers/unifi/default.nix
@@ -49,7 +49,7 @@ in {
   };
 
   unifiStable = generic {
-    version = "5.11.39";
-    sha256 = "0v1gnvdazxa3bcbq8hl6796yw0mxzki2xn4s5im5k5ngmfmnswyj";
+    version = "5.12.35";
+    sha256 = "0ln8x7yisanbx1afclhffa0f3fk0sgh7dpj548xyhn5mgpwbj4i2";
   };
 }
diff --git a/pkgs/servers/web-apps/codimd/default.nix b/pkgs/servers/web-apps/codimd/default.nix
index ab4065597ae2..5b61de48b8d2 100644
--- a/pkgs/servers/web-apps/codimd/default.nix
+++ b/pkgs/servers/web-apps/codimd/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, fetchpatch, makeWrapper
-, which, nodejs, yarn2nix, python2 }:
+, which, nodejs, mkYarnPackage, python2 }:
 
-yarn2nix.mkYarnPackage rec {
+mkYarnPackage rec {
   name = "codimd";
   version = "1.5.0";
 
@@ -35,14 +35,8 @@ yarn2nix.mkYarnPackage rec {
     popd
 
     pushd node_modules/sqlite3
-    export OLD_HOME="$HOME"
-    export HOME="$PWD"
-    mkdir -p .node-gyp/${nodejs.version}
-    echo 9 > .node-gyp/${nodejs.version}/installVersion
-    ln -s ${nodejs}/include .node-gyp/${nodejs.version}
-    npm run install
-    export HOME="$OLD_HOME"
-    unset OLD_HOME
+    export CPPFLAGS="-I${nodejs}/include/node"
+    npm run install --build-from-source --nodedir=${nodejs}/include/node
     popd
 
     npm run build
diff --git a/pkgs/servers/web-apps/matomo/default.nix b/pkgs/servers/web-apps/matomo/default.nix
index e990a16c0384..98c532d5ddce 100644
--- a/pkgs/servers/web-apps/matomo/default.nix
+++ b/pkgs/servers/web-apps/matomo/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     runHook preInstall
 
-    # copy evertything to share/, used as webroot folder, and then remove what's known to be not needed
+    # copy everything to share/, used as webroot folder, and then remove what's known to be not needed
     mkdir -p $out/share
     cp -ra * $out/share/
     # tmp/ is created by matomo in PIWIK_USER_PATH
@@ -66,6 +66,27 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  filesToFix = [
+    "misc/composer/build-xhprof.sh"
+    "misc/composer/clean-xhprof.sh"
+    "misc/cron/archive.sh"
+    "plugins/Installation/FormDatabaseSetup.php"
+    "vendor/leafo/lessphp/package.sh"
+    "vendor/pear/archive_tar/sync-php4"
+    "vendor/szymach/c-pchart/coverage.sh"
+  ];
+
+  # This fixes the consistency check in the admin interface
+  postFixup = ''
+    pushd $out/share > /dev/null
+    for f in $filesToFix; do
+      length="$(wc -c "$f" | cut -d' ' -f1)"
+      hash="$(md5sum "$f" | cut -d' ' -f1)"
+      sed -i "s:\\(\"$f\"[^(]*(\\).*:\\1\"$length\", \"$hash\"),:g" config/manifest.inc.php
+    done
+    popd > /dev/null
+  '';
+
   meta = with stdenv.lib; {
     description = "A real-time web analytics application";
     license = licenses.gpl3Plus;
diff --git a/pkgs/servers/web-apps/moodle/default.nix b/pkgs/servers/web-apps/moodle/default.nix
index 60dcbd8b7efe..2957d296dc4b 100644
--- a/pkgs/servers/web-apps/moodle/default.nix
+++ b/pkgs/servers/web-apps/moodle/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, writeText }:
 
 let
-  version = "3.7.3";
+  version = "3.8";
   stableVersion = builtins.substring 0 2 (builtins.replaceStrings ["."] [""] version);
 in
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://download.moodle.org/stable${stableVersion}/${pname}-${version}.tgz";
-    sha256 = "1n82n77lw83a5wjfjbvc74h2ny2z0zkdprxk7sai88rg6rix33ak";
+    sha256 = "00ssx0drgp1fy062x6alp0x8di7hjn4xc87v8skpy3aznchfxyk9";
   };
 
   phpConfig = writeText "config.php" ''
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index ec7246c4eb0d..f83d76a3c2b4 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -2691,12 +2691,12 @@ lib.makeScope newScope (self: with self; {
     meta.platforms = stdenv.lib.platforms.unix;
   }) {};
 
-  xorgserver = callPackage ({ stdenv, fetchpatch, pkgconfig, fetchurl, xorgproto, openssl, libX11, libXau, libXaw, libxcb, xcbutil, xcbutilwm, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, libXdmcp, libXfixes, libxkbfile, libXmu, libXpm, libXrender, libXres, libXt }: stdenv.mkDerivation {
-    name = "xorg-server-1.20.5";
+  xorgserver = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, openssl, libX11, libXau, libXaw, libxcb, xcbutil, xcbutilwm, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, libXdmcp, libXfixes, libxkbfile, libXmu, libXpm, libXrender, libXres, libXt }: stdenv.mkDerivation {
+    name = "xorg-server-1.20.6";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/xserver/xorg-server-1.20.5.tar.bz2;
-      sha256 = "17dc3g8cc55nbkx3np64dsz04n621dnzjmcc9wys0xbyyd1q47d8";
+      url = mirror://xorg/individual/xserver/xorg-server-1.20.6.tar.bz2;
+      sha256 = "1laib9z17jksgzb67z69blcmnpbvj7i7m604b5ns7s760iii85k3";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 71ac752a6cf6..c334365d8b58 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -529,7 +529,7 @@ self: super:
   xorgserver = with self; super.xorgserver.overrideAttrs (attrs_passed:
     # exchange attrs if abiCompat is set
     let
-      version = (builtins.parseDrvName attrs_passed.name).version;
+      version = lib.getVersion attrs_passed;
       attrs =
         if (abiCompat == null || lib.hasPrefix abiCompat version) then
           attrs_passed // {
@@ -564,7 +564,7 @@ self: super:
 
     in attrs //
     (let
-      version = (builtins.parseDrvName attrs.name).version;
+      version = lib.getVersion attrs;
       commonBuildInputs = attrs.buildInputs ++ [ xtrans ];
       commonPropagatedBuildInputs = [
         zlib libGL libGLU dbus
@@ -592,16 +592,6 @@ self: super:
         propagatedBuildInputs = [ libpciaccess epoxy ] ++ commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [
           udev
         ];
-        # patchPhase is not working, this is a hack but we can remove it in the next xorg-server release
-        preConfigure = let
-          headerFix = fetchpatch {
-            url = "https://gitlab.freedesktop.org/xorg/xserver/commit/741bd73429e337071f49509ddcc5fb392e20b0f6.patch";
-            sha256 = "0qjiin9pkggl3c33lfkpn9a9z8ldjpb3y47cflsjkfn868gsk8ri";
-            excludes = [ "hw/xwayland/xwayland-glx.c" ];  # File not in release yet
-          };
-        in ''
-          patch -p1 < ${headerFix}
-        '';
         prePatch = stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
           export CFLAGS+=" -D__uid_t=uid_t -D__gid_t=gid_t"
         '';
diff --git a/pkgs/servers/x11/xorg/tarballs.list b/pkgs/servers/x11/xorg/tarballs.list
index 9f4621316fcd..2fcf09cd9fba 100644
--- a/pkgs/servers/x11/xorg/tarballs.list
+++ b/pkgs/servers/x11/xorg/tarballs.list
@@ -218,4 +218,4 @@ mirror://xorg/individual/util/lndir-1.0.3.tar.bz2
 mirror://xorg/individual/util/makedepend-1.0.6.tar.bz2
 mirror://xorg/individual/util/util-macros-1.19.2.tar.bz2
 mirror://xorg/individual/util/xorg-cf-files-1.0.6.tar.bz2
-mirror://xorg/individual/xserver/xorg-server-1.20.5.tar.bz2
+mirror://xorg/individual/xserver/xorg-server-1.20.6.tar.bz2
diff --git a/pkgs/servers/x11/xorg/xwayland.nix b/pkgs/servers/x11/xorg/xwayland.nix
index 06f54fd52073..d033f211c3a5 100644
--- a/pkgs/servers/x11/xorg/xwayland.nix
+++ b/pkgs/servers/x11/xorg/xwayland.nix
@@ -1,16 +1,18 @@
-{ stdenv, wayland, wayland-protocols, xorgserver, xkbcomp, xkeyboard_config, epoxy, libxslt, libunwind, makeWrapper }:
+{ stdenv, wayland, wayland-protocols, xorgserver, xkbcomp, xkeyboard_config, epoxy, libxslt, libunwind, makeWrapper, egl-wayland }:
 
 with stdenv.lib;
 
 xorgserver.overrideAttrs (oldAttrs: {
 
   name = "xwayland-${xorgserver.version}";
+  buildInputs = oldAttrs.buildInputs ++ [ egl-wayland ];
   propagatedBuildInputs = oldAttrs.propagatedBuildInputs
     ++ [wayland wayland-protocols epoxy libxslt makeWrapper libunwind];
   configureFlags = [
     "--disable-docs"
     "--disable-devel-docs"
     "--enable-xwayland"
+    "--enable-xwayland-eglstream"
     "--disable-xorg"
     "--disable-xvfb"
     "--disable-xnest"
diff --git a/pkgs/servers/zoneminder/default.nix b/pkgs/servers/zoneminder/default.nix
index df6cad8c759b..2dcaf44010e7 100644
--- a/pkgs/servers/zoneminder/default.nix
+++ b/pkgs/servers/zoneminder/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchFromGitHub, fetchurl, cmake, makeWrapper, pkgconfig
-, curl, ffmpeg, glib, libjpeg, libselinux, libsepol, mp4v2, mysql, pcre, perl, perlPackages
+, curl, ffmpeg, glib, libjpeg, libselinux, libsepol, mp4v2, libmysqlclient, mysql, pcre, perl, perlPackages
 , polkit, utillinuxMinimal, x264, zlib
 , coreutils, procps, psmisc }:
 
@@ -123,7 +123,7 @@ in stdenv.mkDerivation rec {
     done
 
     substituteInPlace scripts/zmdbbackup.in \
-      --replace /usr/bin/mysqldump ${mysql}/bin/mysqldump
+      --replace /usr/bin/mysqldump ${mysql.client}/bin/mysqldump
 
     for f in scripts/ZoneMinder/lib/ZoneMinder/Config.pm.in \
              scripts/zmupdate.pl.in \
@@ -140,7 +140,7 @@ in stdenv.mkDerivation rec {
   '';
 
   buildInputs = [
-    curl ffmpeg glib libjpeg libselinux libsepol mp4v2 mysql pcre perl polkit x264 zlib
+    curl ffmpeg glib libjpeg libselinux libsepol mp4v2 libmysqlclient mysql.client pcre perl polkit x264 zlib
     utillinuxMinimal # for libmount
   ] ++ (with perlPackages; [
     # build-time dependencies
diff --git a/pkgs/shells/nushell/default.nix b/pkgs/shells/nushell/default.nix
index 916845047740..981853bdaf89 100644
--- a/pkgs/shells/nushell/default.nix
+++ b/pkgs/shells/nushell/default.nix
@@ -13,16 +13,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nushell";
-  version = "0.5.0";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "0_5_0";
-    sha256 = "1s60w29c8sv0a4nmpggls9pkqyfrwwxjzd65p68d1xxxsdb36rzj";
+    rev = version;
+    sha256 = "0fdi5c9l8ij2vqcxwi9203mh1qj3lcqsl4kl2rkshqj45hn4ab2a";
   };
 
-  cargoSha256 = "0b8alc3si6y4xmn812izknbkfkz64kz7kcnq4xaqws6iqn7pqidp";
+  cargoSha256 = "11cr88jmy34lzjka7agzfvm13hvg66ksa735rzcdx7lcxha538f3";
 
   nativeBuildInputs = [ pkg-config ]
     ++ stdenv.lib.optionals (withAllFeatures && stdenv.isLinux) [ python3 ];
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
     ++ stdenv.lib.optionals (withAllFeatures && stdenv.isLinux) [ xorg.libX11 ]
     ++ stdenv.lib.optionals (withAllFeatures && stdenv.isDarwin) [ AppKit ];
 
-  cargoBuildFlags = stdenv.lib.optionals withAllFeatures [ "--features" "all" ];
+  cargoBuildFlags = stdenv.lib.optional withAllFeatures "--all-features";
 
   preCheck = ''
     export HOME=$TMPDIR
@@ -42,7 +42,7 @@ rustPlatform.buildRustPackage rec {
     description = "A modern shell written in Rust";
     homepage = "https://www.nushell.sh/";
     license = licenses.mit;
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ filalex77 marsam ];
   };
 
   passthru = {
diff --git a/pkgs/shells/powershell/default.nix b/pkgs/shells/powershell/default.nix
index b999070a49e0..6ec2319a49d8 100644
--- a/pkgs/shells/powershell/default.nix
+++ b/pkgs/shells/powershell/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     mkdir -p $out/share/powershell
     cp -r * $out/share/powershell
     makeWrapper $out/share/powershell/pwsh $out/bin/pwsh --prefix ${platformLdLibraryPath} : "${stdenv.lib.makeLibraryPath libraries}" \
-                                           --set TERM xterm --set POWERSHELL_TELEMETRY_OPTOUT 1
+                                           --set TERM xterm --set POWERSHELL_TELEMETRY_OPTOUT 1 --set DOTNET_CLI_TELEMETRY_OPTOUT 1
   '';
 
   dontStrip = true;
diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix
index 647f4cc1a6ec..db19d340a570 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-10-30";
+  version = "2019-11-23";
   pname = "oh-my-zsh";
-  rev = "687c50bdf999f8efd45f3c8f578a62329b0633da";
+  rev = "7b73c9ca1ced57cdf545e860e880658753b81777";
 
   src = fetchgit { inherit rev;
     url = "https://github.com/robbyrussell/oh-my-zsh";
-    sha256 = "13vflcqshvr323sdh4yrs4wlvbxhhc7ldhcyawcwassk44g2kx8w";
+    sha256 = "1mxqa2gf309vjdb1snbczrqwpwi7y6rnmv3n77hsph41bb6j64rz";
   };
 
   pathsToLink = [ "/share/oh-my-zsh" ];
diff --git a/pkgs/shells/zsh/oh-my-zsh/update.sh b/pkgs/shells/zsh/oh-my-zsh/update.sh
index 08b0daa4387c..9567a2b6ae52 100755
--- a/pkgs/shells/zsh/oh-my-zsh/update.sh
+++ b/pkgs/shells/zsh/oh-my-zsh/update.sh
@@ -3,7 +3,7 @@
 
 set -eu -o pipefail
 
-oldVersion="$(nix-instantiate --eval -E "with import ./. {}; oh-my-zsh.version or (builtins.parseDrvName oh-my-zsh.name).version" | tr -d '"')"
+oldVersion="$(nix-instantiate --eval -E "with import ./. {}; lib.getVersion oh-my-zsh" | tr -d '"')"
 latestSha="$(curl -L -s https://api.github.com/repos/robbyrussell/oh-my-zsh/commits\?sha\=master\&since\=${oldVersion} | jq -r '.[0].sha')"
 url="$(nix-instantiate --eval -E "with import ./. {}; oh-my-zsh.src.url" | tr -d '"')"
 
diff --git a/pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix b/pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix
new file mode 100644
index 000000000000..452419bf8b09
--- /dev/null
+++ b/pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix
@@ -0,0 +1,30 @@
+{ stdenvNoCC, lib, fetchFromGitHub }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "zsh-fast-syntax-highlighting";
+  version = "1.54";
+
+  src = fetchFromGitHub {
+    owner = "zdharma";
+    repo = "fast-syntax-highlighting";
+    rev = "v${version}";
+    sha256 = "019hda2pj8lf7px4h1z07b9l6icxx4b2a072jw36lz9bh6jahp32";
+  };
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  installPhase = ''
+    plugindir="$out/share/zsh/site-functions"
+
+    mkdir -p "$plugindir"
+    cp -r -- {,_,-}fast-* chroma themes "$plugindir"/
+  '';
+
+  meta = with lib; {
+    description = "Syntax-highlighting for Zshell";
+    homepage = "https://github.com/zdharma/fast-syntax-highlighting";
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/X11/ckbcomp/default.nix b/pkgs/tools/X11/ckbcomp/default.nix
index 5327e0f8c8f9..1948dd2b9c5d 100644
--- a/pkgs/tools/X11/ckbcomp/default.nix
+++ b/pkgs/tools/X11/ckbcomp/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "ckbcomp";
-  version = "1.193";
+  version = "1.194";
 
   src = fetchFromGitLab {
     domain = "salsa.debian.org";
     owner = "installer-team";
     repo = "console-setup";
     rev = version;
-    sha256 = "107nl6vpy4036km3gr9z5f3mq1i6x169v0z0a0ywavj3zjqy23rp";
+    sha256 = "0fkabv05j5dj10mfrpjyvv7lnxl9qaqkbjhwj72r18i9i4019vgh";
   };
 
   buildInputs = [ perl ];
diff --git a/pkgs/tools/X11/dragon-drop/default.nix b/pkgs/tools/X11/dragon-drop/default.nix
index f15d099016a5..54ece6a9a163 100644
--- a/pkgs/tools/X11/dragon-drop/default.nix
+++ b/pkgs/tools/X11/dragon-drop/default.nix
@@ -2,21 +2,20 @@
 
 stdenv.mkDerivation rec {
   pname = "dragon-drop";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "mwh";
     repo = "dragon";
     rev = "v${version}";
-    sha256 = "0iwlrcqvbjshpwvg0gsqdqcjv48q1ary59pm74zzjnr8v9470smr";
+    sha256 = "0fgzz39007fdjwq72scp0qygp2v3zc5f1xkm0sxaa8zxm25g1bra";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ gtk ];
 
   installPhase = ''
-    mkdir -p $out/bin
-    mv dragon $out/bin
+    install -D dragon -t $out/bin
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/X11/xidlehook/default.nix b/pkgs/tools/X11/xidlehook/default.nix
index 89aff817f50e..67c6a594db75 100644
--- a/pkgs/tools/X11/xidlehook/default.nix
+++ b/pkgs/tools/X11/xidlehook/default.nix
@@ -1,9 +1,9 @@
-{ lib, stdenv, rustPlatform, fetchFromGitLab
+{ lib, stdenv, rustPlatform, fetchFromGitLab, python3
 , xlibsWrapper, xorg, libpulseaudio, pkgconfig, patchelf, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "xidlehook";
-  version = "0.7.1";
+  version = "0.8.0";
 
   doCheck = false;
 
@@ -12,14 +12,14 @@ rustPlatform.buildRustPackage rec {
     repo = "xidlehook";
     rev = version;
 
-    sha256 = "04bb81iwxznkr1zq1q8dql9qklzm9qy7837a71b02ywp3fc6v5b2";
+    sha256 = "127b20y86xs2wq5ka236057nyrh87fgzhjqbl6azf002afnbsn5m";
   };
 
   cargoBuildFlags = lib.optionals (!stdenv.isLinux) ["--no-default-features" "--features" "pulse"];
-  cargoSha256 = "0xnz2s8vh5njqs4a1qm98ydh8pywxvnnpym0z94fsifyfdjlsfm4";
+  cargoSha256 = "0jdkcxvlw7s8pz1ka3d2w97356a2axvlwfgyh2dz7nmfzpjx64x0";
 
   buildInputs = [ xlibsWrapper xorg.libXScrnSaver libpulseaudio ] ++ lib.optional stdenv.isDarwin Security;
-  nativeBuildInputs = [ pkgconfig patchelf ];
+  nativeBuildInputs = [ pkgconfig patchelf python3 ];
 
   postFixup = lib.optionalString stdenv.isLinux ''
     RPATH="$(patchelf --print-rpath $out/bin/xidlehook)"
diff --git a/pkgs/tools/X11/xzoom/default.nix b/pkgs/tools/X11/xzoom/default.nix
index e414576b5230..31f2c0145578 100644
--- a/pkgs/tools/X11/xzoom/default.nix
+++ b/pkgs/tools/X11/xzoom/default.nix
@@ -3,19 +3,17 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "xzoom";
-  major = "0";
-  minor = "3";
+  version = "0.3";
   patch = "24";
-  version = "${major}.${minor}.${patch}";
 
   # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
   src = fetchurl {
-    url = "http://www.ibiblio.org/pub/linux/libs/X/${pname}-${major}.${minor}.tgz";
+    url = "http://www.ibiblio.org/pub/linux/libs/X/${pname}-${version}.tgz";
     sha256 = "0jzl5py4ny4n4i58lxx2hdwq9zphqf7h3m14spl3079y5mlzssxj";
   };
   patches = [
     (fetchurl {
-       url = "http://http.debian.net/debian/pool/main/x/xzoom/xzoom_${major}.${minor}-${patch}.diff.gz";
+       url = "http://http.debian.net/debian/pool/main/x/xzoom/xzoom_${version}-${patch}.diff.gz";
        sha256 = "0zhc06whbvaz987bzzzi2bz6h9jp6rv812qs7b71drivvd820qbh";
     })
   ];
diff --git a/pkgs/tools/admin/aws-google-auth/default.nix b/pkgs/tools/admin/aws-google-auth/default.nix
index 0fc001d5a19b..e878369f1770 100644
--- a/pkgs/tools/admin/aws-google-auth/default.nix
+++ b/pkgs/tools/admin/aws-google-auth/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonApplication rec {
   pname = "aws-google-auth";
-  version = "0.0.32";
+  version = "0.0.33";
 
   # Pypi doesn't ship the tests, so we fetch directly from GitHub
   # https://github.com/cevoaustralia/aws-google-auth/issues/120
@@ -27,7 +27,7 @@ buildPythonApplication rec {
     owner = "cevoaustralia";
     repo = "aws-google-auth";
     rev = version;
-    sha256 = "0blsvdkb28g1s3c7f8brjjai7lq9ij76xqr5z6zlxxafc4qqwhh3";
+    sha256 = "07sisv7b17bpjwikmm9zpxn3l3xpzywsbxi4brri2hdjmjb6p7w7";
   };
 
   propagatedBuildInputs = [ 
diff --git a/pkgs/tools/admin/azure-cli/default.nix b/pkgs/tools/admin/azure-cli/default.nix
new file mode 100644
index 000000000000..3a80b4752c25
--- /dev/null
+++ b/pkgs/tools/admin/azure-cli/default.nix
@@ -0,0 +1,248 @@
+{ lib, python, fetchFromGitHub, installShellFiles }:
+
+let
+  version = "2.0.76";
+  src = fetchFromGitHub {
+    owner = "Azure";
+    repo = "azure-cli";
+    rev = "azure-cli-${version}";
+    sha256 = "0zfy8nhw4nx0idh94qidr06vsfxgdk2ky0ih76s27121pdwr05aa";
+  };
+
+  # put packages that needs to be overriden in the py package scope
+  py = import ./python-packages.nix { inherit python lib src version; };
+in
+py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
+  pname = "azure-cli";
+  inherit version src;
+  disabled = python.isPy27; # namespacing assumes PEP420, which isn't compat with py2
+
+  sourceRoot = "source/src/azure-cli";
+
+  prePatch = ''
+    substituteInPlace setup.py \
+      --replace "javaproperties==0.5.1" "javaproperties" \
+      --replace "pytz==2019.1" "pytz" \
+      --replace "mock~=2.0" "mock" \
+      --replace "azure-mgmt-reservations==0.3.1" "azure-mgmt-reservations~=0.3.1"
+
+    # remove namespace hacks
+    # remove urllib3 because it was added as 'urllib3[secure]', which doesn't get handled well
+    sed -i setup.py \
+      -e '/azure-cli-command_modules-nspkg/d' \
+      -e '/azure-cli-nspkg/d' \
+      -e '/urllib3/d'
+  '';
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  propagatedBuildInputs = with py.pkgs; [
+    azure-batch
+    azure-cli-core
+    azure-cli-telemetry
+    azure-cosmos
+    azure-datalake-store
+    azure-functions-devops-build
+    azure-graphrbac
+    azure-keyvault
+    azure-mgmt-advisor
+    azure-mgmt-apimanagement
+    azure-mgmt-applicationinsights
+    azure-mgmt-appconfiguration
+    azure-mgmt-authorization
+    azure-mgmt-batch
+    azure-mgmt-batchai
+    azure-mgmt-billing
+    azure-mgmt-botservice
+    azure-mgmt-cdn
+    azure-mgmt-cognitiveservices
+    azure-mgmt-compute
+    azure-mgmt-consumption
+    azure-mgmt-containerinstance
+    azure-mgmt-containerregistry
+    azure-mgmt-containerservice
+    azure-mgmt-cosmosdb
+    azure-mgmt-datalake-analytics
+    azure-mgmt-datalake-store
+    azure-mgmt-datamigration
+    azure-mgmt-deploymentmanager
+    azure-mgmt-devtestlabs
+    azure-mgmt-dns
+    azure-mgmt-eventgrid
+    azure-mgmt-eventhub
+    azure-mgmt-hdinsight
+    azure-mgmt-imagebuilder
+    azure-mgmt-iotcentral
+    azure-mgmt-iothub
+    azure-mgmt-iothubprovisioningservices
+    azure-mgmt-keyvault
+    azure-mgmt-kusto
+    azure-mgmt-loganalytics
+    azure-mgmt-managedservices
+    azure-mgmt-managementgroups
+    azure-mgmt-maps
+    azure-mgmt-marketplaceordering
+    azure-mgmt-media
+    azure-mgmt-monitor
+    azure-mgmt-msi
+    azure-mgmt-network
+    azure-mgmt-netapp
+    azure-mgmt-policyinsights
+    azure-mgmt-privatedns
+    azure-mgmt-rdbms
+    azure-mgmt-recoveryservices
+    azure-mgmt-recoveryservicesbackup
+    azure-mgmt-redis
+    azure-mgmt-relay
+    azure-mgmt-reservations
+    azure-mgmt-resource
+    azure-mgmt-search
+    azure-mgmt-security
+    azure-mgmt-servicebus
+    azure-mgmt-servicefabric
+    azure-mgmt-signalr
+    azure-mgmt-sql
+    azure-mgmt-sqlvirtualmachine
+    azure-mgmt-storage
+    azure-mgmt-trafficmanager
+    azure-mgmt-web
+    azure-multiapi-storage
+    azure-storage-blob
+    colorama
+    cryptography
+    Fabric
+    jsmin
+    knack
+    mock
+    paramiko
+    pydocumentdb
+    pygments
+    pyopenssl
+    pytz
+    pyyaml
+    psutil
+    requests
+    scp
+    six
+    sshtunnel
+    urllib3
+    vsts-cd-manager
+    websocket_client
+    xmltodict
+    javaproperties
+    jsondiff
+    # urllib3[secure]
+    ipaddress
+    # shell completion
+    argcomplete
+  ];
+
+  # TODO: make shell completion actually work
+  # uses argcomplete, so completion needs PYTHONPATH to work
+  postInstall = ''
+    installShellCompletion --bash --name az.bash az.completion.sh
+    installShellCompletion --zsh --name _az az.completion.sh
+
+    # remove garbage
+    rm $out/bin/az.bat
+    rm $out/bin/az.completion.sh
+  '';
+
+  # wrap the executable so that the python packages are available
+  # it's just a shebang script which calls `python -m azure.cli "$@"`
+  postFixup = ''
+    wrapProgram $out/bin/az \
+      --set PYTHONPATH $PYTHONPATH
+  '';
+
+  # almost the entire test suite requires an azure account setup and networking
+  # ensure that the azure namespaces are setup correctly and that azure.cli can be accessed
+  checkPhase = ''
+    cd azure # avoid finding local copy
+    ${py.interpreter} -c 'import azure.cli.core; assert "${version}" == azure.cli.core.__version__'
+    HOME=$TMPDIR ${py.interpreter} -m azure.cli --help
+  '';
+
+  # ensure these namespaces are able to be accessed
+  pythonImportsCheck = [
+    "azure.batch"
+    "azure.cli.core"
+    "azure.cli.telemetry"
+    "azure.cosmos"
+    "azure.datalake.store"
+    "azure_functions_devops_build"
+    "azure.graphrbac"
+    "azure.keyvault"
+    "azure.mgmt.advisor"
+    "azure.mgmt.apimanagement"
+    "azure.mgmt.applicationinsights"
+    "azure.mgmt.appconfiguration"
+    "azure.mgmt.authorization"
+    "azure.mgmt.batch"
+    "azure.mgmt.batchai"
+    "azure.mgmt.billing"
+    "azure.mgmt.botservice"
+    "azure.mgmt.cdn"
+    "azure.mgmt.cognitiveservices"
+    "azure.mgmt.compute"
+    "azure.mgmt.consumption"
+    "azure.mgmt.containerinstance"
+    "azure.mgmt.containerregistry"
+    "azure.mgmt.containerservice"
+    "azure.mgmt.cosmosdb"
+    "azure.mgmt.datalake.analytics"
+    "azure.mgmt.datalake.store"
+    "azure.mgmt.datamigration"
+    "azure.mgmt.deploymentmanager"
+    "azure.mgmt.devtestlabs"
+    "azure.mgmt.dns"
+    "azure.mgmt.eventgrid"
+    "azure.mgmt.eventhub"
+    "azure.mgmt.hdinsight"
+    "azure.mgmt.imagebuilder"
+    "azure.mgmt.iotcentral"
+    "azure.mgmt.iothub"
+    "azure.mgmt.iothubprovisioningservices"
+    "azure.mgmt.keyvault"
+    "azure.mgmt.kusto"
+    "azure.mgmt.loganalytics"
+    "azure.mgmt.managedservices"
+    "azure.mgmt.managementgroups"
+    "azure.mgmt.maps"
+    "azure.mgmt.marketplaceordering"
+    "azure.mgmt.media"
+    "azure.mgmt.monitor"
+    "azure.mgmt.msi"
+    "azure.mgmt.network"
+    "azure.mgmt.netapp"
+    "azure.mgmt.policyinsights"
+    "azure.mgmt.privatedns"
+    "azure.mgmt.rdbms"
+    "azure.mgmt.recoveryservices"
+    "azure.mgmt.recoveryservicesbackup"
+    "azure.mgmt.redis"
+    "azure.mgmt.relay"
+    "azure.mgmt.reservations"
+    "azure.mgmt.resource"
+    "azure.mgmt.search"
+    "azure.mgmt.security"
+    "azure.mgmt.servicebus"
+    "azure.mgmt.servicefabric"
+    "azure.mgmt.signalr"
+    "azure.mgmt.sql"
+    "azure.mgmt.sqlvirtualmachine"
+    "azure.mgmt.storage"
+    "azure.mgmt.trafficmanager"
+    "azure.mgmt.web"
+    "azure.storage.blob"
+    "azure.storage.common"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/Azure/azure-cli";
+    description = "Next generation multi-platform command line experience for Azure";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+})
+
diff --git a/pkgs/tools/admin/azure-cli/python-packages.nix b/pkgs/tools/admin/azure-cli/python-packages.nix
new file mode 100644
index 000000000000..06886ba4c79d
--- /dev/null
+++ b/pkgs/tools/admin/azure-cli/python-packages.nix
@@ -0,0 +1,250 @@
+{ python, lib, src, version }:
+
+let
+  buildAzureCliPackage = with py.pkgs; attrs: buildPythonPackage (attrs // {
+    # Remove overly restrictive version contraints and obsolete namespace setup
+    prePatch = (attrs.prePatch or "") + ''
+      rm -f azure_bdist_wheel.py tox.ini
+      substituteInPlace setup.py \
+        --replace "wheel==0.30.0" "wheel"
+      sed -i "/azure-namespace-package/c\ " setup.cfg
+    '';
+
+    # Prevent these __init__'s from violating PEP420, only needed for python2
+    postInstall = (attrs.postInstall or "") + ''
+      rm $out/${python.sitePackages}/azure/{,__pycache__/}__init__.* \
+         $out/${python.sitePackages}/azure/cli/{,__pycache__/}__init__.*
+    '';
+
+    checkInputs = [ mock pytest ] ++ (attrs.checkInputs or []);
+    checkPhase = attrs.checkPhase or ''
+      cd azure
+      HOME=$TMPDIR pytest
+    '';
+  });
+
+  overrideAzureMgmtPackage = package: version: extension: sha256:
+    package.overrideAttrs(oldAttrs: rec {
+      inherit version;
+
+      src = py.pkgs.fetchPypi {
+        inherit (oldAttrs) pname;
+        inherit version sha256 extension;
+      };
+
+      preBuild = ''
+        rm -f azure_bdist_wheel.py
+        substituteInPlace setup.cfg \
+          --replace "azure-namespace-package = azure-mgmt-nspkg" ""
+      '';
+    });
+
+  py = python.override {
+    packageOverrides = self: super: {
+      inherit buildAzureCliPackage;
+
+      # core and the actual application are highly coupled
+      azure-cli-core = buildAzureCliPackage {
+        pname = "azure-cli-core";
+        inherit version src;
+
+        sourceRoot = "source/src/azure-cli-core";
+
+        propagatedBuildInputs = with self; [
+          adal
+          argcomplete
+          azure-cli-telemetry
+          colorama
+          jmespath
+          humanfriendly
+          knack
+          msrest
+          msrestazure
+          paramiko
+          pygments
+          pyjwt
+          pyopenssl
+          pyyaml
+          requests
+          six
+          azure-mgmt-resource
+          tabulate
+          pyperclip
+          psutil
+        ]
+        ++ lib.optionals isPy3k [ antlr4-python3-runtime ]
+        ++ lib.optionals (!isPy3k) [ enum34 futures antlr4-python2-runtime ndg-httpsclient ];
+
+        # ignore test that does network call
+        checkPhase = ''
+          HOME=$TMPDIR pytest --ignore=azure/cli/core/tests/test_profile.py
+        '';
+
+        pythonImportsCheck = [
+          "azure.cli.telemetry"
+          "azure.cli.core"
+        ];
+      };
+
+      azure-cli-telemetry = buildAzureCliPackage {
+        pname = "azure-cli-telemetry";
+        version = "1.0.4"; # might be wrong, but doesn't really matter
+        inherit src;
+
+        sourceRoot = "source/src/azure-cli-telemetry";
+
+        propagatedBuildInputs = with super; [
+          applicationinsights
+          portalocker
+        ];
+
+        # ignore flaky test
+        checkPhase = ''
+          cd azure
+          HOME=$TMPDIR pytest -k 'not test_create_telemetry_note_file_from_scratch'
+        '';
+      };
+
+      azure-mgmt-resource = overrideAzureMgmtPackage super.azure-mgmt-resource "4.0.0" "zip"
+        "0gy89bi89ikg5hps8rvnq28r33lixci3sk2m86jvziv9fh9rz41b";
+
+      azure-mgmt-compute = overrideAzureMgmtPackage super.azure-mgmt-compute "8.0.0" "zip"
+        "06hmf9iq2yqpmmvw7pr9zm4v427q03i436lnin3aczizfndrk76i";
+
+      azure-mgmt-consumption = overrideAzureMgmtPackage super.azure-mgmt-consumption "2.0.0" "zip"
+        "12ai4qps73ivawh0yzvgb148ksx02r30pqlvfihx497j62gsi1cs";
+
+      azure-mgmt-containerservice = overrideAzureMgmtPackage super.azure-mgmt-containerservice "7.0.0" "zip"
+        "104w7rxv7hy84yzddbbpkjqha04ghr0zz9qy788n3wl69cj4cv1a";
+
+      azure-mgmt-cosmosdb = overrideAzureMgmtPackage super.azure-mgmt-cosmosdb "0.8.0" "zip"
+        "0iakxb2rr1w9171802m9syjzqas02vjah711mpagbgcj549mjysb";
+
+      azure-mgmt-iothub = overrideAzureMgmtPackage super.azure-mgmt-iothub "0.8.2" "zip"
+        "0w3w1d156rnkwjdarv3qvycklxr3z2j7lry7a3jfgj3ykzny12rq";
+
+      azure-mgmt-kusto = overrideAzureMgmtPackage super.azure-mgmt-kusto "0.3.0" "zip"
+        "1pmcdgimd66h964a3d5m2j2fbydshcwhrk87wblhwhfl3xwbgf4y";
+
+      azure-mgmt-devtestlabs = overrideAzureMgmtPackage super.azure-mgmt-devtestlabs "2.2.0" "zip"
+        "15lpyv9z8ss47rjmg1wx5akh22p9br2vckaj7jk3639vi38ac5nl";
+
+      azure-mgmt-netapp = overrideAzureMgmtPackage super.azure-mgmt-netapp "0.6.0" "zip"
+        "10ymvyj386z9bjdm2g1b5a4vfnn87ig2zm6xn2xddvbpy0jxnyfv";
+
+      azure-mgmt-dns = overrideAzureMgmtPackage super.azure-mgmt-dns "2.1.0" "zip"
+        "1l55py4fzzwhxlmnwa41gpmqk9v2ncc79w7zq11sm9a5ynrv2c1p";
+
+      azure-mgmt-network = overrideAzureMgmtPackage super.azure-mgmt-network "7.0.0" "zip"
+        "0ss5yc9k3dh78lb88nfh3z98yz1pcd8d7d7cfjlxmv4n3dlr1kij";
+
+      azure-mgmt-msi = overrideAzureMgmtPackage super.azure-mgmt-msi "0.2.0" "zip"
+        "0rvik03njz940x2hvqg6iiq8k0d88gyygsr86w8s0sa12sdbq8l6";
+
+      azure-mgmt-web = overrideAzureMgmtPackage super.azure-mgmt-web "0.42.0" "zip"
+        "0vp40i9aaw5ycz7s7qqir6jq7327f7zg9j9i8g31qkfl1h1c7pdn";
+
+      azure-mgmt-reservations = overrideAzureMgmtPackage super.azure-mgmt-reservations "0.3.2" "zip"
+        "0nksxjh5kh09dr0zw667fg8mzik4ymvfq3dipwag6pynbqr9ls4l";
+
+      azure-mgmt-security = overrideAzureMgmtPackage super.azure-mgmt-security "0.1.0" "zip"
+        "1cb466722bs0ribrirb32kc299716pl0pwivz3jyn40dd78cwhhx";
+
+      azure-mgmt-datamigration = overrideAzureMgmtPackage super.azure-mgmt-datamigration "0.1.0" "zip"
+        "1pq5rn32yvrf5kqjafnj0kc92gpfg435w2l0k7cm8gvlja4r4m77";
+
+      azure-mgmt-relay = overrideAzureMgmtPackage super.azure-mgmt-relay "0.1.0" "zip"
+        "1jss6qhvif8l5s0lblqw3qzijjf0h88agciiydaa7f4q577qgyfr";
+
+      azure-mgmt-eventhub = overrideAzureMgmtPackage super.azure-mgmt-eventhub "2.6.0" "zip"
+        "1nnp2ki4iz4f4897psmwb0v5khrwh84fgxja7nl7g73g3ym20sz8";
+
+      azure-mgmt-keyvault = overrideAzureMgmtPackage super.azure-mgmt-keyvault "1.1.0" "zip"
+        "16a0d3j5dilbp7pd7gbwf8jr46vzbjim1p9alcmisi12m4km7885";
+
+      azure-mgmt-containerregistry = overrideAzureMgmtPackage super.azure-mgmt-containerregistry "3.0.0rc7" "zip"
+        "1bzfpbz186dhnxn0blgr20xxnk67gkr8ysn2b3f1r41bq9hz97xp";
+
+      azure-mgmt-monitor = overrideAzureMgmtPackage super.azure-mgmt-monitor "0.5.2" "zip"
+        "1r01aq5rbynbc1my4qljdifjdj9h65bh8cdzgd7vm4ij7r48v9gi";
+
+      azure-mgmt-advisor =  overrideAzureMgmtPackage super.azure-mgmt-advisor "2.0.1" "zip"
+        "1wsfkprdrn22mwm24y2zlcms8ppp7jwq3s86r3ymbl29pbaxca8r";
+
+      azure-mgmt-applicationinsights = overrideAzureMgmtPackage super.azure-mgmt-applicationinsights "0.1.1" "zip"
+        "16raxr5naszrxmgbfhsvh7rqcph5cx6x3f480790m79ykvmjj0pi";
+
+      azure-mgmt-authorization = overrideAzureMgmtPackage super.azure-mgmt-authorization "0.52.0" "zip"
+        "0357laxgldb7lvvws81r8xb6mrq9dwwnr1bnwdnyj4bw6p21i9hn";
+
+      azure-mgmt-storage = overrideAzureMgmtPackage super.azure-mgmt-storage "5.0.0" "zip"
+        "1gzsscfnnfb8gxs34dq9hs339hidlzas7kgivw0234v3qz4gy9yx";
+
+      azure-mgmt-servicefabric = overrideAzureMgmtPackage super.azure-mgmt-servicefabric "0.2.0" "zip"
+        "1bcq6fcgrsvmk6q7v8mxzn1180jm2qijdqkqbv1m117zp1wj5gxj";
+
+      azure-mgmt-hdinsight = overrideAzureMgmtPackage super.azure-mgmt-hdinsight "1.1.0" "zip"
+        "0lj9dhb14dx4ag5pgd2zvrmn9y5ziq2qywvw38ccbv9g3bxpglkn";
+
+      azure-graphrbac = super.azure-graphrbac.overrideAttrs(oldAttrs: rec {
+        version = "0.60.0";
+
+        src = super.fetchPypi {
+          inherit (oldAttrs) pname;
+          inherit version;
+          sha256 = "1zna5vb887clvpyfp5439vhlz3j4z95blw9r7y86n6cfpzc65fyh";
+          extension = "zip";
+        };
+      });
+
+      azure-storage-blob = super.azure-storage-blob.overrideAttrs(oldAttrs: rec {
+        version = "1.5.0";
+        src = super.fetchPypi {
+          inherit (oldAttrs) pname;
+          inherit version;
+          sha256 = "0b15dzy75fml994gdfmaw5qcyij15gvh968mk3hg94d1wxwai1zi";
+        };
+      });
+
+      azure-storage-common = super.azure-storage-common.overrideAttrs(oldAttrs: rec {
+        version = "1.4.2";
+        src = super.fetchPypi {
+          inherit (oldAttrs) pname;
+          inherit version;
+          sha256 = "00g41b5q4ijlv02zvzjgfwrwy71cgr3lc3if4nayqmyl6xsprj2f";
+        };
+      });
+
+      # part of azure.mgmt.datalake namespace
+      azure-mgmt-datalake-analytics = super.azure-mgmt-datalake-analytics.overrideAttrs(oldAttrs: rec {
+        version = "0.2.1";
+
+        src = super.fetchPypi {
+          inherit (oldAttrs) pname;
+          inherit version;
+          sha256 = "192icfx82gcl3igr18w062744376r2ivh63c8nd7v17mjk860yac";
+          extension = "zip";
+        };
+
+        preBuild = ''
+          rm azure_bdist_wheel.py
+          substituteInPlace setup.cfg \
+            --replace "azure-namespace-package = azure-mgmt-datalake-nspkg" ""
+        '';
+      });
+
+
+
+
+
+
+
+
+
+
+
+
+    };
+  };
+in
+  py
diff --git a/pkgs/tools/admin/eksctl/default.nix b/pkgs/tools/admin/eksctl/default.nix
index 54223dfaea80..b7208d7b867b 100644
--- a/pkgs/tools/admin/eksctl/default.nix
+++ b/pkgs/tools/admin/eksctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.9.0";
+  version = "0.10.2";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    sha256 = "09r8qyc9gcc3slfldkxp91bkiyfgd6qh4di0dbnjggsqfncg34ra";
+    sha256 = "0j1kzll23rj87nabzjjhxydg95cnxlwbkqp3qivf96bv1xlby75k";
   };
 
-  modSha256 = "0y222vxxs9aw17mhif4m0z35ks9xxv90ajk9am71x85sfvkglgl0";
+  modSha256 = "18n4aimf9diy9w7f2k08cd7xr8jay6pid5mwrc24y2pqkjhgpyp7";
 
   subPackages = [ "cmd/eksctl" ];
 
diff --git a/pkgs/development/python-modules/elasticsearch-curator/default.nix b/pkgs/tools/admin/elasticsearch-curator/default.nix
index 5c5329656a90..8d8f90704999 100644
--- a/pkgs/development/python-modules/elasticsearch-curator/default.nix
+++ b/pkgs/tools/admin/elasticsearch-curator/default.nix
@@ -1,27 +1,29 @@
-{ stdenv
-, buildPythonPackage
-, fetchPypi
-, boto3
-, click
-, certifi
-, requests-aws4auth
-, voluptuous
-, pyyaml
-, elasticsearch
-, nosexcover
-, coverage
-, nose
-, mock
-, funcsigs
-} :
+{ lib, fetchFromGitHub, python }:
 
-buildPythonPackage rec {
+let
+py = python.override {
+  packageOverrides = self: super: {
+    click = super.click.overridePythonAttrs (oldAttrs: rec {
+      version = "6.7";
+      src = oldAttrs.src.override {
+        inherit version;
+        sha256 = "f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b";
+      };
+    });
+  };
+};
+in
+
+with py.pkgs;
+buildPythonApplication rec {
   pname   = "elasticsearch-curator";
   version = "5.8.1";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "f0eec9ad043a30bc2e2232637111960139a1bda38232241bdd2f0c253a3584df";
+  src = fetchFromGitHub {
+    owner = "elastic";
+    repo = "curator";
+    rev = "v${version}";
+    sha256 = "1shr9jslirjnbvma3p19djsnamxl7f3m9c8zrlclk57zv8rnwpkr";
   };
 
   # The test hangs so we disable it.
@@ -31,6 +33,7 @@ buildPythonPackage rec {
     click
     certifi
     requests-aws4auth
+    pyopenssl
     voluptuous
     pyyaml
     elasticsearch
@@ -46,10 +49,15 @@ buildPythonPackage rec {
   ];
 
   postPatch = ''
-    sed -i s/pyyaml==3.12/pyyaml==${pyyaml.version}/ setup.cfg setup.py
+    sed -i s/pyyaml==3.13/pyyaml/g setup.cfg setup.py
+    sed -i s/pyyaml==3.12/pyyaml/g setup.cfg setup.py
+    substituteInPlace setup.py \
+      --replace "urllib3>=1.24.2,<1.25" "urllib3"
+    substituteInPlace setup.cfg \
+      --replace "urllib3>=1.24.2,<1.25" "urllib3"
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://github.com/elastic/curator;
     description = "Curate, or manage, your Elasticsearch indices and snapshots";
     license = licenses.asl20;
@@ -68,6 +76,6 @@ buildPythonPackage rec {
     maintainers = with maintainers; [ basvandijk ];
 
     # https://github.com/elastic/curator/pull/1280
-    broken = versionAtLeast click.version "7.0";
+    #broken = versionAtLeast click.version "7.0";
   };
 }
diff --git a/pkgs/tools/admin/fbvnc/default.nix b/pkgs/tools/admin/fbvnc/default.nix
new file mode 100644
index 000000000000..ec32b5f0a268
--- /dev/null
+++ b/pkgs/tools/admin/fbvnc/default.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchFromGitHub}:
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "fbvnc";
+  version = "1.0.2";
+
+  src = fetchFromGitHub {
+    owner = "zohead";
+    repo = pname;
+    sha256 = "0lkr4j1wsa05av2g9w99rr9w4j4k7a21vp36x0a3h50y8bmgwgm1";
+    rev = "783204ff6c92afec33d6d36f7e74f1fcf2b1b601";
+  };
+
+  buildInputs = [];
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    cp fbvnc "$out/bin"
+    mkdir -p "$out/share/doc/${pname}"
+    cp README* "$out/share/doc/${pname}"
+  '';
+
+  meta = {
+    description = "Framebuffer VNC client";
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = "https://github.com/zohead/fbvnc/";
+  };
+}
diff --git a/pkgs/tools/admin/tigervnc/default.nix b/pkgs/tools/admin/tigervnc/default.nix
index 5a964a7fe70d..3536e39418eb 100644
--- a/pkgs/tools/admin/tigervnc/default.nix
+++ b/pkgs/tools/admin/tigervnc/default.nix
@@ -11,14 +11,14 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "1.9.0";
+  version = "1.10.0";
   pname = "tigervnc";
 
   src = fetchFromGitHub {
     owner = "TigerVNC";
     repo = "tigervnc";
-    rev = "v1.9.0";
-    sha256 = "0b47fg3741qs3zdpl2zr0s6jz46dypp2j6gqrappbzm3ywnnmm1x";
+    rev = "v1.10.0";
+    sha256 = "0l0x7cq65wv9n93r952qsikwzcls1sq3r32mx0c4wg19dha0x1m4";
   };
 
   inherit fontDirectories;
@@ -94,7 +94,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
-    homepage = http://www.tigervnc.org/;
+    homepage = "https://tigervnc.org/";
     license = stdenv.lib.licenses.gpl2Plus;
     description = "Fork of tightVNC, made in cooperation with VirtualGL";
     maintainers = with stdenv.lib.maintainers; [viric];
diff --git a/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15678.patch b/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15678.patch
new file mode 100644
index 000000000000..cd65d2fb5dd9
--- /dev/null
+++ b/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15678.patch
@@ -0,0 +1,18 @@
+Adapted from https://github.com/LibVNC/libvncserver/commit/c5ba3fee85a7ecbbca1df5ffd46d32b92757bc2a
+diff --git a/vncviewer/rfbproto.c b/vncviewer/rfbproto.c
+index 04b0230..47a6863 100644
+--- a/vncviewer/rfbproto.c
++++ b/vncviewer/rfbproto.c
+@@ -1217,6 +1217,12 @@ HandleRFBServerMessage()
+     if (serverCutText)
+       free(serverCutText);
+ 
++    if (msg.sct.length > 1<<20) {
++      fprintf(stderr,"Ignoring too big cut text length sent by server: %u B > 1 MB\n",
++              (unsigned int)msg.sct.length);
++      return False;
++    }
++
+     serverCutText = malloc(msg.sct.length+1);
+ 
+     if (!ReadFromRFBServer(serverCutText, msg.sct.length))
diff --git a/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15679.patch b/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15679.patch
new file mode 100644
index 000000000000..6d7b3e89e0c4
--- /dev/null
+++ b/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15679.patch
@@ -0,0 +1,19 @@
+Adapted from https://github.com/LibVNC/libvncserver/commit/c2c4b81e6cb3b485fb1ec7ba9e7defeb889f6ba7
+diff --git a/vncviewer/rfbproto.c b/vncviewer/rfbproto.c
+index 04b0230..bd11b54 100644
+--- a/vncviewer/rfbproto.c
++++ b/vncviewer/rfbproto.c
+@@ -303,7 +303,12 @@ InitialiseRFBConnection(void)
+   si.format.blueMax = Swap16IfLE(si.format.blueMax);
+   si.nameLength = Swap32IfLE(si.nameLength);
+ 
+-  /* FIXME: Check arguments to malloc() calls. */
++  if (si.nameLength > 1<<20) {
++    fprintf(stderr, "Too big desktop name length sent by server: %lu B > 1 MB\n",
++            (unsigned long)si.nameLength);
++    return False;
++  }
++
+   desktopName = malloc(si.nameLength + 1);
+   if (!desktopName) {
+     fprintf(stderr, "Error allocating memory for desktop name, %lu bytes\n",
diff --git a/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15680.patch b/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15680.patch
new file mode 100644
index 000000000000..7426a2b58b10
--- /dev/null
+++ b/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-15680.patch
@@ -0,0 +1,16 @@
+diff --git a/vncviewer/zlib.c b/vncviewer/zlib.c
+index 80c4eee..76998d8 100644
+--- a/vncviewer/zlib.c
++++ b/vncviewer/zlib.c
+@@ -55,6 +55,11 @@ HandleZlibBPP (int rx, int ry, int rw, int rh)
+     raw_buffer_size = (( rw * rh ) * ( BPP / 8 ));
+     raw_buffer = (char*) malloc( raw_buffer_size );
+ 
++    if ( raw_buffer == NULL ) {
++      fprintf(stderr,
++              "couldn't allocate raw_buffer in HandleZlibBPP");
++      return False;
++    }
+   }
+ 
+   if (!ReadFromRFBServer((char *)&hdr, sz_rfbZlibHeader))
diff --git a/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-8287.patch b/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-8287.patch
new file mode 100644
index 000000000000..5bfd1b9ea87f
--- /dev/null
+++ b/pkgs/tools/admin/tightvnc/1.3.10-CVE-2019-8287.patch
@@ -0,0 +1,14 @@
+Adapted from https://github.com/LibVNC/libvncserver/commit/7b1ef0ffc4815cab9a96c7278394152bdc89dc4d
+diff --git a/vncviewer/corre.c b/vncviewer/corre.c
+index c846a10..a4c272d 100644
+--- a/vncviewer/corre.c
++++ b/vncviewer/corre.c
+@@ -56,7 +56,7 @@ HandleCoRREBPP (int rx, int ry, int rw, int rh)
+     XChangeGC(dpy, gc, GCForeground, &gcv);
+     XFillRectangle(dpy, desktopWin, gc, rx, ry, rw, rh);
+ 
+-    if (!ReadFromRFBServer(buffer, hdr.nSubrects * (4 + (BPP / 8))))
++    if (hdr.nSubrects > BUFFER_SIZE / (4 + (BPP / 8)) || !ReadFromRFBServer(buffer, hdr.nSubrects * (4 + (BPP / 8))))
+ 	return False;
+ 
+     ptr = (CARD8 *)buffer;
diff --git a/pkgs/tools/admin/tightvnc/default.nix b/pkgs/tools/admin/tightvnc/default.nix
index 5a76b500d149..1a65c31102e9 100644
--- a/pkgs/tools/admin/tightvnc/default.nix
+++ b/pkgs/tools/admin/tightvnc/default.nix
@@ -9,6 +9,13 @@ stdenv.mkDerivation {
     sha256 = "f48c70fea08d03744ae18df6b1499976362f16934eda3275cead87baad585c0d";
   };
 
+  patches = [
+    ./1.3.10-CVE-2019-15678.patch
+    ./1.3.10-CVE-2019-15679.patch
+    ./1.3.10-CVE-2019-15680.patch
+    ./1.3.10-CVE-2019-8287.patch
+  ];
+
   # for the builder script
   inherit fontDirectories;
 
diff --git a/pkgs/tools/archivers/innoextract/default.nix b/pkgs/tools/archivers/innoextract/default.nix
index 6b0ca7e15285..6a8c8c712747 100644
--- a/pkgs/tools/archivers/innoextract/default.nix
+++ b/pkgs/tools/archivers/innoextract/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   name = "innoextract-1.8";
 
   src = fetchurl {
-    url = "http://constexpr.org/innoextract/files/${name}.tar.gz";
+    url = "https://constexpr.org/innoextract/files/${name}.tar.gz";
     sha256 = "0saj50n8ds85shygy4mq1h6s99510r9wgjjdll4dmvhra4lzcy2y";
   };
 
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A tool to unpack installers created by Inno Setup";
-    homepage = http://constexpr.org/innoextract/;
+    homepage = https://constexpr.org/innoextract/;
     license = licenses.zlib;
     maintainers = with maintainers; [ abbradar ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/archivers/unrar/default.nix b/pkgs/tools/archivers/unrar/default.nix
index b1d440e51ce8..4b3a2f60c4fc 100644
--- a/pkgs/tools/archivers/unrar/default.nix
+++ b/pkgs/tools/archivers/unrar/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "unrar";
-  version = "5.8.3";
+  version = "5.8.4";
 
   src = fetchurl {
     url = "https://www.rarlab.com/rar/unrarsrc-${version}.tar.gz";
-    sha256 = "19lizlsbblkcdyc81jycp5k8kf5d8h2hlgfy16zb1g2vixf6i49m";
+    sha256 = "15igz4xkzxlf81kl9p1n447rp2zrzpi6qdwn2iimzrppgqqb4z0b";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/audio/abcm2ps/default.nix b/pkgs/tools/audio/abcm2ps/default.nix
index 39ad4626f3eb..575517829fff 100644
--- a/pkgs/tools/audio/abcm2ps/default.nix
+++ b/pkgs/tools/audio/abcm2ps/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "abcm2ps";
-  version = "8.14.5";
+  version = "8.14.6";
 
   src = fetchFromGitHub {
     owner = "leesavide";
     repo = "abcm2ps";
     rev = "v${version}";
-    sha256 = "1i6db49khqy8bqg21cn90b1fvyw8mh1asdswzssr6dr2g8bhdwmq";
+    sha256 = "1gqjqbd8wj0655vi8gcg2r5jqzafdlnfjzwa9z331ywhrskpm53w";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/audio/acoustid-fingerprinter/default.nix b/pkgs/tools/audio/acoustid-fingerprinter/default.nix
index acd205a30de1..7b92b973df4c 100644
--- a/pkgs/tools/audio/acoustid-fingerprinter/default.nix
+++ b/pkgs/tools/audio/acoustid-fingerprinter/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ cmake qt4 taglib chromaprint ffmpeg ];
 
-  cmakeFlags = [ "-DTAGLIB_MIN_VERSION=${(builtins.parseDrvName taglib.name).version}" ];
+  cmakeFlags = [ "-DTAGLIB_MIN_VERSION=${stdenv.lib.getVersion taglib}" ];
 
   patches = [
     (fetchpatch {
diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix
index 241e552b05c3..9509eccabdc1 100644
--- a/pkgs/tools/audio/beets/default.nix
+++ b/pkgs/tools/audio/beets/default.nix
@@ -6,6 +6,7 @@
 # Attributes needed for tests of the external plugins
 , callPackage, beets
 
+, enableAbsubmit       ? stdenv.lib.elem stdenv.hostPlatform.system essentia-extractor.meta.platforms, essentia-extractor ? null
 , enableAcousticbrainz ? true
 , enableAcoustid       ? true
 , enableBadfiles       ? true, flac ? null, mp3val ? null
@@ -33,6 +34,7 @@
 , bashInteractive, bash-completion
 }:
 
+assert enableAbsubmit    -> essentia-extractor            != null;
 assert enableAcoustid    -> pythonPackages.pyacoustid     != null;
 assert enableBadfiles    -> flac != null && mp3val != null;
 assert enableConvert     -> ffmpeg != null;
@@ -51,6 +53,7 @@ with stdenv.lib;
 
 let
   optionalPlugins = {
+    absubmit = enableAbsubmit;
     acousticbrainz = enableAcousticbrainz;
     badfiles = enableBadfiles;
     chroma = enableAcoustid;
@@ -75,12 +78,12 @@ let
   };
 
   pluginsWithoutDeps = [
-    "absubmit" "beatport" "bench" "bpd" "bpm" "bucket" "cue" "duplicates"
-    "edit" "embedart" "export" "filefilter" "freedesktop" "fromfilename"
-    "ftintitle" "fuzzy" "hook" "ihate" "importadded" "importfeeds" "info"
-    "inline" "ipfs" "lyrics" "mbcollection" "mbsubmit" "mbsync" "metasync"
-    "missing" "permissions" "play" "plexupdate" "random" "rewrite" "scrub"
-    "smartplaylist" "spotify" "the" "types" "zero"
+    "beatport" "bench" "bpd" "bpm" "bucket" "cue" "duplicates" "edit" "embedart"
+    "export" "filefilter" "freedesktop" "fromfilename" "ftintitle" "fuzzy"
+    "hook" "ihate" "importadded" "importfeeds" "info" "inline" "ipfs" "lyrics"
+    "mbcollection" "mbsubmit" "mbsync" "metasync" "missing" "permissions" "play"
+    "plexupdate" "random" "rewrite" "scrub" "smartplaylist" "spotify" "the"
+    "types" "zero"
   ];
 
   enabledOptionalPlugins = attrNames (filterAttrs (_: id) optionalPlugins);
@@ -129,7 +132,8 @@ in pythonPackages.buildPythonApplication rec {
     pythonPackages.gst-python
     pythonPackages.pygobject3
     gobject-introspection
-  ] ++ optional enableAcoustid      pythonPackages.pyacoustid
+  ] ++ optional enableAbsubmit      essentia-extractor
+    ++ optional enableAcoustid      pythonPackages.pyacoustid
     ++ optional (enableFetchart
               || enableEmbyupdate
               || enableKodiupdate
diff --git a/pkgs/tools/audio/essentia-extractor/default.nix b/pkgs/tools/audio/essentia-extractor/default.nix
new file mode 100644
index 000000000000..0d2bb17a75d4
--- /dev/null
+++ b/pkgs/tools/audio/essentia-extractor/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl }:
+let
+  arch_table = {
+    "x86_64-linux" = "linux-x86_64";
+    "i686-linux" = "linux-i686";
+  };
+
+  sha_table = {
+    "x86_64-linux" =
+      "d9902aadac4f442992877945da2a6fe8d6ea6b0de314ca8ac0c28dc5f253f7d8";
+    "i686-linux" =
+      "46deb0a053b4910c4e68737a7b6556ff5360260c8f86652f91a0130445f5c949";
+  };
+
+  arch = arch_table.${stdenv.system};
+  sha = sha_table.${stdenv.system};
+in stdenv.mkDerivation rec {
+  pname = "essentia-extractor";
+  version = "2.1_beta2";
+
+  src = fetchurl {
+    url =
+      "ftp://ftp.acousticbrainz.org/pub/acousticbrainz/essentia-extractor-v${version}-${arch}.tar.gz";
+    sha256 = sha;
+  };
+
+  unpackPhase = "unpackFile $src ; export sourceRoot=.";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp streaming_extractor_music $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://acousticbrainz.org/download";
+    description = "AcousticBrainz audio feature extractor";
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ lovesegfault ];
+    platforms = [ "x86_64-linux" "i686-linux" ];
+  };
+}
diff --git a/pkgs/tools/backup/btrbk/default.nix b/pkgs/tools/backup/btrbk/default.nix
index 71e1807603c8..cd45edfa2d5f 100644
--- a/pkgs/tools/backup/btrbk/default.nix
+++ b/pkgs/tools/backup/btrbk/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, coreutils, bash, btrfs-progs, openssh, perl, perlPackages
-, utillinux, asciidoc, asciidoctor, makeWrapper }:
+, utillinux, asciidoc, asciidoctor, mbuffer, makeWrapper }:
 
 stdenv.mkDerivation rec {
   pname = "btrbk";
@@ -38,15 +38,15 @@ stdenv.mkDerivation rec {
   preFixup = ''
     wrapProgram $out/sbin/btrbk \
       --set PERL5LIB $PERL5LIB \
-      --prefix PATH ':' "${stdenv.lib.makeBinPath [ btrfs-progs bash openssh ]}"
+      --prefix PATH ':' "${stdenv.lib.makeBinPath [ btrfs-progs bash mbuffer openssh ]}"
   '';
 
   meta = with stdenv.lib; {
     description = "A backup tool for btrfs subvolumes";
-    homepage = http://digint.ch/btrbk;
+    homepage = https://digint.ch/btrbk;
     license = licenses.gpl3;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ the-kenny ];
+    maintainers = with maintainers; [ asymmetric the-kenny ];
     inherit version;
   };
 }
diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix
index c1673c8308e9..a33067e88979 100644
--- a/pkgs/tools/backup/duplicity/default.nix
+++ b/pkgs/tools/backup/duplicity/default.nix
@@ -43,7 +43,7 @@ python2Packages.buildPythonApplication rec {
   buildInputs = [ librsync makeWrapper python2Packages.wrapPython ];
   propagatedBuildInputs = [ backblaze-b2 ] ++ (with python2Packages; [
     boto cffi cryptography ecdsa enum idna pygobject3 fasteners
-    ipaddress lockfile paramiko pyasn1 pycrypto six
+    ipaddress lockfile paramiko pyasn1 pycrypto six pydrive
   ]);
   checkInputs = [
     gnupg  # Add 'gpg' to PATH.
diff --git a/pkgs/tools/backup/lvmsync/default.nix b/pkgs/tools/backup/lvmsync/default.nix
index 814c02267ba9..8c23d804d0b8 100644
--- a/pkgs/tools/backup/lvmsync/default.nix
+++ b/pkgs/tools/backup/lvmsync/default.nix
@@ -30,7 +30,7 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Optimised synchronisation of LVM snapshots over a network";
-    homepage = http://theshed.hezmatt.org/lvmsync/;
+    homepage = https://theshed.hezmatt.org/lvmsync/;
     license = licenses.gpl3;
     platforms = platforms.all;
     maintainers = with maintainers; [ jluttine nicknovitski ];
diff --git a/pkgs/tools/compression/gzrt/default.nix b/pkgs/tools/compression/gzrt/default.nix
index 59a11e2d4d75..6ce50bb3d996 100644
--- a/pkgs/tools/compression/gzrt/default.nix
+++ b/pkgs/tools/compression/gzrt/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "gzrt-0.8";
 
   src = fetchurl {
-    url = "http://www.urbanophile.com/arenn/coding/gzrt/${name}.tar.gz";
+    url = "https://www.urbanophile.com/arenn/coding/gzrt/${name}.tar.gz";
     sha256 = "1vhzazj47xfpbfhzkwalz27cc0n5gazddmj3kynhk0yxv99xrdxh";
   };
 
@@ -16,9 +16,9 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://www.urbanophile.com/arenn/hacking/gzrt/;
+    homepage = https://www.urbanophile.com/arenn/hacking/gzrt/;
     description = "The gzip Recovery Toolkit";
-    license = stdenv.lib.licenses.gpl3;
+    license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/compression/lz4/default.nix b/pkgs/tools/compression/lz4/default.nix
index 3f2497cd8d22..3ce0eac3fc5c 100644
--- a/pkgs/tools/compression/lz4/default.nix
+++ b/pkgs/tools/compression/lz4/default.nix
@@ -21,6 +21,7 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  # TODO(@Ericson2314): Separate binaries and libraries
   outputs = [ "out" "dev" ];
 
   buildInputs = stdenv.lib.optional doCheck valgrind;
@@ -33,17 +34,27 @@ stdenv.mkDerivation rec {
     # TODO do this instead
     #"BUILD_STATIC=${if enableStatic then "yes" else "no"}"
     #"BUILD_SHARED=${if enableShared then "yes" else "no"}"
+    #"WINDRES:=${stdenv.cc.bintools.targetPrefix}windres"
   ]
     # TODO delete and do above
     ++ stdenv.lib.optional (enableStatic) "BUILD_STATIC=yes"
     ++ stdenv.lib.optional (!enableShared) "BUILD_SHARED=no"
+    ++ stdenv.lib.optional stdenv.hostPlatform.isMinGW "WINDRES:=${stdenv.cc.bintools.targetPrefix}windres"
+    # TODO make full dictionary
+    ++ stdenv.lib.optional stdenv.hostPlatform.isMinGW "TARGET_OS=MINGW"
     ;
 
   doCheck = false; # tests take a very long time
   checkTarget = "test";
 
-  # TODO remove
-  postInstall = stdenv.lib.optionalString (!enableStatic) "rm $out/lib/*.a";
+  # TODO(@Ericson2314): Make resusable setup hook for this issue on Windows.
+  postInstall =
+    stdenv.lib.optionalString stdenv.hostPlatform.isWindows ''
+      mv $out/bin/*.dll $out/lib
+      ln -s $out/lib/*.dll
+    ''
+    # TODO remove
+    + stdenv.lib.optionalString (!enableStatic) "rm $out/lib/*.a";
 
   meta = with stdenv.lib; {
     description = "Extremely fast compression algorithm";
@@ -56,6 +67,6 @@ stdenv.mkDerivation rec {
     '';
     homepage = https://lz4.github.io/lz4/;
     license = with licenses; [ bsd2 gpl2Plus ];
-    platforms = platforms.unix;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/compression/zstd/default.nix b/pkgs/tools/compression/zstd/default.nix
index 01e8525fe8fb..a3aecf88c907 100644
--- a/pkgs/tools/compression/zstd/default.nix
+++ b/pkgs/tools/compression/zstd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, gnugrep
+{ stdenv, fetchFromGitHub, fetchpatch, gnugrep
 , fixDarwinDylibNames
 , file
 , legacySupport ? false }:
@@ -14,11 +14,33 @@ stdenv.mkDerivation rec {
     owner = "facebook";
   };
 
-  buildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
+  patches = [
+    # All 3 from https://github.com/facebook/zstd/pull/1883
+    (fetchpatch {
+      url = "https://github.com/facebook/zstd/commit/106278e7e5fafaea3b7deb4147bdc8071562d2f0.diff";
+      sha256 = "13z7id1qbc05cv1rmak7c8xrchp7jh1i623bq5pwcihg57wzcyr8";
+    })
+    (fetchpatch {
+      url = "https://github.com/facebook/zstd/commit/0ede342acc2c26f87ae962fa88e158904d4198c4.diff";
+      sha256 = "12l5xbvnzkvr76mvl1ls767paqfwbd9q1pzq44ckacfpz4f6iaap";
+      excludes = [
+        # I think line endings are causing problems, or something like that
+        "programs/windres/generate_res.bat"
+      ];
+    })
+    (fetchpatch {
+      url = "https://github.com/facebook/zstd/commit/10552eaffef84c011f67af0e04f0780b50a5ab26.diff";
+      sha256 = "1s27ravar3rn7q8abybp9733jhpsfcaci51k04da94ahahvxwiqw";
+    })
+  ] # This I didn't upstream because if you use posix threads with MinGW it will
+    # work find, and I'm not sure how to write the condition.
+    ++ stdenv.lib.optional stdenv.hostPlatform.isWindows ./mcfgthreads-no-pthread.patch;
+
+  nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
   makeFlags = [
     "ZSTD_LEGACY_SUPPORT=${if legacySupport then "1" else "0"}"
-  ];
+  ] ++ stdenv.lib.optional stdenv.hostPlatform.isWindows "OS=Windows";
 
   checkInputs = [ file ];
   doCheck = true;
@@ -56,7 +78,7 @@ stdenv.mkDerivation rec {
     homepage = https://facebook.github.io/zstd/;
     license = with licenses; [ bsd3 ]; # Or, at your opinion, GPL-2.0-only.
 
-    platforms = platforms.unix;
+    platforms = platforms.all;
     maintainers = with maintainers; [ orivej ];
   };
 }
diff --git a/pkgs/tools/compression/zstd/mcfgthreads-no-pthread.patch b/pkgs/tools/compression/zstd/mcfgthreads-no-pthread.patch
new file mode 100644
index 000000000000..69921c0c7bad
--- /dev/null
+++ b/pkgs/tools/compression/zstd/mcfgthreads-no-pthread.patch
@@ -0,0 +1,13 @@
+diff --git a/programs/Makefile b/programs/Makefile
+index 7882fe8c..1e8237bb 100644
+--- a/programs/Makefile
++++ b/programs/Makefile
+@@ -107,7 +107,7 @@ HAVE_THREAD := $(shell [ "$(HAVE_PTHREAD)" -eq "1" -o -n "$(filter Windows%,$(OS
+ ifeq ($(HAVE_THREAD), 1)
+ THREAD_MSG := ==> building with threading support
+ THREAD_CPP := -DZSTD_MULTITHREAD
+-THREAD_LD := -pthread
++THREAD_LD :=
+ else
+ THREAD_MSG := $(NO_THREAD_MSG)
+ endif
diff --git a/pkgs/tools/filesystems/cryfs/default.nix b/pkgs/tools/filesystems/cryfs/default.nix
index 7eee02e220af..93a70f1f0881 100644
--- a/pkgs/tools/filesystems/cryfs/default.nix
+++ b/pkgs/tools/filesystems/cryfs/default.nix
@@ -1,78 +1,78 @@
-{ stdenv, fetchFromGitHub
-, cmake, pkgconfig, coreutils
-, boost, cryptopp, curl, fuse, openssl, python, spdlog
+{ stdenv, fetchFromGitHub, fetchpatch
+, cmake, pkgconfig, python, gtest
+, boost, cryptopp, curl, fuse, openssl
 }:
 
 stdenv.mkDerivation rec {
   pname = "cryfs";
-  version = "0.9.10";
+  version = "0.10.2";
 
   src = fetchFromGitHub {
     owner  = "cryfs";
     repo   = "cryfs";
     rev    = version;
-    sha256 = "04yqpad8x0hiiwpykcn3swi0py6sg9xid6g15ny2qs4j3llin5ry";
+    sha256 = "1m6rcc82hbaiwcwcvf5xmxma8n0jal9zhcykv9xgwiax4ny0l8kz";
   };
 
-  prePatch = ''
+  patches = [
+    (fetchpatch {
+      name = "cryfs-0.10.2-install-targets.patch";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-fs/cryfs/files/cryfs-0.10.2-install-targets.patch?id=192ac7421ddd4093125f4997898fb62e8a140a44";
+      sha256 = "1jz6gpi1i7dnfm88a6n3mccwfmsmvg0d0bmp3fmqqrkbcg7in00l";
+    })
+    (fetchpatch {
+      name = "cryfs-0.10.2-unbundle-libs.patch";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-fs/cryfs/files/cryfs-0.10.2-unbundle-libs.patch?id=192ac7421ddd4093125f4997898fb62e8a140a44";
+      sha256 = "0hzss5rawcjrh8iqzc40w5yjhxdqya4gbg6dzap70180s50mahzs";
+    })
+  ];
+
+  postPatch = ''
     patchShebangs src
 
-    substituteInPlace vendor/scrypt/CMakeLists.txt \
-      --replace /usr/bin/ ""
+    # remove tests that require network access:
+    substituteInPlace test/cpp-utils/CMakeLists.txt \
+      --replace "network/CurlHttpClientTest.cpp" "" \
+      --replace "network/FakeHttpClientTest.cpp" ""
 
-    # scrypt in nixpkgs only produces a binary so we lift the patching from that so allow
-    # building the vendored version. This is very much NOT DRY.
-    # The proper solution is to have scrypt generate a dev output with the required files and just symlink
-    # into vendor/scrypt
-    for f in Makefile.in autocrap/Makefile.am libcperciva/cpusupport/Build/cpusupport.sh ; do
-      substituteInPlace vendor/scrypt/scrypt-*/scrypt/$f --replace "command -p " ""
-    done
+    # remove CLI test trying to access /dev/fuse
+    substituteInPlace test/cryfs-cli/CMakeLists.txt \
+      --replace "CliTest_IntegrityCheck.cpp" ""
 
-    # cryfs is vendoring an old version of spdlog
-    rm -rf vendor/spdlog/spdlog
-    ln -s ${spdlog} vendor/spdlog/spdlog
+    # downsize large file test as 4.5G is too big for Hydra:
+    substituteInPlace test/cpp-utils/data/DataTest.cpp \
+      --replace "(4.5L*1024*1024*1024)" "(0.5L*1024*1024*1024)"
   '';
 
-  buildInputs = [ boost cryptopp curl fuse openssl python spdlog ];
+  nativeBuildInputs = [ cmake gtest pkgconfig python ];
 
-  patches = [
-    ./test-no-network.patch  # Disable tests using external networking
-    ./skip-failing-test-large-malloc.patch
-  ];
-
-  # coreutils is needed for the vendored scrypt
-  nativeBuildInputs = [ cmake coreutils pkgconfig ];
+  buildInputs = [ boost cryptopp curl fuse openssl ];
 
   enableParallelBuilding = true;
 
   cmakeFlags = [
-    "-DCRYFS_UPDATE_CHECKS=OFF"
-    "-DBoost_USE_STATIC_LIBS=OFF" # this option is case sensitive
+    "-DCRYFS_UPDATE_CHECKS:BOOL=FALSE"
+    "-DBoost_USE_STATIC_LIBS:BOOL=FALSE" # this option is case sensitive
+    "-DUSE_SYSTEM_LIBS:BOOL=TRUE"
+    "-DBUILD_TESTING:BOOL=TRUE"
   ];
 
-  doCheck = true;
+  doCheck = (!stdenv.isDarwin); # Cryfs tests are broken on darwin
 
-  # Cryfs tests are broken on darwin
-  checkPhase = stdenv.lib.optionalString (!stdenv.isDarwin) ''
+  checkPhase = ''
     # Skip CMakeFiles directory and tests depending on fuse (does not work well with sandboxing)
-    SKIP_IMPURE_TESTS="CMakeFiles|fspp|cryfs-cli"
+    SKIP_IMPURE_TESTS="CMakeFiles|fspp|my-gtest-main"
 
-    for test in `ls -d test/*/ | egrep -v "$SKIP_IMPURE_TESTS"`; do
-      "./$test`basename $test`-test"
+    for t in $(ls -d test/*/ | egrep -v "$SKIP_IMPURE_TESTS"); do
+      "./$t$(basename $t)-test"
     done
   '';
 
-  installPhase = ''
-    # Building with BUILD_TESTING=ON is missing the install target
-    mkdir -p $out/bin
-    install -m 755 ./src/cryfs-cli/cryfs $out/bin/cryfs
-  '';
-
   meta = with stdenv.lib; {
     description = "Cryptographic filesystem for the cloud";
     homepage    = https://www.cryfs.org;
     license     = licenses.lgpl3;
-    maintainers = with maintainers; [ peterhoeg ];
+    maintainers = with maintainers; [ peterhoeg c0bw3b ];
     platforms   = with platforms; linux;
   };
 }
diff --git a/pkgs/tools/filesystems/cryfs/skip-failing-test-large-malloc.patch b/pkgs/tools/filesystems/cryfs/skip-failing-test-large-malloc.patch
deleted file mode 100644
index feb0ed9cfbb9..000000000000
--- a/pkgs/tools/filesystems/cryfs/skip-failing-test-large-malloc.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From ad3f7e9fa2dececfaab43963887a2f03de52d659 Mon Sep 17 00:00:00 2001
-From: adisbladis <adis@blad.is>
-Date: Thu, 12 Oct 2017 21:45:26 +0800
-Subject: [PATCH] Skip failing test: large malloc
-
----
- test/cpp-utils/data/DataTest.cpp | 11 -----------
- 1 file changed, 11 deletions(-)
-
-diff --git a/test/cpp-utils/data/DataTest.cpp b/test/cpp-utils/data/DataTest.cpp
-index 6f9df070..bd426e62 100644
---- a/test/cpp-utils/data/DataTest.cpp
-+++ b/test/cpp-utils/data/DataTest.cpp
-@@ -191,17 +191,6 @@ TEST_F(DataTest, Inequality_DifferentLastByte) {
-   EXPECT_TRUE(data1 != data2);
- }
- 
--#ifdef __x86_64__
--TEST_F(DataTest, LargesizeSize) {
--  //Needs 64bit for representation. This value isn't in the size param list, because the list is also used for read/write checks.
--  uint64_t size = 4.5L*1024*1024*1024;
--  Data data(size);
--  EXPECT_EQ(size, data.size());
--}
--#else
--#warning This is not a 64bit architecture. Large size data tests are disabled.
--#endif
--
- TEST_F(DataTest, LoadingNonexistingFile) {
-   TempFile file(false); // Pass false to constructor, so the tempfile is not created
-   EXPECT_FALSE(Data::LoadFromFile(file.path()));
--- 
-2.14.2
-
diff --git a/pkgs/tools/filesystems/cryfs/test-no-network.patch b/pkgs/tools/filesystems/cryfs/test-no-network.patch
deleted file mode 100644
index 3392d3f855ec..000000000000
--- a/pkgs/tools/filesystems/cryfs/test-no-network.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 8b1808e1278d2cb0dc56a4e98781eceeadfb9718 Mon Sep 17 00:00:00 2001
-From: adisbladis <adis@blad.is>
-Date: Thu, 12 Oct 2017 18:13:28 +0800
-Subject: [PATCH] Disable tests using external networking
-
----
- test/cpp-utils/CMakeLists.txt | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/test/cpp-utils/CMakeLists.txt b/test/cpp-utils/CMakeLists.txt
-index 5a2bc9f8..d838edba 100644
---- a/test/cpp-utils/CMakeLists.txt
-+++ b/test/cpp-utils/CMakeLists.txt
-@@ -20,7 +20,6 @@ set(SOURCES
-     tempfile/TempFileIncludeTest.cpp
-     tempfile/TempDirIncludeTest.cpp
-     tempfile/TempDirTest.cpp
--    network/CurlHttpClientTest.cpp
-     network/FakeHttpClientTest.cpp
-     io/ConsoleIncludeTest.cpp
-     io/ConsoleTest_AskYesNo.cpp
--- 
-2.14.2
-
diff --git a/pkgs/tools/filesystems/dislocker/default.nix b/pkgs/tools/filesystems/dislocker/default.nix
index 81faed5bfa8d..cf87f9ca98e0 100644
--- a/pkgs/tools/filesystems/dislocker/default.nix
+++ b/pkgs/tools/filesystems/dislocker/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchFromGitHub
+{ stdenv
+, fetchFromGitHub
 , cmake
-, polarssl , fuse
+, mbedtls
+, fuse
 }:
-with stdenv.lib;
-let
-  version = "0.7.1";
-in
-stdenv.mkDerivation {
+
+
+stdenv.mkDerivation rec {
   pname = "dislocker";
-  inherit version;
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "aorimn";
@@ -17,9 +17,10 @@ stdenv.mkDerivation {
     sha256 = "1crh2sg5x1kgqmdrl1nmrqwxjykxa4zwnbggcpdn97mj2gvdw7sb";
   };
 
-  buildInputs = [ cmake fuse polarssl ];
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ fuse mbedtls ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Read BitLocker encrypted partitions in Linux";
     homepage    = https://github.com/aorimn/dislocker;
     license     = licenses.gpl2;
diff --git a/pkgs/tools/filesystems/duff/default.nix b/pkgs/tools/filesystems/duff/default.nix
index 3981521097a9..d68ad10bd0dc 100644
--- a/pkgs/tools/filesystems/duff/default.nix
+++ b/pkgs/tools/filesystems/duff/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
       Duff is a Unix command-line utility for quickly finding duplicates in
       a given set of files.
     '';
-    homepage = http://duff.dreda.org/;
+    homepage = https://duff.dreda.org/;
     license = licenses.zlib;
     platforms = platforms.all;
   };
diff --git a/pkgs/tools/filesystems/fuse-overlayfs/default.nix b/pkgs/tools/filesystems/fuse-overlayfs/default.nix
index 2c9336802ea2..c65b2a63f2db 100644
--- a/pkgs/tools/filesystems/fuse-overlayfs/default.nix
+++ b/pkgs/tools/filesystems/fuse-overlayfs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fuse-overlayfs";
-  version = "0.6.2";
+  version = "0.7";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "03gad89jg0dif5wqdl1kh0rpmfc80pnkx8hk0v4hrlirr130dgl2";
+    sha256 = "1nhqy1fdzhkjhqs54nq66zj5bf85n3gr4k6zl0hswdvhg6flkg75";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/filesystems/fusesmb/default.nix b/pkgs/tools/filesystems/fusesmb/default.nix
deleted file mode 100644
index ada9445218b9..000000000000
--- a/pkgs/tools/filesystems/fusesmb/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchurl, samba, fuse }:
-
-stdenv.mkDerivation rec {
-  name = "fusesmb-0.8.7";
-
-  src = fetchurl {
-    url = "http://www.ricardis.tudelft.nl/~vincent/fusesmb/download/${name}.tar.gz";
-    sha256 = "12gz2gn9iqjg27a233dn2wij7snm7q56h97k6gks0yijf6xcnpz1";
-  };
-
-  buildInputs = [ samba fuse ];
-
-  postInstall =
-    ''
-      mkdir -p $out/lib
-      ln -fs ${samba}/lib/libsmbclient.so $out/lib/libsmbclient.so.0
-    '';
-
-  hardeningDisable = [ "format" ];
-
-  meta = with stdenv.lib; {
-    description = "Samba mounted via FUSE";
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    broken = true; # Needs vulnerable Samba, missing source link
-                   # 2018-08-21
-  };
-}
diff --git a/pkgs/tools/filesystems/gitfs/default.nix b/pkgs/tools/filesystems/gitfs/default.nix
index cd1e3110a13d..5b3794146665 100644
--- a/pkgs/tools/filesystems/gitfs/default.nix
+++ b/pkgs/tools/filesystems/gitfs/default.nix
@@ -2,13 +2,13 @@
 
 python2Packages.buildPythonApplication rec {
   pname = "gitfs";
-  version = "0.5.1";
+  version = "0.5.2";
 
   src = fetchFromGitHub {
     owner = "PressLabs";
     repo = "gitfs";
     rev = version;
-    sha256 = "04plfdaai7bvnz39lw0yyda6ahbwx0wkws9fjnxxx43dzm3sjl98";
+    sha256 = "1jzwdwan8ndvp2lw6j7zbvg5k9rgf2d8dcxjrwc6bwyk59xdxn4p";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/filesystems/grive2/default.nix b/pkgs/tools/filesystems/grive2/default.nix
index 59ee358e028a..f325fc97e32c 100644
--- a/pkgs/tools/filesystems/grive2/default.nix
+++ b/pkgs/tools/filesystems/grive2/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, pkgconfig, yajl, cmake, libgcrypt, curl, expat, boost, libiberty }:
 
 stdenv.mkDerivation rec {
-  version = "0.5.0";
+  version = "0.5.1";
   pname = "grive2";
 
   src = fetchFromGitHub {
     owner = "vitalif";
     repo = "grive2";
     rev =  "v${version}";
-    sha256 = "0gyic9228j25l5x8qj9xxxp2cgbw6y4skxqx0xrq6qilhv4lj23c";
+    sha256 = "1kv34ys8qarjsxpb1kd8dp7b3b4ycyiwjzd6mg97d3jk7405g6nm";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/tools/filesystems/moosefs/default.nix b/pkgs/tools/filesystems/moosefs/default.nix
index 1e89b5729c70..e9dc2c1f37cd 100644
--- a/pkgs/tools/filesystems/moosefs/default.nix
+++ b/pkgs/tools/filesystems/moosefs/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "moosefs";
-  version = "3.0.105";
+  version = "3.0.107";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0wphpdll0j4i6d4yxykaz2bamv83y0sj7j3cfv4br1zamdyprfwx";
+    sha256 = "18mw7a1by8l09fb2pan6zak29bcrgbf5zgfzrlw3c203yawqbx3k";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
diff --git a/pkgs/tools/filesystems/nixpart/0.4/default.nix b/pkgs/tools/filesystems/nixpart/0.4/default.nix
index b293b6d8146d..129283e83ebe 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/default.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/default.nix
@@ -73,6 +73,5 @@ in buildPythonApplication rec {
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.aszlig ];
     platforms = platforms.linux;
-    broken = true;
   };
 }
diff --git a/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix b/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix
index 8a1fce780378..9d067359c44a 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/pykickstart.nix
@@ -19,7 +19,6 @@ buildPythonApplication rec {
   propagatedBuildInputs = [ urlgrabber ];
 
   checkPhase = ''
-    export PYTHONPATH="$PYTHONPATH:."
     ${python}/bin/${python.executable} tests/baseclass.py -vv
   '';
 
diff --git a/pkgs/tools/filesystems/nixpart/default.nix b/pkgs/tools/filesystems/nixpart/default.nix
index 8f59ff809a83..809c5256873e 100644
--- a/pkgs/tools/filesystems/nixpart/default.nix
+++ b/pkgs/tools/filesystems/nixpart/default.nix
@@ -16,6 +16,5 @@ buildPythonApplication rec {
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.aszlig ];
     platforms = stdenv.lib.platforms.linux;
-    broken = true;
   };
 }
diff --git a/pkgs/tools/filesystems/squashfs-tools-ng/0001-Fix-build-on-BSD-systems.patch b/pkgs/tools/filesystems/squashfs-tools-ng/0001-Fix-build-on-BSD-systems.patch
new file mode 100644
index 000000000000..2834b046cef2
--- /dev/null
+++ b/pkgs/tools/filesystems/squashfs-tools-ng/0001-Fix-build-on-BSD-systems.patch
@@ -0,0 +1,103 @@
+From ea1bc0fcfd33191002c5d1f7072c1c02bb7ec4af Mon Sep 17 00:00:00 2001
+From: Alyssa Ross <hi@alyssa.is>
+Date: Thu, 14 Nov 2019 15:45:46 +0000
+Subject: [PATCH] Fix build on BSD systems
+
+I tested FreeBSD, DragonflyBSD, NetBSD and OpenBSD and the endian
+macros weren't necessary (and in fact caused errors) on all of them.
+
+Because OpenBSD ships with an ancient GCC that doesn't support the
+checked addition/multiplication builtins, the build there would fail
+unless built with CC=cc or CC=clang.  I changed configure.ac to prefer
+cc over gcc, so that the distribution's compiler preference is
+respected.  (The default is [gcc cc]).  I had to move AC_PROG_CC above
+LT_INIT because otherwise LT_INIT would run AC_PROG_CC first, and we
+wouldn't have a chance to use non-default parameters.
+---
+ configure.ac          |  2 +-
+ include/util/compat.h | 13 +++++--------
+ lib/common/dirstack.c |  1 +
+ lib/common/mkdir_p.c  |  2 +-
+ 4 files changed, 8 insertions(+), 10 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 018b3f6..19ea0ed 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -3,8 +3,8 @@ AC_INIT([squashfs-tools-ng], [0.7], [goliath@infraroot.at], squashfs-tools-ng)
+ AC_CONFIG_MACRO_DIR([m4])
+ AM_INIT_AUTOMAKE([foreign dist-xz subdir-objects])
+ AM_SILENT_RULES([yes])
++AC_PROG_CC([cc gcc clang])
+ LT_INIT
+-AC_PROG_CC
+ AC_PROG_CC_C99
+ AC_PROG_INSTALL
+ AC_SYS_LARGEFILE
+diff --git a/include/util/compat.h b/include/util/compat.h
+index 74d0b6f..f53fd0e 100644
+--- a/include/util/compat.h
++++ b/include/util/compat.h
+@@ -7,6 +7,10 @@
+ #ifndef COMPAT_H
+ #define COMPAT_H
+ 
++#ifndef __linux__
++#define O_PATH 0
++#endif
++
+ #if defined(__APPLE__)
+ #include <libkern/OSByteOrder.h>
+ 
+@@ -17,14 +21,8 @@
+ #define le32toh(x) OSSwapLittleToHostInt32(x)
+ #define le16toh(x) OSSwapLittleToHostInt16(x)
+ #define le64toh(x) OSSwapLittleToHostInt64(x)
+-#elif defined(__OpenBSD__)
++#elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)
+ #include <sys/endian.h>
+-#elif defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
+-#include <sys/endian.h>
+-
+-#define le16toh(x) letoh16(x)
+-#define le32toh(x) letoh32(x)
+-#define le64toh(x) letoh64(x)
+ #elif defined(_WIN32) || defined(__WINDOWS__)
+ #define htole16(x) (x)
+ #define htole32(x) (x)
+@@ -89,7 +87,6 @@
+ #else
+ #include <sys/types.h>
+ #include <sys/stat.h>
+-#include <sys/sysmacros.h>
+ #endif
+ 
+ #endif /* COMPAT_H */
+diff --git a/lib/common/dirstack.c b/lib/common/dirstack.c
+index 8f73898..f8d1278 100644
+--- a/lib/common/dirstack.c
++++ b/lib/common/dirstack.c
+@@ -5,6 +5,7 @@
+  * Copyright (C) 2019 David Oberhollenzer <goliath@infraroot.at>
+  */
+ #include "common.h"
++#include "util/compat.h"
+ 
+ #include <string.h>
+ #include <stdlib.h>
+diff --git a/lib/common/mkdir_p.c b/lib/common/mkdir_p.c
+index cb433b3..95187ba 100644
+--- a/lib/common/mkdir_p.c
++++ b/lib/common/mkdir_p.c
+@@ -7,7 +7,7 @@
+ #include "common.h"
+ 
+ #include <string.h>
+-#include <alloca.h>
++#include <stdlib.h>
+ #include <stdio.h>
+ #include <errno.h>
+ 
+-- 
+2.23.0
+
diff --git a/pkgs/tools/filesystems/squashfs-tools-ng/default.nix b/pkgs/tools/filesystems/squashfs-tools-ng/default.nix
new file mode 100644
index 000000000000..727e257a4861
--- /dev/null
+++ b/pkgs/tools/filesystems/squashfs-tools-ng/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, lib, fetchurl, fetchpatch, autoreconfHook, doxygen, graphviz, perl
+, pkgconfig, lz4, xz, zlib, zstd
+}:
+
+stdenv.mkDerivation rec {
+  pname = "squashfs-tools-ng";
+  version = "0.7";
+
+  src = fetchurl {
+    url = "https://infraroot.at/pub/squashfs/squashfs-tools-ng-${version}.tar.xz";
+    sha256 = "01yn621dnsfhrah3qj1xh6ynag7r3nvihc510sa5frapkyg9nw8n";
+  };
+
+  patches = lib.optional (!stdenv.isLinux) ./0001-Fix-build-on-BSD-systems.patch;
+
+  nativeBuildInputs = [ doxygen graphviz pkgconfig perl ]
+                      ++ lib.optional (!stdenv.isLinux) autoreconfHook;
+  buildInputs = [ zlib xz lz4 zstd ];
+
+  meta = with lib; {
+    homepage = https://github.com/AgentD/squashfs-tools-ng;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ qyliss ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/graphics/asymptote/default.nix b/pkgs/tools/graphics/asymptote/default.nix
index 1d77bfe42500..9b7c40107911 100644
--- a/pkgs/tools/graphics/asymptote/default.nix
+++ b/pkgs/tools/graphics/asymptote/default.nix
@@ -1,74 +1,74 @@
-{stdenv, fetchurl, fetchpatch
-  , freeglut, ghostscriptX, imagemagick, fftw
-  , boehmgc, libGLU, libGL, mesa, ncurses, readline, gsl, libsigsegv
-  , python, zlib, perl, texLive, texinfo, xz
+{ stdenv, fetchFromGitHub, fetchurl
+, autoreconfHook, bison, glm, yacc, flex
+, freeglut, ghostscriptX, imagemagick, fftw
+, boehmgc, libGLU, libGL, mesa, ncurses, readline, gsl, libsigsegv
+, python3Packages
+, zlib, perl
+, texLive, texinfo
 , darwin
 }:
 
-let
-  s = # Generated upstream information
-  rec {
-    baseName="asymptote";
-    version="2.47";
-    name="${baseName}-${version}";
-    hash="0zc24n2vwzxdfmcppqfk3fkqlb4jmvswzi3bz232kxl7dyiyb971";
-    url="https://freefr.dl.sourceforge.net/project/asymptote/2.47/asymptote-2.47.src.tgz";
-    sha256="0zc24n2vwzxdfmcppqfk3fkqlb4jmvswzi3bz232kxl7dyiyb971";
-  };
-  buildInputs = [
-   ghostscriptX imagemagick fftw
-   boehmgc ncurses readline gsl libsigsegv
-   python zlib perl texLive texinfo xz ]
-   ++ stdenv.lib.optionals stdenv.isLinux
-     [ freeglut libGLU libGL mesa.osmesa ]
-   ++ stdenv.lib.optionals stdenv.isDarwin
-     (with darwin.apple_sdk.frameworks; [ OpenGL GLUT Cocoa ])
-   ;
-in
-stdenv.mkDerivation {
-  inherit (s) name version;
-  inherit buildInputs;
+stdenv.mkDerivation rec {
+  version = "2.60";
+  pname = "asymptote";
 
-  src = fetchurl {
-    inherit (s) url sha256;
+  src = fetchFromGitHub {
+    owner = "vectorgraphics";
+    repo = pname;
+    rev = version;
+    sha256 = "1sr31r80jfswlx9a0p5bn85p6h7mq28fw8ihhnlbhphii6w8z2j9";
   };
 
-  patches = [
-    # Remove when updating from 2.47 to 2.48
-    # Compatibility with BoehmGC 7.6.8
-    (fetchpatch {
-      url = "https://github.com/vectorgraphics/asymptote/commit/38a59370dc5ac720c29e1424614a10f7384b943f.patch";
-      sha256 = "0c3d11hzxxaqh24kfw9y8zvlid54kk40rx2zajx7jwl12gga05s1";
-    })
+  nativeBuildInputs = [
+    autoreconfHook
+    bison
+    flex
+    yacc
+    texinfo
   ];
 
+  buildInputs = [
+    ghostscriptX imagemagick fftw
+    boehmgc ncurses readline gsl libsigsegv
+    zlib perl
+    texLive
+  ] ++ (with python3Packages; [
+    python
+    pyqt5
+  ]);
+
+  propagatedBuildInputs = [
+    glm
+  ] ++ stdenv.lib.optionals stdenv.isLinux [
+    freeglut libGLU libGL mesa.osmesa
+  ] ++ stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    OpenGL GLUT Cocoa
+  ]);
+
   preConfigure = ''
-    export HOME="$PWD"
-    patchShebangs .
-    sed -e 's@epswrite@eps2write@g' -i runlabel.in
-    xz -d < ${texinfo.src} | tar --wildcards -x texinfo-'*'/doc/texinfo.tex
-    cp texinfo-*/doc/texinfo.tex doc/
-    rm *.tar.gz
-    configureFlags="$configureFlags --with-latex=$out/share/texmf/tex/latex --with-context=$out/share/texmf/tex/context/third"
+    HOME=$TMP
   '';
 
+  configureFlags = [
+    "--with-latex=$out/share/texmf/tex/latex"
+    "--with-context=$out/share/texmf/tex/context/third"
+  ];
+
   NIX_CFLAGS_COMPILE = [ "-I${boehmgc.dev}/include/gc" ];
 
   postInstall = ''
-    mv -v "$out/share/info/asymptote/"*.info $out/share/info/
+    mv $out/share/info/asymptote/*.info $out/share/info/
     sed -i -e 's|(asymptote/asymptote)|(asymptote)|' $out/share/info/asymptote.info
     rmdir $out/share/info/asymptote
-    rm $out/share/info/dir
+    rm -f $out/share/info/dir
 
-    rm -rfv "$out"/share/texmf
-    mkdir -pv "$out"/share/emacs/site-lisp/${s.name}
-    mv -v "$out"/share/asymptote/*.el "$out"/share/emacs/site-lisp/${s.name}
+    rm -rf $out/share/texmf
+    install -Dt $out/share/emacs/site-lisp/${pname} $out/share/asymptote/*.el
   '';
 
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    inherit (s) version;
     description =  "A tool for programming graphics intended to replace Metapost";
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.raskin maintainers.peti ];
diff --git a/pkgs/tools/graphics/dcraw/default.nix b/pkgs/tools/graphics/dcraw/default.nix
index e4ceff36f92a..11ff4b743ddd 100644
--- a/pkgs/tools/graphics/dcraw/default.nix
+++ b/pkgs/tools/graphics/dcraw/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "dcraw-9.28.0";
 
   src = fetchurl {
-    url = "https://www.cybercom.net/~dcoffin/dcraw/archive/${name}.tar.gz";
+    url = "https://www.dechifro.org/dcraw/archive/${name}.tar.gz";
     sha256 = "1fdl3xa1fbm71xzc3760rsjkvf0x5jdjrvdzyg2l9ka24vdc7418";
   };
 
@@ -23,10 +23,17 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://www.cybercom.net/~dcoffin/dcraw/;
+    homepage = https://www.dechifro.org/dcraw/;
     description = "Decoder for many camera raw picture formats";
     license = stdenv.lib.licenses.free;
     platforms = stdenv.lib.platforms.unix; # Once had cygwin problems
     maintainers = [ ];
+    knownVulnerabilities = [
+      "CVE-2018-19655"
+      "CVE-2018-19565"
+      "CVE-2018-19566"
+      "CVE-2018-19567"
+      "CVE-2018-19568"
+    ];
   };
 }
diff --git a/pkgs/tools/graphics/enblend-enfuse/default.nix b/pkgs/tools/graphics/enblend-enfuse/default.nix
index 79c905756537..8c46e8154c10 100644
--- a/pkgs/tools/graphics/enblend-enfuse/default.nix
+++ b/pkgs/tools/graphics/enblend-enfuse/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl
-, boost, freeglut, glew, gsl, lcms2, libpng, libtiff, libGLU_combined, vigra
+, boost, freeglut, glew, gsl, lcms2, libpng, libtiff, libGLU, libGL, vigra
 , help2man, pkgconfig, perl, texlive }:
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0j5x011ilalb47ssah50ag0a4phgh1b0wdgxdbbp1gcyjcjf60w7";
   };
 
-  buildInputs = [ boost freeglut glew gsl lcms2 libpng libtiff libGLU_combined vigra ];
+  buildInputs = [ boost freeglut glew gsl lcms2 libpng libtiff libGLU libGL vigra ];
 
   nativeBuildInputs = [ help2man perl pkgconfig texlive.combined.scheme-small ];
 
diff --git a/pkgs/tools/graphics/facedetect/default.nix b/pkgs/tools/graphics/facedetect/default.nix
index aab2e111e85f..cb697148d045 100644
--- a/pkgs/tools/graphics/facedetect/default.nix
+++ b/pkgs/tools/graphics/facedetect/default.nix
@@ -12,13 +12,13 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ python2Packages.python python2Packages.wrapPython ];
-  pythonPath = [ python2Packages.numpy python2Packages.opencv ];
+  pythonPath = [ python2Packages.numpy python2Packages.opencv4 ];
 
   phases = [ "unpackPhase" "patchPhase" "installPhase" ];
 
   patchPhase = ''
     substituteInPlace facedetect \
-      --replace /usr/share/opencv "${python2Packages.opencv}/share/OpenCV"
+      --replace /usr/share/opencv "${python2Packages.opencv4}/share/opencv4"
   '';
 
   installPhase = ''
diff --git a/pkgs/tools/graphics/glee/default.nix b/pkgs/tools/graphics/glee/default.nix
index ae6291811a4a..a68e64c0894c 100644
--- a/pkgs/tools/graphics/glee/default.nix
+++ b/pkgs/tools/graphics/glee/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchgit, cmake, libGLU_combined, xorg }:
+{stdenv, fetchgit, cmake, libGLU, libGL, xorg }:
 
 stdenv.mkDerivation rec {
   pname = "glee";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = [ libGLU_combined xorg.libX11 ];
+  buildInputs = [ libGLU libGL xorg.libX11 ];
 
   configureScript = ''
     cmake
diff --git a/pkgs/tools/graphics/logstalgia/default.nix b/pkgs/tools/graphics/logstalgia/default.nix
index 1f1da8df3f2b..aed8b0573bae 100644
--- a/pkgs/tools/graphics/logstalgia/default.nix
+++ b/pkgs/tools/graphics/logstalgia/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, SDL2, ftgl, pkgconfig, libpng, libjpeg, pcre, SDL2_image, glew
-, libGLU_combined, boost, glm, freetype }:
+, libGLU, libGL, boost, glm, freetype }:
 
 stdenv.mkDerivation rec {
   pname = "logstalgia";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glew SDL2 ftgl libpng libjpeg pcre SDL2_image libGLU_combined boost
+  buildInputs = [ glew SDL2 ftgl libpng libjpeg pcre SDL2_image libGLU libGL boost
                   glm freetype ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/graphics/luxcorerender/default.nix b/pkgs/tools/graphics/luxcorerender/default.nix
index 4826bd64984b..6a0db954da64 100644
--- a/pkgs/tools/graphics/luxcorerender/default.nix
+++ b/pkgs/tools/graphics/luxcorerender/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, cmake, boost165, pkgconfig, python35
 , tbb, openimageio, libjpeg, libpng, zlib, libtiff, ilmbase
 , freetype, openexr, libXdmcp, libxkbcommon, epoxy, at-spi2-core
-, dbus, doxygen, qt5, c-blosc, libGLU, gnome3, gtk3, pcre
+, dbus, doxygen, qt5, c-blosc, libGLU, gnome3, dconf, gtk3, pcre
 , bison, flex, libpthreadstubs, libX11
 , embree2, makeWrapper, gsettings-desktop-schemas, glib
 , withOpenCL ? true , opencl-headers, ocl-icd, opencl-clhpp
@@ -35,7 +35,7 @@ in stdenv.mkDerivation {
      # needed for XDG_ICON_DIRS
      gnome3.adwaita-icon-theme
      makeWrapper
-     (stdenv.lib.getLib gnome3.dconf)
+     (stdenv.lib.getLib dconf)
    ] ++ stdenv.lib.optionals withOpenCL [opencl-headers ocl-icd opencl-clhpp];
 
   cmakeFlags = [
@@ -66,7 +66,7 @@ in stdenv.mkDerivation {
     wrapProgram "$out/bin/luxcoreui" \
       --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
       --suffix XDG_DATA_DIRS : '${gnome3.adwaita-icon-theme}/share' \
-      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib gnome3.dconf}/lib/gio/modules"
+      --prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/graphics/nifskope/default.nix b/pkgs/tools/graphics/nifskope/default.nix
index 0e545fbfab9f..90716d04a75a 100644
--- a/pkgs/tools/graphics/nifskope/default.nix
+++ b/pkgs/tools/graphics/nifskope/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, qmake, qtbase, qttools, substituteAll, libGLU, wrapQtAppsHook }:
+{ stdenv, fetchFromGitHub, qmake, qtbase, qttools, substituteAll, libGLU, wrapQtAppsHook, fetchpatch }:
 
 stdenv.mkDerivation {
   pname = "nifskope";
@@ -18,6 +18,11 @@ stdenv.mkDerivation {
       src = ./qttools-bins.patch;
       qttools = "${qttools.dev}/bin";
     })
+    (fetchpatch {
+      name = "qt512-build-fix.patch";
+      url = "https://github.com/niftools/nifskope/commit/30954e7f01f3d779a2a1fd37d363e8a6ad560bd3.patch";
+      sha256 = "0d6xjj2mjjhdd7w1aig5f75jksjni16jyj0lxsz51pys6xqb6fpj";
+    })
   ];
 
   buildInputs = [ qtbase qttools libGLU.dev ];
diff --git a/pkgs/tools/graphics/pfstools/default.nix b/pkgs/tools/graphics/pfstools/default.nix
index 068aea545950..6dafbfe2f9fe 100644
--- a/pkgs/tools/graphics/pfstools/default.nix
+++ b/pkgs/tools/graphics/pfstools/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, pkgconfig, darwin
-, openexr, zlib, imagemagick, libGLU_combined, freeglut, fftwFloat
+, openexr, zlib, imagemagick, libGLU, libGL, freeglut, fftwFloat
 , fftw, gsl, libexif, perl, opencv, qt5, netpbm
 }:
 
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   ] ++ (if stdenv.isDarwin then (with darwin.apple_sdk.frameworks; [
     OpenGL GLUT
   ]) else [
-    libGLU_combined freeglut
+    libGLU libGL freeglut
   ]);
 
   patches = [ ./threads.patch ./pfstools.patch ./pfsalign.patch ];
diff --git a/pkgs/tools/graphics/wallutils/default.nix b/pkgs/tools/graphics/wallutils/default.nix
index 80b90e8e6b21..263425aef1dd 100644
--- a/pkgs/tools/graphics/wallutils/default.nix
+++ b/pkgs/tools/graphics/wallutils/default.nix
@@ -4,13 +4,13 @@
 
 buildGoPackage rec {
   pname = "wallutils";
-  version = "5.8.2";
+  version = "5.8.3";
 
   src = fetchFromGitHub {
     owner = "xyproto";
     repo = "wallutils";
     rev = version;
-    sha256 = "1ghvcxsy5prj8l38r4lg39imsqbwmvn1zmiv7004j6skmgpaaawh";
+    sha256 = "1cc0bb6bdh3pm9mf6rcgk9myr62xhqc6l84xgw44lhm6hkkp16gb";
   };
 
   goPackagePath = "github.com/xyproto/wallutils";
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
index 00aeed6363e3..77c55b35c96b 100644
--- a/pkgs/tools/graphics/wallutils/lscollection-Add-NixOS-paths-to-DefaultWallpaperDirectories.patch
+++ b/pkgs/tools/graphics/wallutils/lscollection-Add-NixOS-paths-to-DefaultWallpaperDirectories.patch
@@ -1,25 +1,26 @@
-From 9d064428cec970ced9be6753d6250b20a45a9fe2 Mon Sep 17 00:00:00 2001
+From 2643b06889605e6096174fb48dcb64a49b252217 Mon Sep 17 00:00:00 2001
 From: Michael Weiss <dev.primeos@gmail.com>
-Date: Fri, 19 Apr 2019 11:56:50 +0200
+Date: Sun, 17 Nov 2019 20:30:08 +0100
 Subject: [PATCH] lscollection: Add NixOS paths to DefaultWallpaperDirectories
 
 ---
- collections.go | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ collections.go | 3 +++
+ 1 file changed, 3 insertions(+)
 
 diff --git a/collections.go b/collections.go
-index ef74ea6..9f9a608 100644
+index be04d41..cc79c56 100644
 --- a/collections.go
 +++ b/collections.go
-@@ -21,7 +21,7 @@ const (
- )
+@@ -22,6 +22,9 @@ 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 {
+ // DefaultWallpaperDirectories lists the default locations to look for wallpapers
+ var 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",
 -- 
-2.19.2
+2.23.0
 
diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix
index 4c0a7f0b4109..230b2926561b 100644
--- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix
+++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-cloudpinyin/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "fcitx-cloudpinyin";
-  version = "0.3.6";
+  version = "0.3.7";
 
   src = fetchurl {
     url = "http://download.fcitx-im.org/fcitx-cloudpinyin/${pname}-${version}.tar.xz";
-    sha256 = "1f3ryx817bxb8g942l50ng4xg0gp50rb7pv2p6zf98r2z804dcvf";
+    sha256 = "0ai347wv3qdjzcbh0j9hdjpzwvh2kk57324xbxq37nzagrdgg5x0";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/inputmethods/ibus/wrapper.nix b/pkgs/tools/inputmethods/ibus/wrapper.nix
index 3196c5b4e8ac..1b14629d2830 100644
--- a/pkgs/tools/inputmethods/ibus/wrapper.nix
+++ b/pkgs/tools/inputmethods/ibus/wrapper.nix
@@ -3,7 +3,7 @@
 }:
 
 let
-  name = "ibus-with-plugins-" + (builtins.parseDrvName ibus.name).version;
+  name = "ibus-with-plugins-" + stdenv.lib.getVersion ibus;
   env = {
     buildInputs = [ ibus ] ++ plugins;
     nativeBuildInputs = [ lndir makeWrapper ];
diff --git a/pkgs/tools/inputmethods/touchegg/default.nix b/pkgs/tools/inputmethods/touchegg/default.nix
index ff14a13da04f..c915e8128913 100644
--- a/pkgs/tools/inputmethods/touchegg/default.nix
+++ b/pkgs/tools/inputmethods/touchegg/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, xorg, xorgserver, qt4, libGLU_combined, geis, qmake4Hook }:
+{ stdenv, fetchurl, xorg, xorgserver, qt4, libGLU, libGL, geis, qmake4Hook }:
 
 stdenv.mkDerivation rec {
   pname = "touchegg";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "95734815c7219d9a71282f3144b3526f2542b4fa270a8e69d644722d024b4038";
   };
 
-  buildInputs = [ xorgserver libGLU_combined xorg.libX11 xorg.libXtst xorg.libXext qt4 geis ];
+  buildInputs = [ xorgserver libGLU libGL xorg.libX11 xorg.libXtst xorg.libXext qt4 geis ];
 
   nativeBuildInputs = [ qmake4Hook ];
 
diff --git a/pkgs/tools/misc/bandwidth/default.nix b/pkgs/tools/misc/bandwidth/default.nix
index 3b5e72c89f7f..b4cbc747b1dc 100644
--- a/pkgs/tools/misc/bandwidth/default.nix
+++ b/pkgs/tools/misc/bandwidth/default.nix
@@ -11,11 +11,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "bandwidth";
-  version = "1.5.1";
+  version = "1.9.3";
 
   src = fetchurl {
     url = "https://zsmith.co/archives/${pname}-${version}.tar.gz";
-    sha256 = "1v9k1a2ilkbhc3viyacgq88c9if60kwsd1fy6rn84317qap4i7ib";
+    sha256 = "0zpv2qgkbak0llw47qcakhyh2z3zv4d69kasldmpdlpqryd9za84";
   };
 
   buildInputs = [ nasm ];
diff --git a/pkgs/tools/misc/bdf2psf/default.nix b/pkgs/tools/misc/bdf2psf/default.nix
index 6309587fd52f..defdd9494e51 100644
--- a/pkgs/tools/misc/bdf2psf/default.nix
+++ b/pkgs/tools/misc/bdf2psf/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bdf2psf";
-  version = "1.193";
+  version = "1.194";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/c/console-setup/bdf2psf_${version}_all.deb";
-    sha256 = "1mykng02fyxshm02kywrk16f27b1jhgn9zcaxcvxd255sn58w68k";
+    sha256 = "10c0rbhqscizfa063m6mms31i0knh25bxr35s008b6mp5pxr33mc";
   };
 
   buildInputs = [ dpkg ];
diff --git a/pkgs/tools/misc/bibutils/default.nix b/pkgs/tools/misc/bibutils/default.nix
index d84c6ebaabc6..d099a8aba9b0 100644
--- a/pkgs/tools/misc/bibutils/default.nix
+++ b/pkgs/tools/misc/bibutils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bibutils";
-  version = "6.7";
+  version = "6.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/bibutils/bibutils_${version}_src.tgz";
-    sha256 = "072cmhv692nk1lfcwmaqid5gpg8q4jc4vai5ss8lj72zms32p882";
+    sha256 = "1n28fjrl7zxjxvcqzmrc9xj8ly6nkxviimxbzamj8dslnkzpzqw1";
   };
 
   configureFlags = [ "--dynamic" "--install-dir" "$(out)/bin" "--install-lib" "$(out)/lib" ];
diff --git a/pkgs/tools/misc/broot/default.nix b/pkgs/tools/misc/broot/default.nix
index 93084640e763..63d5ff69e790 100644
--- a/pkgs/tools/misc/broot/default.nix
+++ b/pkgs/tools/misc/broot/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "broot";
-  version = "0.9.4";
+  version = "0.10.2";
 
   src = fetchFromGitHub {
     owner = "Canop";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1im04vlhmjdwzp19pizk4bmzvybgjg40ig833qx5lbisfs74xyxw";
+    sha256 = "1wisqb4cqdgsnjvmpgxbzs9zcw6npqw1kqxxs8mn33sxlikhbf2l";
   };
 
-  cargoSha256 = "0675995zh9nn690kdha3zfsa157173rxwcqz0kasbl9byjczi6sm";
+  cargoSha256 = "09gnyj97akychin1axp9kcww3c04xx7x1qnplhs2yxfki62r4y2b";
 
   meta = with stdenv.lib; {
     description = "An interactive tree view, a fuzzy search, a balanced BFS descent and customizable commands";
diff --git a/pkgs/tools/misc/calamares/default.nix b/pkgs/tools/misc/calamares/default.nix
index 4adadbf47071..1fd76eb4db64 100644
--- a/pkgs/tools/misc/calamares/default.nix
+++ b/pkgs/tools/misc/calamares/default.nix
@@ -6,12 +6,12 @@
 
 mkDerivation rec {
   pname = "calamares";
-  version = "3.2.15";
+  version = "3.2.16";
 
   # release including submodule
   src = fetchurl {
     url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "0m2z34vgcqaf1yfa2919v3mz9b0q43mihz6di5kg62h6swaaanxd";
+    sha256 = "0ygmw03n8knczq9a9whslxcpmgyz0ksqwl0k8f7hyf96b9n8inc2";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix
index 1e15d9f0fe08..29d3e40eee47 100644
--- a/pkgs/tools/misc/diffoscope/default.nix
+++ b/pkgs/tools/misc/diffoscope/default.nix
@@ -9,11 +9,11 @@
 # Note: when upgrading this package, please run the list-missing-tools.sh script as described below!
 python3Packages.buildPythonApplication rec {
   pname = "diffoscope";
-  version = "129";
+  version = "131";
 
   src = fetchurl {
     url    = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
-    sha256 = "11llxk3nwz38ildypvi3djip650a3pd7m3c74mpgvi8v00rs1ca9";
+    sha256 = "1lqzm523pzxqj6xfm00z61d263w714d90sn6rfyh2npb8q95gfdn";
   };
 
   patches = [
diff --git a/pkgs/tools/misc/geekbench/default.nix b/pkgs/tools/misc/geekbench/default.nix
index 567a4eaf230d..32fe5cc5868a 100644
--- a/pkgs/tools/misc/geekbench/default.nix
+++ b/pkgs/tools/misc/geekbench/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "geekbench";
-  version = "5.0.3";
+  version = "5.0.4";
 
   src = fetchurl {
     url = "https://cdn.geekbench.com/Geekbench-${version}-Linux.tar.gz";
-    sha256 = "0bdkq36b8rr8xzbhjhxia7ss24bm5i4gz4g63dxckis5qi0pfsii";
+    sha256 = "04d7ixfmzj22w9svjdj0kxsp7ycnzdzx9kd2z1vswnyybdkgyjy7";
   };
 
   dontConfigure = true;
diff --git a/pkgs/tools/misc/html-proofer/Gemfile.lock b/pkgs/tools/misc/html-proofer/Gemfile.lock
index 08689ae8dcf7..ac229cf4657b 100644
--- a/pkgs/tools/misc/html-proofer/Gemfile.lock
+++ b/pkgs/tools/misc/html-proofer/Gemfile.lock
@@ -5,8 +5,8 @@ GEM
       public_suffix (>= 2.0.2, < 5.0)
     ethon (0.12.0)
       ffi (>= 1.3.0)
-    ffi (1.11.1)
-    html-proofer (3.13.0)
+    ffi (1.11.2)
+    html-proofer (3.14.1)
       addressable (~> 2.3)
       mercenary (~> 0.3)
       nokogiri (~> 1.10)
@@ -16,9 +16,9 @@ GEM
       yell (~> 2.0)
     mercenary (0.3.6)
     mini_portile2 (2.4.0)
-    nokogiri (1.10.4)
+    nokogiri (1.10.5)
       mini_portile2 (~> 2.4.0)
-    parallel (1.17.0)
+    parallel (1.19.0)
     public_suffix (4.0.1)
     rainbow (3.0.0)
     typhoeus (1.3.1)
@@ -32,4 +32,4 @@ DEPENDENCIES
   html-proofer
 
 BUNDLED WITH
-   1.17.2
+   1.17.3
diff --git a/pkgs/tools/misc/html-proofer/gemset.nix b/pkgs/tools/misc/html-proofer/gemset.nix
index 2d915a48dd93..8cf066c6c686 100644
--- a/pkgs/tools/misc/html-proofer/gemset.nix
+++ b/pkgs/tools/misc/html-proofer/gemset.nix
@@ -26,10 +26,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06mvxpjply8qh4j3fj9wh08kdzwkbnvsiysh0vrhlk5cwxzjmblh";
+      sha256 = "0cbads5da12lb3j0mg2hjrd57s5qkkairxh2y6r9bqyblb5b8xbw";
       type = "gem";
     };
-    version = "1.11.1";
+    version = "1.11.2";
   };
   html-proofer = {
     dependencies = ["addressable" "mercenary" "nokogiri" "parallel" "rainbow" "typhoeus" "yell"];
@@ -37,10 +37,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1a620704y2h4g9ffpl6461ssdx87bn6hjd0y1m370r2p2xddkb9f";
+      sha256 = "16i803vhrygcbln077czhv9ngipljsawr338lbvd0zr2473r8qja";
       type = "gem";
     };
-    version = "3.13.0";
+    version = "3.14.1";
   };
   mercenary = {
     groups = ["default"];
@@ -68,20 +68,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nmdrqqz1gs0fwkgzxjl4wr554gr8dc1fkrqjc2jpsvwgm41rygv";
+      sha256 = "185g3dwba73jqxjr94bd2zk6fil6n9hmcfnfyzh3p1w47vm296r7";
       type = "gem";
     };
-    version = "1.10.4";
+    version = "1.10.5";
   };
   parallel = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1x1gzgjrdlkm1aw0hfpyphsxcx90qgs3y4gmp9km3dvf4hc4qm8r";
+      sha256 = "0bsg06zklvxv1qkpqhiric2m07108rqlmnl4axv5fzpxx9973pfz";
       type = "gem";
     };
-    version = "1.17.0";
+    version = "1.19.0";
   };
   public_suffix = {
     groups = ["default"];
diff --git a/pkgs/tools/misc/hyperfine/default.nix b/pkgs/tools/misc/hyperfine/default.nix
index 8f3d245280c9..9a27c4df7721 100644
--- a/pkgs/tools/misc/hyperfine/default.nix
+++ b/pkgs/tools/misc/hyperfine/default.nix
@@ -4,22 +4,22 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "hyperfine";
-  version = "1.8.0";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner  = "sharkdp";
     repo   = pname;
     rev    = "refs/tags/v${version}";
-    sha256 = "12bj5xifnpj5yni563b6b33lzmkgm7j1wk0c9859zw59b33ifd1l";
+    sha256 = "0jx2lqhayp14c51dfvgmqrmmadyvxf0p4dsn770ndqpzv66rh6zb";
   };
 
-  cargoSha256 = "1ias944wg55njjnap7w02b87bvb502vzkpjvsb704q5i9sr8hjry";
+  cargoSha256 = "0sqmqfig40ragjx3jvwrng6hqz8l1zbmxzq470lk66x0gy4gziag";
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
   meta = with stdenv.lib; {
     description = "Command-line benchmarking tool";
-    homepage    = https://github.com/sharkdp/hyperfine;
+    homepage    = "https://github.com/sharkdp/hyperfine";
     license     = with licenses; [ asl20 /* or */ mit ];
     maintainers = [ maintainers.thoughtpolice ];
     platforms   = platforms.all;
diff --git a/pkgs/tools/misc/kisslicer/default.nix b/pkgs/tools/misc/kisslicer/default.nix
index 3667b483383b..5e5a7174a149 100644
--- a/pkgs/tools/misc/kisslicer/default.nix
+++ b/pkgs/tools/misc/kisslicer/default.nix
@@ -1,6 +1,6 @@
 { fetchzip
 , libX11
-, libGLU_combined
+, libGLU, libGL
 , makeWrapper
 , stdenv
 }:
@@ -8,7 +8,7 @@
 let
 
   libPath = stdenv.lib.makeLibraryPath [
-    libGLU_combined
+    libGLU libGL
     stdenv.cc.cc
     libX11
   ];
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
 
   buildInputs = [
     makeWrapper
-    libGLU_combined
+    libGLU libGL
     libX11
   ];
 
diff --git a/pkgs/tools/misc/memtest86-efi/default.nix b/pkgs/tools/misc/memtest86-efi/default.nix
index 8d28dbcf40ed..71409b1c3a8b 100644
--- a/pkgs/tools/misc/memtest86-efi/default.nix
+++ b/pkgs/tools/misc/memtest86-efi/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "memtest86-efi";
-  version = "8.1";
+  version = "8.2";
 
   src = fetchzip {
     # TODO: The latest version of memtest86 is actually 8.2, but the
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     # binaries that we make sure to version, then we could probably keep up
     # with the latest versions released by the company.
     url = "https://www.memtest86.com/downloads/memtest86-${version}-usb.zip";
-    sha256 = "0qiyd8ymn307shmvwmqd80q3svxf49133d2pf84qpdlcmjjfnhgg";
+    sha256 = "1x1wjssr4nnbnfan0pi7ni2dfwnm3288kq584hkfqcyza8xdx03i";
     stripRoot = false;
   };
 
diff --git a/pkgs/tools/misc/mongodb-compass/default.nix b/pkgs/tools/misc/mongodb-compass/default.nix
index 25d7eaba55ed..95c87cb35fc6 100644
--- a/pkgs/tools/misc/mongodb-compass/default.nix
+++ b/pkgs/tools/misc/mongodb-compass/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, dpkg
 , alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, glib
-, gnome2, gnome3, libnotify, libxcb, nspr, nss, systemd, xorg }:
+, gnome2, gnome3, libnotify, libxcb, nspr, nss, systemd, xorg, wrapGAppsHook }:
 
 let
 
@@ -57,7 +57,7 @@ in stdenv.mkDerivation {
 
   inherit src;
 
-  buildInputs = [ dpkg ];
+  buildInputs = [ dpkg wrapGAppsHook gnome3.gtk ];
   dontUnpack = true;
 
   buildCommand = ''
@@ -76,6 +76,7 @@ in stdenv.mkDerivation {
       patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$file" || true
       patchelf --set-rpath ${rpath}:$out/share/mongodb-compass "$file" || true
     done
+    wrapGAppsHook $out/bin/mongodb-compass
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/ocz-ssd-guru/default.nix b/pkgs/tools/misc/ocz-ssd-guru/default.nix
index 4317c46190db..d54302b31d1d 100644
--- a/pkgs/tools/misc/ocz-ssd-guru/default.nix
+++ b/pkgs/tools/misc/ocz-ssd-guru/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, xorg, freetype, fontconfig, libGLU_combined, glibc, makeWrapper }:
+{ fetchurl, stdenv, xorg, freetype, fontconfig, libGLU, libGL, glibc, makeWrapper }:
 
 let
   system = if stdenv.hostPlatform.system == "x86_64-linux" then "linux64" else "linux32";
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
       xorg.libXrender
       stdenv.cc.cc
       glibc
-      libGLU_combined
+      libGLU libGL
   ];
 
   installPhase = ''
diff --git a/pkgs/tools/misc/onefetch/default.nix b/pkgs/tools/misc/onefetch/default.nix
new file mode 100644
index 000000000000..be8c4fb9c064
--- /dev/null
+++ b/pkgs/tools/misc/onefetch/default.nix
@@ -0,0 +1,26 @@
+{ fetchFromGitHub, rustPlatform, stdenv
+, CoreFoundation, libiconv, libresolv, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "onefetch";
+  version = "2.1.0";
+
+  src = fetchFromGitHub {
+    owner = "o2sh";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "02mdzpzfcxp9na86b4jcqqjd3id5jslgmnq1jc0vykg58xha51jg";
+  };
+
+  cargoSha256 = "1phv06zf47bv5cmhypivljfiynrblha0kj13c5al9l0hd1xx749h";
+
+  buildInputs = with stdenv;
+    lib.optionals isDarwin [ CoreFoundation libiconv libresolv Security ];
+
+  meta = with stdenv.lib; {
+    description = "Git repository summary on your terminal";
+    homepage = "https://github.com/o2sh/onefetch";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/pkgs/tools/misc/paps/default.nix b/pkgs/tools/misc/paps/default.nix
index 521bebf47a3b..8084f49f1b38 100644
--- a/pkgs/tools/misc/paps/default.nix
+++ b/pkgs/tools/misc/paps/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchFromGitHub
-, autoconf, automake, pkgconfig, pango }:
+, autoconf, automake, pkgconfig, intltool, pango }:
 
 stdenv.mkDerivation rec {
   pname = "paps";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "dov";
     repo = pname;
-    rev = version;
-    sha256 = "1f0qcawak76zk2xypipb6sy4bd8mixlrjby851x216a7f6z8fd4y";
+    rev = "v${version}";
+    sha256 = "129wpm2ayxs6qfh2761d4x9c034ivb2bcmmcnl56qs4448qb9495";
   };
 
-  nativeBuildInputs = [ autoconf automake pkgconfig ];
+  nativeBuildInputs = [ autoconf automake pkgconfig intltool ];
   buildInputs = [ pango ];
 
   preConfigure = ''
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Pango to PostScript converter";
-    homepage = https://github.com/dov/paps;
+    homepage = "https://github.com/dov/paps";
     license = licenses.lgpl2;
     maintainers = with maintainers; [ etu ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index 27fd51ed447c..e606b38775e0 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, perl, makeWrapper, procps }:
 
 stdenv.mkDerivation rec {
-  name = "parallel-20191022";
+  name = "parallel-20191122";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${name}.tar.bz2";
-    sha256 = "1a89x5ix9kls1abj8zkgxdf3g3s5phzb83xcd4cwpz4szfjfw6v4";
+    sha256 = "01wmk3sf34d2lmhl37j4ga7aims2hcnzv1bydg1xs4pablar6ahq";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/pipelight/default.nix b/pkgs/tools/misc/pipelight/default.nix
index 5bd1e3470829..20b45360f01b 100644
--- a/pkgs/tools/misc/pipelight/default.nix
+++ b/pkgs/tools/misc/pipelight/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, bash, cabextract, curl, gnupg, libX11, libGLU_combined, wine-staging }:
+{ stdenv, fetchurl, bash, cabextract, curl, gnupg, libX11, libGLU, libGL, wine-staging }:
 
 let
   wine_custom = wine-staging;
@@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
     sha256 = "1kyy6knkr42k34rs661r0f5sf6l1s2jdbphdg89n73ynijqmzjhk";
   };
 
-  buildInputs = [ wine_custom libX11 libGLU_combined curl ];
+  buildInputs = [ wine_custom libX11 libGLU libGL curl ];
 
   propagatedbuildInputs = [ curl cabextract ];
 
diff --git a/pkgs/tools/misc/plantuml/default.nix b/pkgs/tools/misc/plantuml/default.nix
index 2ff042d8cbbf..c4868dd61835 100644
--- a/pkgs/tools/misc/plantuml/default.nix
+++ b/pkgs/tools/misc/plantuml/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, jre, graphviz }:
 
 stdenv.mkDerivation rec {
-  version = "1.2019.11";
+  version = "1.2019.12";
   pname = "plantuml";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/plantuml/${version}/plantuml.${version}.jar";
-    sha256 = "0k9l4d3rf5g5vwx6kd170ija872j3fafkn50fkd3ddzjqdd0v9lm";
+    sha256 = "1682lcfk63grzhzzxv34jxw3jacznvz1pd5cb266p9akk560a3z0";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/screenfetch/default.nix b/pkgs/tools/misc/screenfetch/default.nix
index 71b6dd90530e..d01a3a877f2b 100644
--- a/pkgs/tools/misc/screenfetch/default.nix
+++ b/pkgs/tools/misc/screenfetch/default.nix
@@ -20,13 +20,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "screenFetch";
-  version = "3.9.0";
+  version = "3.9.1";
 
   src = fetchFromGitHub {
     owner  = "KittyKatt";
     repo   = "screenFetch";
     rev    = "v${version}";
-    sha256 = "11mqld9pppbappqbaj49mw2v5kysx06sy1xbs81i0hhgh35hlziv";
+    sha256 = "04l8aqr474pb115nagn9f6y48jw92n1qfszgw7dbhgl4mpn95lcr";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/slop/default.nix b/pkgs/tools/misc/slop/default.nix
index 65031c2a1fe7..335a687dbc28 100644
--- a/pkgs/tools/misc/slop/default.nix
+++ b/pkgs/tools/misc/slop/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig
-, glew, glm, libGLU_combined, libX11, libXext, libXrender, icu
+, glew, glm, libGLU, libGL, libX11, libXext, libXrender, icu
 , cppcheck
 }:
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
-  buildInputs = [ glew glm libGLU_combined libX11 libXext libXrender icu ]
+  buildInputs = [ glew glm libGLU libGL libX11 libXext libXrender icu ]
                 ++ stdenv.lib.optional doCheck cppcheck;
 
   doCheck = false;
diff --git a/pkgs/tools/misc/starship/default.nix b/pkgs/tools/misc/starship/default.nix
index 932750930861..552327c3303f 100644
--- a/pkgs/tools/misc/starship/default.nix
+++ b/pkgs/tools/misc/starship/default.nix
@@ -2,18 +2,18 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "starship";
-  version = "0.26.4";
+  version = "0.26.5";
 
   src = fetchFromGitHub {
     owner = "starship";
     repo = "starship";
     rev = "v${version}";
-    sha256 = "0r3ggy28zx94cjgf486s9qm9c8c0514k5a8fki466yghkxyjamj8";
+    sha256 = "0a2jx82cwnxr0751qz2zp3chl0ndxf4wmjnar1y7s63syy9i6s52";
   };
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
 
-  cargoSha256 = "16pdvzvn4na0yksham0kwfkk7jlk4iwrzb4qych3libbswgkaklj";
+  cargoSha256 = "110ajwgdshakcqxfnqi30yy0miikp2qx86flwfkd78jawfll2krp";
   checkPhase = "cargo test -- --skip directory::home_directory --skip directory::directory_in_root";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/tensorman/default.nix b/pkgs/tools/misc/tensorman/default.nix
new file mode 100644
index 000000000000..97912b3c5fa1
--- /dev/null
+++ b/pkgs/tools/misc/tensorman/default.nix
@@ -0,0 +1,24 @@
+{ pkgconfig, stdenv, rustPlatform, rustc, cargo, docker, openssl, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "tensorman";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "pop-os";
+    repo = "tensorman";
+    rev = version;
+    sha256 = "0ywb53snvymmwh10hm6whckz7dwmpqa4rxiggd24y178jdfrm2ns";
+  };
+
+  buildInputs = [ pkgconfig openssl ];
+  cargoSha256 = "1gh5w6zzrvjk60bqaf355fagijy723rvmqjh4laksd96pmzdfwn9";
+
+  meta = with stdenv.lib; {
+    description = "Utility for easy management of Tensorflow containers";
+    homepage = "https://github.com/pop-os/tensorman/";
+    license = stdenv.lib.licenses.gpl3;
+    platforms =  [ "x86_64-linux" ];
+    maintainers = with maintainers; [ thefenriswolf ];
+  };
+}
diff --git a/pkgs/tools/misc/termtosvg/default.nix b/pkgs/tools/misc/termtosvg/default.nix
index f3a482baa480..7dc2bc618ea6 100644
--- a/pkgs/tools/misc/termtosvg/default.nix
+++ b/pkgs/tools/misc/termtosvg/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "termtosvg";
-  version = "0.9.0";
+  version = "1.0.0";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "1mf2vlq083mzhja449il78zpvjq6fv36pzakwrqmgxdjbsdyvxbd";
+    sha256 = "1d0lmvprraspdqpn0rsqzvkkmpj8zk0crid5l39kxpjpxrv2irfg";
   };
 
   propagatedBuildInputs = with python3Packages; [ lxml pyte wcwidth ];
diff --git a/pkgs/tools/misc/tmate/default.nix b/pkgs/tools/misc/tmate/default.nix
index 9cc083e225f9..86ab24928777 100644
--- a/pkgs/tools/misc/tmate/default.nix
+++ b/pkgs/tools/misc/tmate/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tmate";
-  version = "2.3.1";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner  = "tmate-io";
     repo   = "tmate";
     rev    = version;
-    sha256 = "183rvga8nvh9r7p8104vwcmzp3vrfdhnx73vh06m2fgdq9i5rz3l";
+    sha256 = "0x5c31yq7ansmiy20a0qf59wagba9v3pq97mlkxrqxn4n1gcc6vi";
   };
 
   dontUseCmakeConfigure = true;
diff --git a/pkgs/tools/misc/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix
index 36127dd57e64..c628ae30e959 100644
--- a/pkgs/tools/misc/tmux/default.nix
+++ b/pkgs/tools/misc/tmux/default.nix
@@ -1,4 +1,12 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, ncurses, libevent, pkgconfig, makeWrapper }:
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkgconfig
+, makeWrapper
+, bison
+, ncurses
+, libevent
+}:
 
 let
 
@@ -13,20 +21,28 @@ in
 
 stdenv.mkDerivation rec {
   pname = "tmux";
-  version = "2.9a";
+  version = "3.0";
 
   outputs = [ "out" "man" ];
 
   src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
+    owner = "tmux";
+    repo = "tmux";
     rev = version;
-    sha256 = "040plbgxlz14q5p0p3wapr576jbirwripmsjyq3g1nxh76jh1ipg";
+    sha256 = "0772hajzgpl4cvb9l2bma9hmnh4jg1phvqr2gg4292w34n5dsl3k";
   };
 
-  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  nativeBuildInputs = [
+    pkgconfig
+    autoreconfHook
+    bison
+  ];
 
-  buildInputs = [ ncurses libevent makeWrapper ];
+  buildInputs = [
+    ncurses
+    libevent
+    makeWrapper
+  ];
 
   configureFlags = [
     "--sysconfdir=/etc"
@@ -39,7 +55,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://tmux.github.io/;
+    homepage = "http://tmux.github.io/";
     description = "Terminal multiplexer";
 
     longDescription =
diff --git a/pkgs/tools/misc/tmuxp/default.nix b/pkgs/tools/misc/tmuxp/default.nix
index b794e46b2585..9ffa89f59196 100644
--- a/pkgs/tools/misc/tmuxp/default.nix
+++ b/pkgs/tools/misc/tmuxp/default.nix
@@ -4,11 +4,11 @@ with python.pkgs;
 
 buildPythonApplication rec {
   pname = "tmuxp";
-  version = "1.5.3";
+  version = "1.5.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0vxnq5r3h32dvznh4lal29q5ny70rd861r7435gn7sa6v5ajs2f1";
+    sha256 = "13qnacqlcih731wfrsalbff1g81inkh6sypvabg5gi7gd7mha49p";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/misc/topgrade/default.nix b/pkgs/tools/misc/topgrade/default.nix
new file mode 100644
index 000000000000..3adf37c22182
--- /dev/null
+++ b/pkgs/tools/misc/topgrade/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "topgrade";
+  version = "3.5.0";
+
+  src = fetchFromGitHub {
+    owner = "r-darwish";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "15w1qi38dsx573nadqpvarxx63xla53w775fwkdds2iyspaljsg6";
+  };
+
+  cargoSha256 = "0xhrgs2rpkgjzgsipq5rb3fmqwvxrl2wi0fly1xaa6p304k1710m";
+
+  meta = with stdenv.lib; {
+    description = "Upgrade all the things";
+    homepage = "https://github.com/r-darwish/topgrade";
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ filalex77 ];
+  };
+}
diff --git a/pkgs/tools/misc/vector/default.nix b/pkgs/tools/misc/vector/default.nix
index 8c5ba4100c64..b5e341650303 100644
--- a/pkgs/tools/misc/vector/default.nix
+++ b/pkgs/tools/misc/vector/default.nix
@@ -6,20 +6,31 @@
     (if stdenv.isAarch64
      then [ "jemallocator" ]
      else [ "leveldb" "jemallocator" ])
+
+# Unfortunately, buildRustPackage does not really support using overrideAttrs
+# on the underlying fields, because it doesn't pass them to stdenv.mkDerivation
+# as an attr. making it a parameter is the only way to do so. sigh
+
+, version ? "0.5.0"
+
+, srcRef ? {
+    rev    = "refs/tags/v${version}";
+    sha256 = "0niyxlvphn3awrpfh1hbqy767cckgjzyjrkqjxj844czxhh1hhff";
+  }
+
+, cargoSha256 ? "0bdgan891hrah54g6aaysqizkxrfsbidnxihai0i7h7knzq9gsk5"
+, patches ? []
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "vector";
-  version = "0.5.0";
-
+  inherit version cargoSha256 patches;
   src = fetchFromGitHub {
-    owner  = "timberio";
-    repo   = pname;
-    rev    = "refs/tags/v${version}";
-    sha256 = "0niyxlvphn3awrpfh1hbqy767cckgjzyjrkqjxj844czxhh1hhff";
+    owner = "timberio";
+    repo  = pname;
+    inherit (srcRef) rev sha256;
   };
 
-  cargoSha256 = "0bdgan891hrah54g6aaysqizkxrfsbidnxihai0i7h7knzq9gsk5";
   buildInputs = [ openssl pkgconfig protobuf ]
                 ++ stdenv.lib.optional stdenv.isDarwin [ Security libiconv ];
 
diff --git a/pkgs/tools/misc/wagyu/default.nix b/pkgs/tools/misc/wagyu/default.nix
new file mode 100644
index 000000000000..d56d21b15166
--- /dev/null
+++ b/pkgs/tools/misc/wagyu/default.nix
@@ -0,0 +1,23 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "wagyu";
+  version = "0.6.1";
+
+  src = fetchFromGitHub {
+    owner = "ArgusHQ";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1646j0lgg3hhznifvbkvr672p3yqlcavswijawaxq7n33ll8vmcn";
+  };
+
+  cargoSha256 = "10b96l0b32zxq0xrnhivv3gihmi5y31rllbizv67hrg1axz095vn";
+  verifyCargoDeps = true;
+
+  meta = with lib; {
+    description = "Rust library for generating cryptocurrency wallets";
+    homepage = https://github.com/ArgusHQ/wagyu;
+    license = with licenses; [ mit asl20 ];
+    maintainers = [ maintainers.offline ];
+  };
+}
diff --git a/pkgs/tools/misc/wakatime/default.nix b/pkgs/tools/misc/wakatime/default.nix
index 06280b49fbf1..a685dc7cbdee 100644
--- a/pkgs/tools/misc/wakatime/default.nix
+++ b/pkgs/tools/misc/wakatime/default.nix
@@ -3,13 +3,13 @@
 with python3Packages;
 buildPythonApplication rec {
   pname = "wakatime";
-  version = "10.8.0";
+  version = "13.0.2";
 
   src = fetchFromGitHub {
     owner = "wakatime";
     repo = "wakatime";
     rev = version;
-    sha256 = "057gq6j41x9z29az4s21crswm97pa9z4v58m34q8mi3chihc3pj6";
+    sha256 = "0ng7hb83gj6vb569qh58vqp4ana162r20dif086kgc3sch2z63j9";
   };
 
   # needs more dependencies from https://github.com/wakatime/wakatime/blob/191b302bfb5f272ae928c6d3867d06f3dfcba4a8/dev-requirements.txt
diff --git a/pkgs/tools/misc/watchexec/default.nix b/pkgs/tools/misc/watchexec/default.nix
index dea4478581b6..9729f110bb74 100644
--- a/pkgs/tools/misc/watchexec/default.nix
+++ b/pkgs/tools/misc/watchexec/default.nix
@@ -1,20 +1,27 @@
-{ stdenv, rustPlatform, fetchFromGitHub, CoreServices }:
+{ stdenv, rustPlatform, fetchFromGitHub, CoreServices, installShellFiles }:
 
 rustPlatform.buildRustPackage rec {
   pname = "watchexec";
-  version = "1.11.1";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "1iaib7yvxyn3l9kiys9x7wziixj13fmx1z3wgdy6h8c7jv6fpc0j";
+    sha256 = "03s9nsss4895x4lp90y65jajavk8c2nj1jjnmx0vbbwl210ghlv1";
   };
 
-  cargoSha256 = "101p0qj7ydfhqfz402mxy4bs48vq3rzgj513f1kwv0ba4hn1sxkv";
+  cargoSha256 = "07whi9w51ddh8s7v06c3k6n5q9gfx74rdkhgfysi180y2rgnbanj";
+
+  nativeBuildInputs = [ installShellFiles ];
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices ];
 
+  postInstall = ''
+    installManPage doc/watchexec.1
+    installShellCompletion --zsh --name _watchexec completions/zsh
+  '';
+
   meta = with stdenv.lib; {
     description = "Executes commands in response to file modifications";
     homepage = https://github.com/watchexec/watchexec;
diff --git a/pkgs/tools/misc/wob/default.nix b/pkgs/tools/misc/wob/default.nix
index 12e76be96582..0c46d4d6d17c 100644
--- a/pkgs/tools/misc/wob/default.nix
+++ b/pkgs/tools/misc/wob/default.nix
@@ -5,14 +5,14 @@
 
 stdenv.mkDerivation rec {
   pname = "wob";
-  version = "0.2";
+  version = "0.4";
 
   src = fetchFromGitHub {
     owner = "francma";
     repo = pname;
     rev = version;
     fetchSubmodules = true;
-    sha256 = "1jyia4166lp4cc8gmjmgcyz6prshhfjriam8w8mz2c5h77990fr9";
+    sha256 = "1z0vwss3ix5mf7mqpm4dzlv1bblddfi47ykblj0nmscxn1sinr7j";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config wayland ];
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index bc198eb595b6..da54b885bfc2 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -18,11 +18,11 @@ buildPythonPackage rec {
   # The websites youtube-dl deals with are a very moving target. That means that
   # downloads break constantly. Because of that, updates should always be backported
   # to the latest stable release.
-  version = "2019.11.05";
+  version = "2019.11.22";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
-    sha256 = "129461i4103slqj3nq69djnlmgjj3lfgmazn41avc5g967w29b85";
+    sha256 = "0avdlp0dc9p3lm68mfnic21x6blxmr0zvlxa4br5vj4y4sckq2m8";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/networking/croc/default.nix b/pkgs/tools/networking/croc/default.nix
index b23b5a17e1fc..de664fe0b7d3 100644
--- a/pkgs/tools/networking/croc/default.nix
+++ b/pkgs/tools/networking/croc/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "croc";
-  version = "6.2.0";
+  version = "6.4.1";
 
   goPackagePath = "github.com/schollz/croc";
 
@@ -10,10 +10,10 @@ buildGoModule rec {
     owner = "schollz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0pav0l7akzqgwj7yqkgbpl96kndlb41kg1vmb3g6xp7ykmbdsbbc";
+    sha256 = "0sil1gxml4p4yysm8x6bpv5m0hvw4ss27b4c9wdag06lav0g4am0";
   };
 
-  modSha256 = "02w4p877nvv7dril7l9nmj8xf3fnghxnj8kglxkv541vabvlpq03";
+  modSha256 = "1w84xqnn9fnkakak6j069app4ybbxpwq79g8qypwvmqg5bhvzywg";
   subPackages = [ "." ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix
index 0827f2eac7ba..d63c63ab1d27 100644
--- a/pkgs/tools/networking/dhcpcd/default.nix
+++ b/pkgs/tools/networking/dhcpcd/default.nix
@@ -4,11 +4,11 @@ stdenv.mkDerivation rec {
   # when updating this to >=7, check, see previous reverts:
   # nix-build -A nixos.tests.networking.scripted.macvlan.x86_64-linux nixos/release-combined.nix
   pname = "dhcpcd";
-  version = "8.0.6";
+  version = "8.1.2";
 
   src = fetchurl {
     url = "mirror://roy/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0kxxpb79j564m6bjvjb9gsn0yzs13c0arfgsycm51gw3xnch3db6";
+    sha256 = "1b9mihp1mf2vng92fgks764a6pwf2gx7ccw6knja79c42nmyglyb";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/networking/dnsproxy/default.nix b/pkgs/tools/networking/dnsproxy/default.nix
new file mode 100644
index 000000000000..6554dd465d4c
--- /dev/null
+++ b/pkgs/tools/networking/dnsproxy/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, buildGoModule }:
+
+buildGoModule rec {
+  pname = "dnsproxy";
+  version = "0.20.0";
+
+  src = fetchFromGitHub {
+    owner = "AdguardTeam";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0yd3d90ssdzpbsdq068dvsi0r1z2rlv3wpbmpkhfgpxmwrvdanrq";
+  };
+
+  modSha256 = "0cqwkmhajp3py3b5aj3qz9480qy2ws0vy1gk21bxjm56wqxl2gf0";
+
+  meta = with stdenv.lib; {
+    description = "Simple DNS proxy with DoH, DoT, and DNSCrypt support";
+    homepage = "https://github.com/AdguardTeam/dnsproxy";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ contrun ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/networking/ferm/default.nix b/pkgs/tools/networking/ferm/default.nix
index 2cf111e8ccfc..6f1660484e78 100644
--- a/pkgs/tools/networking/ferm/default.nix
+++ b/pkgs/tools/networking/ferm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, makeWrapper, perl, ebtables, ipset, iptables }:
+{ stdenv, fetchurl, makeWrapper, perl, ebtables, ipset, iptables, nixosTests }:
 
 stdenv.mkDerivation rec {
   version = "2.4.1";
@@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  passthru.tests.ferm = nixosTests.ferm;
+
   meta = {
     homepage = http://ferm.foo-projects.org/;
     description = "Tool to maintain complex firewalls";
diff --git a/pkgs/tools/networking/gmrender-resurrect/default.nix b/pkgs/tools/networking/gmrender-resurrect/default.nix
index be1ca9f265d4..d942dce6a197 100644
--- a/pkgs/tools/networking/gmrender-resurrect/default.nix
+++ b/pkgs/tools/networking/gmrender-resurrect/default.nix
@@ -1,38 +1,38 @@
-{ stdenv, fetchFromGitHub, autoconf, automake, pkgconfig, makeWrapper
-, gstreamer, gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, gst-libav, libupnp }:
-
-let version = "4f221e6b85abf85957b547436e982d7a501a1718"; in
-
-stdenv.mkDerivation {
-  pname = "gmrender-resurrect";
-  inherit version;
-
-  src = fetchFromGitHub {
-    owner = "hzeller";
-    repo = "gmrender-resurrect";
-    rev = version;
-    sha256 = "1dmdhyz27bh74qmvncfd3kw7zqwnd05bhxcfjjav98z5qrxdygj4";
-  };
-
-  preConfigurePhases = "autoconfPhase";
-
-  autoconfPhase = "./autogen.sh";
-
-  buildInputs = [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav libupnp ];
-  nativeBuildInputs = [ autoconf automake pkgconfig makeWrapper ];
-
-  postInstall = ''
-    for prog in "$out/bin/"*; do
-        wrapProgram "$prog" --suffix GST_PLUGIN_SYSTEM_PATH : "${gst-plugins-base}/lib/gstreamer-1.0:${gst-plugins-good}/lib/gstreamer-1.0:${gst-plugins-bad}/lib/gstreamer-1.0:${gst-plugins-ugly}/lib/gstreamer-1.0:${gst-libav}/lib/gstreamer-1.0"
-    done
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Resource efficient UPnP/DLNA renderer, optimal for Raspberry Pi, CuBox or a general MediaServer";
-    homepage = https://github.com/hzeller/gmrender-resurrect;
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    broken = true;
-    maintainers = [ maintainers.koral ];
-  };
-}
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, makeWrapper, gstreamer
+, gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, gst-libav, libupnp }:
+
+let
+  version = "0.0.8";
+
+  makePluginPath = plugins: builtins.concatStringsSep ":" (map (p: p + "/lib/gstreamer-1.0") plugins);
+
+  pluginPath = makePluginPath [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav ];
+in
+  stdenv.mkDerivation {
+    pname = "gmrender-resurrect";
+    inherit version;
+
+    src = fetchFromGitHub {
+      owner = "hzeller";
+      repo = "gmrender-resurrect";
+      rev = "v${version}";
+      sha256 = "14i5jrry6qiap5l2x2jqj7arymllajl3wgnk29ccvr8d45zp4jn1";
+    };
+
+    buildInputs = [ gstreamer libupnp ];
+    nativeBuildInputs = [ autoreconfHook pkgconfig makeWrapper ];
+
+    postInstall = ''
+      for prog in "$out/bin/"*; do
+          wrapProgram "$prog" --suffix GST_PLUGIN_SYSTEM_PATH_1_0 : "${pluginPath}"
+      done
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Resource efficient UPnP/DLNA renderer, optimal for Raspberry Pi, CuBox or a general MediaServer";
+      homepage = https://github.com/hzeller/gmrender-resurrect;
+      license = licenses.gpl2;
+      platforms = platforms.linux;
+      maintainers = with maintainers; [ koral ashkitten ];
+    };
+  }
diff --git a/pkgs/tools/networking/gnirehtet/default.nix b/pkgs/tools/networking/gnirehtet/default.nix
index 37d2eea825f0..06faa0640257 100644
--- a/pkgs/tools/networking/gnirehtet/default.nix
+++ b/pkgs/tools/networking/gnirehtet/default.nix
@@ -1,12 +1,12 @@
 {stdenv, rustPlatform, fetchFromGitHub, fetchzip, androidenv, substituteAll}:
 let
-version = "2.3";
+version = "2.4";
 apk = stdenv.mkDerivation {
   pname = "gnirehtet.apk";
   inherit version;
   src = fetchzip {
     url = "https://github.com/Genymobile/gnirehtet/releases/download/v${version}/gnirehtet-rust-linux64-v${version}.zip";
-    sha256 = "08pgmpbz82cd8ndr2syiv25l5xk1gvh9gzji4pgva5gw269bjmpz";
+    sha256 = "13gsh5982v961j86j5y71pgas94g2d1v1fgnbslbqw4h69fbf48g";
   };
   installPhase = ''
     mkdir $out
@@ -22,10 +22,10 @@ rustPlatform.buildRustPackage {
       owner = "Genymobile";
       repo = "gnirehtet";
       rev = "v${version}";
-      sha256 = "118ig42qzr2xyra7r8zfxq38xidaxfc98ja9836jwnn9fgbigczr";
+      sha256 = "1c99d6zpjxa8xlrg0n1825am20d2pjiicfcjwv8iay9ylfdnvygl";
   };
   sourceRoot = "source/relay-rust";
-  cargoSha256 = "1500lfwbfnc0k2hn7r1n629fq11zfqm3fg13dddmhchq4i3sqkfb";
+  cargoSha256 = "1l1cirhmfkpa466vksynlhwggsfiahws7cpsxydrc414l415l283";
 
   patchFlags = [ "-p2" ];
   patches = [
diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix
index 2b5f52b51aa8..95457b012054 100644
--- a/pkgs/tools/networking/haproxy/default.nix
+++ b/pkgs/tools/networking/haproxy/default.nix
@@ -11,11 +11,11 @@ assert usePcre -> pcre != null;
 
 stdenv.mkDerivation rec {
   pname = "haproxy";
-  version = "2.0.8";
+  version = "2.0.10";
 
   src = fetchurl {
     url = "https://www.haproxy.org/download/${stdenv.lib.versions.majorMinor version}/src/${pname}-${version}.tar.gz";
-    sha256 = "02i87hr1dfhrk6nvvcig4m9bpww7hyl6qcxcl20rfvxd2n2iwzn3";
+    sha256 = "1sm42q9l159pdmjs5dg544z10dn6x073caljkqh0p4syshysnf0x";
   };
 
   buildInputs = [ openssl zlib ]
diff --git a/pkgs/tools/networking/http-prompt/default.nix b/pkgs/tools/networking/http-prompt/default.nix
index 049fb7a1a6e6..9ed2f000f325 100644
--- a/pkgs/tools/networking/http-prompt/default.nix
+++ b/pkgs/tools/networking/http-prompt/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, pythonPackages, httpie }:
+{ stdenv, fetchFromGitHub, python3Packages, httpie }:
 
-pythonPackages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "http-prompt";
   version = "1.0.0";
 
@@ -11,11 +11,11 @@ pythonPackages.buildPythonApplication rec {
     sha256 = "0kngz2izcqjphbrdkg489p0xmf65xjc8ki1a2szcc8sgwc7z74xy";
   };
 
-  propagatedBuildInputs = with pythonPackages; [
+  propagatedBuildInputs = with python3Packages; [
     click
     httpie
     parsimonious
-    prompt_toolkit
+    (python.pkgs.callPackage ../../../development/python-modules/prompt_toolkit/1.nix {})
     pygments
     six
   ];
@@ -30,6 +30,5 @@ pythonPackages.buildPythonApplication rec {
     license = licenses.mit;
     maintainers = with maintainers; [ matthiasbeyer ];
     platforms = platforms.linux ++ platforms.darwin;
-    broken = true;
   };
 }
diff --git a/pkgs/tools/networking/iperf/3.nix b/pkgs/tools/networking/iperf/3.nix
index 4e2c27e2d409..c59eb09f4c5c 100644
--- a/pkgs/tools/networking/iperf/3.nix
+++ b/pkgs/tools/networking/iperf/3.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     homepage = http://software.es.net/iperf/;
     description = "Tool to measure IP bandwidth using UDP or TCP";
     platforms = platforms.unix;
-    license = "as-is";
+    license = licenses.bsd3;
     maintainers = with maintainers; [ fpletz ];
   };
 }
diff --git a/pkgs/tools/networking/mitmproxy/default.nix b/pkgs/tools/networking/mitmproxy/default.nix
index a9758e5fd471..53369baa01c8 100644
--- a/pkgs/tools/networking/mitmproxy/default.nix
+++ b/pkgs/tools/networking/mitmproxy/default.nix
@@ -52,10 +52,12 @@ buildPythonPackage rec {
 
   doCheck = (!stdenv.isDarwin);
 
+  # examples.complex.xss_scanner doesn't import correctly with pytest5
   checkPhase = ''
     export HOME=$(mktemp -d)
     export LC_CTYPE=en_US.UTF-8
-    pytest -k 'not test_find_unclaimed_URLs and not test_tcp'
+    pytest --ignore test/examples \
+      -k 'not test_find_unclaimed_URLs and not test_tcp'
   '';
 
   propagatedBuildInputs = [
diff --git a/pkgs/tools/networking/mmsd/default.nix b/pkgs/tools/networking/mmsd/default.nix
new file mode 100644
index 000000000000..fee347dd2015
--- /dev/null
+++ b/pkgs/tools/networking/mmsd/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, fetchgit
+, autoreconfHook
+, pkgconfig
+, glib
+, dbus
+}:
+
+stdenv.mkDerivation rec {
+  pname = "mmsd";
+  version = "unstable-2019-07-15";
+
+  src = fetchgit {
+    url = "git://git.kernel.org/pub/scm/network/ofono/mmsd.git";
+    rev = "f4b8b32477a411180be1823fdc460b4f7e1e3c9c";
+    sha256 = "0hcnpyhsi7b5m825dhnwbp65yi0961wi8mipzdvaw5nc693xv15b";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkgconfig
+  ];
+
+  buildInputs = [
+    glib
+    dbus
+  ];
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "Multimedia Messaging Service Daemon";
+    homepage = "https://01.org/ofono";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/mtr/default.nix b/pkgs/tools/networking/mtr/default.nix
index 217f3b7d7cc8..18850fab3300 100644
--- a/pkgs/tools/networking/mtr/default.nix
+++ b/pkgs/tools/networking/mtr/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, autoreconfHook, pkgconfig
+{ stdenv, lib, fetchFromGitHub, fetchpatch, autoreconfHook, pkgconfig
 , libcap, ncurses
 , withGtk ? false, gtk2 ? null }:
 
@@ -14,6 +14,14 @@ stdenv.mkDerivation rec {
     rev    = "v${version}";
     sha256 = "0n0zr9k61w7a9psnzgp7xnc7ll1ic2xzcvqsbbbyndg3v9rff6bw";
   };
+  
+  patches = [
+    # https://github.com/traviscross/mtr/pull/315
+    (fetchpatch {
+      url = https://github.com/traviscross/mtr/pull/315.patch?full_index=1;
+      sha256 = "18qcsj9058snc2qhq6v6gdbqhz021gi5fgw9h7vfczv45gf0qasa";
+    })
+  ];
 
   # we need this before autoreconfHook does its thing
   postPatch = ''
diff --git a/pkgs/tools/networking/nebula/default.nix b/pkgs/tools/networking/nebula/default.nix
new file mode 100644
index 000000000000..7f9d194e44a2
--- /dev/null
+++ b/pkgs/tools/networking/nebula/default.nix
@@ -0,0 +1,43 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "nebula";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "slackhq";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0j7fna352z8kzx6n0hck7rp122c0v44j9syz0v30vq47xq2pwj5c";
+  };
+
+  modSha256 = "130h0gc5z0w5inpc99y6mismwg3nyzk3bqdq5v9yclkxlhkbcp6d";
+
+  subPackages = [ "cmd/nebula" "cmd/nebula-cert" ];
+
+  buildFlagsArray = [ "-ldflags='-X main.Build=${version}'" ];
+
+  meta = with lib; {
+    description = "A scalable overlay networking tool with a focus on performance, simplicity and security";
+    longDescription = ''
+      Nebula is a scalable overlay networking tool with a focus on performance,
+      simplicity and security. It lets you seamlessly connect computers
+      anywhere in the world. Nebula is portable, and runs on Linux, OSX, and
+      Windows. (Also: keep this quiet, but we have an early prototype running
+      on iOS). It can be used to connect a small number of computers, but is
+      also able to connect tens of thousands of computers.
+
+      Nebula incorporates a number of existing concepts like encryption,
+      security groups, certificates, and tunneling, and each of those
+      individual pieces existed before Nebula in various forms. What makes
+      Nebula different to existing offerings is that it brings all of these
+      ideas together, resulting in a sum that is greater than its individual
+      parts.
+    '';
+    homepage = "https://github.com/slackhq/nebula";
+    license = licenses.mit;
+    maintainers = with maintainers; [ filalex77 ];
+    platforms = platforms.all;
+  };
+
+}
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index 4805d01deadd..4e015254658e 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -10,11 +10,11 @@ let
   pythonForDocs = python3.withPackages (pkgs: with pkgs; [ pygobject3 ]);
 in stdenv.mkDerivation rec {
   pname = "network-manager";
-  version = "1.20.4";
+  version = "1.20.6";
 
   src = fetchurl {
     url = "mirror://gnome/sources/NetworkManager/${stdenv.lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz";
-    sha256 = "0k4i6m8acp48vl6l13267wv6kfkmzfjq2mraaa5m9n82wyvkimx3";
+    sha256 = "0fa5my2czxxlr0lcrzm4zcbcfmvzflnzg1n0yrf6wssa07qaklp8";
   };
 
   outputs = [ "out" "dev" "devdoc" "man" "doc" ];
@@ -61,13 +61,6 @@ in stdenv.mkDerivation rec {
     # Meson does not support using different directories during build and
     # for installation like Autotools did with flags passed to make install.
     ./fix-install-paths.patch
-
-    # Fixes https://github.com/NixOS/nixpkgs/issues/72330
-    # Upstream MR: https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/323
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/NetworkManager/NetworkManager/commit/4c11364201c094ad19ab9980ea6051a82bd2a550.patch";
-      sha256 = "14dgb6ijxyzcglrk67is2fn49iwrhljf2sld8w557i6zkypilmsv";
-    })
   ];
 
   buildInputs = [
diff --git a/pkgs/tools/networking/ofono/default.nix b/pkgs/tools/networking/ofono/default.nix
index 27f4b9562b38..5cae8a612033 100644
--- a/pkgs/tools/networking/ofono/default.nix
+++ b/pkgs/tools/networking/ofono/default.nix
@@ -12,14 +12,14 @@
 
 stdenv.mkDerivation rec {
   pname = "ofono";
-  version = "1.30";
+  version = "1.31";
 
   outputs = [ "out" "dev" ];
 
   src = fetchgit {
     url = "git://git.kernel.org/pub/scm/network/ofono/ofono.git";
     rev = version;
-    sha256 = "1qzysmzpgbh6zc3x9xh931wxcazka9wwx727c2k66z9gal2n6n66";
+    sha256 = "033y3vggjxn1c7mw75j452idp7arrdv51axs727f7l3c5lnxqdjy";
   };
 
   patches = [
diff --git a/pkgs/tools/networking/openapi-generator-cli/default.nix b/pkgs/tools/networking/openapi-generator-cli/default.nix
index d9cde0123aa4..9429dee64bd6 100644
--- a/pkgs/tools/networking/openapi-generator-cli/default.nix
+++ b/pkgs/tools/networking/openapi-generator-cli/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, jre, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "4.2.0";
+  version = "4.2.1";
   pname = "openapi-generator-cli";
 
   jarfilename = "${pname}-${version}.jar";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://central.maven.org/maven2/org/openapitools/${pname}/${version}/${jarfilename}";
-    sha256 = "00c5y06b8lm6lhnnvl42yndwdgn42bwwfc7p1q7zcsga275b6jpb";
+    sha256 = "1inkiqbr183ksmkvpawagv1gqgc323wa1d6sdrd33pb9lk6wahdl";
   };
 
   phases = [ "installPhase" ];
diff --git a/pkgs/tools/networking/stunnel/default.nix b/pkgs/tools/networking/stunnel/default.nix
index 792e6f68294d..b9278dd7c0d5 100644
--- a/pkgs/tools/networking/stunnel/default.nix
+++ b/pkgs/tools/networking/stunnel/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "stunnel";
-  version = "5.55";
+  version = "5.56";
 
   src = fetchurl {
     url    = "https://www.stunnel.org/downloads/${pname}-${version}.tar.gz";
-    sha256 = "0qjc0wkjf6bqz29fvwwsn9hnjhm6alsm10jcwx4jad2q3ks6kplh";
+    sha256 = "08kb4gi9fzqngrczykvba6xhaxhq9m4wmdbhxvgrva5rasrvz13k";
     # please use the contents of "https://www.stunnel.org/downloads/${name}.tar.gz.sha256",
     # not the output of `nix-prefetch-url`
   };
diff --git a/pkgs/tools/networking/surfraw/default.nix b/pkgs/tools/networking/surfraw/default.nix
index d69221d9d50f..eac737653004 100644
--- a/pkgs/tools/networking/surfraw/default.nix
+++ b/pkgs/tools/networking/surfraw/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "surfraw-2.3.0";
 
   src = fetchurl {
-    url = "http://surfraw.alioth.debian.org/dist/surfraw-2.3.0.tar.gz";
+    url = "https://gitlab.com/surfraw/Surfraw/uploads/2de827b2786ef2fe43b6f07913ca7b7f/surfraw-2.3.0.tar.gz";
     sha256 = "099nbif0x5cbcf18snc58nx1a3q7z0v9br9p2jiq9pcc7ic2015d";
   };
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Provides a fast unix command line interface to a variety of popular WWW search engines and other artifacts of power";
-    homepage = http://surfraw.alioth.debian.org;
+    homepage = https://gitlab.com/surfraw/Surfraw;
     maintainers = [];
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.publicDomain;
diff --git a/pkgs/tools/networking/tinyfecvpn/default.nix b/pkgs/tools/networking/tinyfecvpn/default.nix
new file mode 100644
index 000000000000..aab937c994ee
--- /dev/null
+++ b/pkgs/tools/networking/tinyfecvpn/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  pname = "tinyfecvpn";
+  version = "20180820.0";
+
+  src = fetchFromGitHub {
+    owner = "wangyu-";
+    repo = pname;
+    rev = version;
+    sha256 = "1mbb9kzvy24na375dz0rlf5k93gan1vahamc9wzkn34mcx8i97cs";
+    fetchSubmodules = true;
+  };
+
+  enableParallelBuilding = true;
+  nativeBuildInputs = [ pkgconfig ];
+
+  patchPhase = ''
+    runHook prePatch
+    find . -type f -name "makefile" -exec sed "s/ -static/ -g/g" -i \{\} \;
+    runHook postPatch
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm755 tinyvpn $out/bin/tinyvpn
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/wangyu-/tinyfecVPN";
+    description = "A VPN Designed for Lossy Links, with Build-in Forward Error Correction(FEC) Support";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ petabyteboy ];
+  };
+}
diff --git a/pkgs/tools/networking/tridactyl-native/default.nix b/pkgs/tools/networking/tridactyl-native/default.nix
index 665d988f48e4..44daa23cd92d 100644
--- a/pkgs/tools/networking/tridactyl-native/default.nix
+++ b/pkgs/tools/networking/tridactyl-native/default.nix
@@ -7,13 +7,13 @@ stdenv.mkDerivation rec {
   pname = "tridactyl-native";
   # this is actually the version of tridactyl itself; the native messenger will
   # probably not change with every tridactyl version
-  version = "1.17.0";
+  version = "1.17.1";
 
   src = fetchFromGitHub {
     owner = "tridactyl";
     repo = "tridactyl";
     rev = version;
-    sha256 = "0dpd4jdym644rqm9h83lb8cwfccnwrnqm1g91nl913pj4k5x4hqr";
+    sha256 = "197vh3k9nh58djl6ph0lznkdb2schqlksxxr93xjkk4xsc7k6j1g";
   };
   sourceRoot = "source/native";
 
diff --git a/pkgs/tools/networking/uget/default.nix b/pkgs/tools/networking/uget/default.nix
index 78dcb00eb78a..b2da1384557d 100644
--- a/pkgs/tools/networking/uget/default.nix
+++ b/pkgs/tools/networking/uget/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, intltool, openssl, curl, libnotify,
-  libappindicator-gtk3, gst_all_1, gtk3, gnome3, wrapGAppsHook, aria2 ? null
+  libappindicator-gtk3, gst_all_1, gtk3, dconf, wrapGAppsHook, aria2 ? null
 }:
 
 stdenv.mkDerivation rec {
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     libnotify
     libappindicator-gtk3
     gtk3
-    (stdenv.lib.getLib gnome3.dconf)
+    (stdenv.lib.getLib dconf)
   ]
   ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good ])
   ++ (stdenv.lib.optional (aria2 != null) aria2);
diff --git a/pkgs/tools/networking/unbound/default.nix b/pkgs/tools/networking/unbound/default.nix
index e83e5268629c..08e2e07581b4 100644
--- a/pkgs/tools/networking/unbound/default.nix
+++ b/pkgs/tools/networking/unbound/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "unbound";
-  version = "1.9.4";
+  version = "1.9.5";
 
   src = fetchurl {
     url = "https://unbound.net/downloads/${pname}-${version}.tar.gz";
-    sha256 = "1c2bjm13x8bkw0ds1mhn9ivd2gzmfrb0x5y76bkz09a04bxjagix";
+    sha256 = "0myv8l886gmlh9nh4j3q5549idxnl51hf9cw20yxfqbwd47l13ca";
   };
 
   # https://github.com/NLnetLabs/unbound/pull/90
diff --git a/pkgs/tools/networking/whois/default.nix b/pkgs/tools/networking/whois/default.nix
index b0564ad7c74a..e079f9a881ed 100644
--- a/pkgs/tools/networking/whois/default.nix
+++ b/pkgs/tools/networking/whois/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, perl, gettext, pkgconfig, libidn2, libiconv }:
 
 stdenv.mkDerivation rec {
-  version = "5.5.2";
+  version = "5.5.3";
   pname = "whois";
 
   src = fetchFromGitHub {
     owner = "rfc1036";
     repo = "whois";
     rev = "v${version}";
-    sha256 = "0587xvw0ifjrwxgisw0nfx7qykmkly1knfdghrpph9vicpzwsidw";
+    sha256 = "099yvqng085f69k815961jnwk50nzmiknvhl1wwmji2hl36r160g";
   };
 
   nativeBuildInputs = [ perl gettext pkgconfig ];
diff --git a/pkgs/tools/networking/wifite2/default.nix b/pkgs/tools/networking/wifite2/default.nix
new file mode 100644
index 000000000000..2333408f0781
--- /dev/null
+++ b/pkgs/tools/networking/wifite2/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, lib, fetchFromGitHub, python3, aircrack-ng, wireshark-cli, reaverwps-t6x, cowpatty, hashcat, hcxtools, which }:
+
+python3.pkgs.buildPythonApplication rec {
+  version = "2.2.5";
+  pname = "wifite2";
+
+  src = fetchFromGitHub {
+    owner = "derv82";
+    repo = "wifite2";
+    rev = version;
+    sha256 = "1hfy90wf2bjg0z8rbs8cfhhvz78pzg2c6nj0zksal42mb6b5cjdp";
+  };
+
+  propagatedBuildInputs = [
+    aircrack-ng
+    wireshark-cli
+    reaverwps-t6x
+    cowpatty
+    hashcat
+    hcxtools
+    which
+  ];
+
+  postFixup = let
+    sitePackagesDir = "$out/lib/python3.${lib.versions.minor python3.version}/site-packages";
+  in ''
+    mv ${sitePackagesDir}/wifite/__main__.py ${sitePackagesDir}/wifite/wifite.py
+  '';
+
+  # which is not found
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/derv82/wifite2";
+    description = "Rewrite of the popular wireless network auditor, wifite";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ lassulus ];
+  };
+}
diff --git a/pkgs/tools/networking/wireguard-tools/default.nix b/pkgs/tools/networking/wireguard-tools/default.nix
index ad449429f998..d5edb128cd51 100644
--- a/pkgs/tools/networking/wireguard-tools/default.nix
+++ b/pkgs/tools/networking/wireguard-tools/default.nix
@@ -1,6 +1,7 @@
 {
   stdenv, fetchzip,
 
+  iptables ? null,
   iproute ? null,
   libmnl ? null,
   makeWrapper ? null,
@@ -13,11 +14,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "wireguard-tools";
-  version = "0.0.20191012";
+  version = "0.0.20191127";
 
   src = fetchzip {
     url = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${version}.tar.xz";
-    sha256 = "0nwcx7m5cpp4h1bclswiqq1jzj08xzpxmq5s4rcfqmrp59cmwgrs";
+    sha256 = "1n1x5858c32p0a13rrhn9a491174k5z4wd0gsy8qn546k1a8qj99";
   };
 
   sourceRoot = "source/src/tools";
@@ -38,7 +39,7 @@ stdenv.mkDerivation rec {
       --replace /usr/bin $out/bin
   '' + optionalString stdenv.isLinux ''
     for f in $out/bin/*; do
-      wrapProgram $f --prefix PATH : ${makeBinPath [procps iproute openresolv]}
+      wrapProgram $f --prefix PATH : ${makeBinPath [procps iproute iptables openresolv]}
     done
   '' + optionalString stdenv.isDarwin ''
     for f in $out/bin/*; do
diff --git a/pkgs/tools/networking/yggdrasil/default.nix b/pkgs/tools/networking/yggdrasil/default.nix
index f6fff42efdfa..ca10adae0e44 100644
--- a/pkgs/tools/networking/yggdrasil/default.nix
+++ b/pkgs/tools/networking/yggdrasil/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "yggdrasil";
-  version = "0.3.11";
+  version = "0.3.12";
 
   src = fetchFromGitHub {
     owner = "yggdrasil-network";
     repo = "yggdrasil-go";
     rev = "v${version}";
-    sha256 = "0cz9axphqvpqwy591ws9by7khpdw96iwf9vmhif3i52ghp8hpfd1";
+    sha256 = "03ywxamjcnhcr20vm9pn3rq3hqq49i6rfdvx44czzr30h8xp8dhw";
   };
 
   modSha256 = "1vqk0jyqc1qcryi247r5pbvfjw3m48l028fb2mrq1xqqfkjqrr85";
diff --git a/pkgs/tools/networking/ytcc/default.nix b/pkgs/tools/networking/ytcc/default.nix
index d489d84d1cc6..4675dac5f47f 100644
--- a/pkgs/tools/networking/ytcc/default.nix
+++ b/pkgs/tools/networking/ytcc/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "ytcc";
-  version = "1.8.1";
+  version = "1.8.2";
 
   src = fetchFromGitHub {
     owner = "woefe";
     repo = "ytcc";
     rev = "v${version}";
-    sha256 = "080p145j5pg8db88kb0y3x1pfc3v4aj3w68pdihlmi68dhjdr7i7";
+    sha256 = "0a4gxdan3aivbpkxw9cv1bgl7rfrwdii12d096dx06zlymb27gqs";
   };
 
   nativeBuildInputs = [ gettext ];
diff --git a/pkgs/tools/package-management/apt/default.nix b/pkgs/tools/package-management/apt/default.nix
index cbb4ad4591e9..0438e340b212 100644
--- a/pkgs/tools/package-management/apt/default.nix
+++ b/pkgs/tools/package-management/apt/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, lib, fetchzip, pkgconfig, cmake, perlPackages, curl, gtest, lzma, bzip2, lz4
+{ stdenv, lib, fetchurl, pkgconfig, cmake, perlPackages, curl, gtest
+, gnutls, libtasn1, lzma, bzip2, lz4, zstd, libseccomp, udev
 , db, dpkg, libxslt, docbook_xsl, docbook_xml_dtd_45
 
 # used when WITH_DOC=ON
@@ -15,39 +16,37 @@
 
 stdenv.mkDerivation rec {
   pname = "apt";
+  version = "1.8.4";
 
-  version = "1.4.6";
-
-  src = fetchzip {
-    url = "https://launchpad.net/ubuntu/+archive/primary/+files/apt_${version}.tar.xz";
-    sha256 = "0ahwhmscrmnpvl1r732wg93dzkhv8c1sph2yrqgsrhr73c1616ix";
+  src = fetchurl {
+    url = "mirror://debian/pool/main/a/apt/apt_${version}.tar.xz";
+    sha256 = "0gn4srqaaym85gc8nldqkv01477kdwr136an2nlpbdrsbx3y83zl";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig cmake gtest libxslt.bin ];
 
   buildInputs = [
-    cmake perlPackages.perl curl gtest lzma bzip2 lz4 db dpkg libxslt.bin
+    perlPackages.perl curl gnutls libtasn1 lzma bzip2 lz4 zstd libseccomp udev db dpkg
   ] ++ lib.optionals withDocs [
     doxygen perlPackages.Po4a w3m docbook_xml_dtd_45
   ] ++ lib.optionals withNLS [
     gettext
   ];
 
-  preConfigure = ''
-    cmakeFlagsArray+=(
-      -DBERKELEY_DB_INCLUDE_DIRS=${db.dev}/include
-      -DDOCBOOK_XSL="${docbook_xsl}"/share/xml/docbook-xsl
-      -DROOT_GROUP=root
-      -DWITH_DOC=${if withDocs then "ON" else "OFF"}
-      -DUSE_NLS=${if withNLS then "ON" else "OFF"}
-    )
-  '';
+  cmakeFlags = [
+    "-DBERKELEY_DB_INCLUDE_DIRS=${db.dev}/include"
+    "-DGNUTLS_INCLUDE_DIR=${gnutls.dev}/include"
+    "-DDOCBOOK_XSL=${docbook_xsl}/share/xml/docbook-xsl"
+    "-DROOT_GROUP=root"
+    "-DWITH_DOC=${if withDocs then "ON" else "OFF"}"
+    "-DUSE_NLS=${if withNLS then "ON" else "OFF"}"
+  ];
 
   enableParallelBuilding = true;
 
   meta = with lib; {
-    description = "";
-    homepage = https://launchpad.net/ubuntu/+source/apt;
+    description = "Command-line package management tools used on Debian-based systems";
+    homepage = https://salsa.debian.org/apt-team/apt;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ cstrahan ];
diff --git a/pkgs/tools/package-management/home-manager/default.nix b/pkgs/tools/package-management/home-manager/default.nix
index da4bb43066cc..f093f442e52e 100644
--- a/pkgs/tools/package-management/home-manager/default.nix
+++ b/pkgs/tools/package-management/home-manager/default.nix
@@ -6,13 +6,13 @@
 stdenv.mkDerivation rec {
 
   pname = "home-manager";
-  version = "2019-10-29";
+  version = "2019-11-17";
 
   src = fetchFromGitHub {
     owner = "rycee";
     repo = "home-manager";
-    rev = "450571056552c9311fcb2894328696b535265593";
-    sha256 = "1rlv234m0bqj9x2y9wnl8z3yq8mixzq8332nqlb8fw9k8mazis6s";
+    rev = "286dd9b3088298e5a4625b517f8e72b1c62e4f74";
+    sha256 = "0p3ba287h9a7mpj8chdgvz5qryc15qxdis3fdmv9jvl0hwsr738d";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/package-management/nfpm/default.nix b/pkgs/tools/package-management/nfpm/default.nix
index d5f855e44cb0..0dc707ccf866 100644
--- a/pkgs/tools/package-management/nfpm/default.nix
+++ b/pkgs/tools/package-management/nfpm/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "nfpm";
-  version = "1.1.0";
+  version = "1.1.5";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "16wyn6dx7cs32a704zcyr6v26b9iw4b506nymgljghvqw4bhysr1";
+    sha256 = "0wgp4bana38r385qgcm83fhqd053y5i9swh5cmnmbqjibx85g5r2";
   };
 
-  modSha256 = "0a4r4msfniya6pby4bs3qvgammn95sr5nmjp4vv0cm74n81rk051";
+  modSha256 = "1d532nv76gzckq2a0nyr9xixbm3rr8d8vlzgdz6i61xsjakfm6ap";
 
   buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
 
diff --git a/pkgs/tools/package-management/nix-review/default.nix b/pkgs/tools/package-management/nix-review/default.nix
index bffe04e78d96..44a7eaff2bfb 100644
--- a/pkgs/tools/package-management/nix-review/default.nix
+++ b/pkgs/tools/package-management/nix-review/default.nix
@@ -8,13 +8,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "nix-review";
-  version = "2.0.1";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "Mic92";
     repo = "nix-review";
     rev = version;
-    sha256 = "19x0wbb8annmzi67r79112j9kjzz99n3qd6adh80iqx2dh47pk5g";
+    sha256 = "0bdar2d88qjkf76hi3ar1lyfxnbwzhx1fi8fv65bw95m2sp1p0b5";
   };
 
   makeWrapperArgs = [
diff --git a/pkgs/tools/package-management/nix-serve/default.nix b/pkgs/tools/package-management/nix-serve/default.nix
index b191d1c32111..63f948db9db3 100644
--- a/pkgs/tools/package-management/nix-serve/default.nix
+++ b/pkgs/tools/package-management/nix-serve/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation {
     homepage = https://github.com/edolstra/nix-serve;
     description = "A utility for sharing a Nix store as a binary cache";
     maintainers = [ maintainers.eelco ];
-    license = licenses.gpl3;
+    license = licenses.lgpl21;
     platforms = nix.meta.platforms;
   };
 }
diff --git a/pkgs/tools/package-management/protontricks/default.nix b/pkgs/tools/package-management/protontricks/default.nix
index f5cecaa8e049..c8413c56854f 100644
--- a/pkgs/tools/package-management/protontricks/default.nix
+++ b/pkgs/tools/package-management/protontricks/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonApplication rec {
   pname = "protontricks";
-  version = "1.3";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "Matoking";
     repo = pname;
     rev = version;
-    sha256 = "1x3ln9sxczkh9rpznw8q5jqfk17kzsjiz125xd15rqj5zqkrwkkd";
+    sha256 = "0snhm9r5igik030iqxm3zd9zvhlnsxi20zac71bbc29qflsi2dhk";
   };
 
   propagatedBuildInputs = [ vdf ];
diff --git a/pkgs/tools/package-management/reuse/default.nix b/pkgs/tools/package-management/reuse/default.nix
index 0f8a6f19127f..4aadc4b7af02 100644
--- a/pkgs/tools/package-management/reuse/default.nix
+++ b/pkgs/tools/package-management/reuse/default.nix
@@ -4,13 +4,13 @@ with python3Packages;
 
 buildPythonApplication rec {
   pname = "reuse";
-  version = "0.5.2";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "fsfe";
     repo = "reuse-tool";
     rev = "v${version}";
-    sha256 = "17qvsa2qnm767yv7x0v626np0kiyqpb0al7sjqmccarq2wnw8w90";
+    sha256 = "17bslyvjndhqryrisba9y7y0ijyzi3gmyl9rddkcvdqi3lg9668y";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/tools/security/afl/libdislocator.nix b/pkgs/tools/security/afl/libdislocator.nix
index 47e74573b81f..415fa82f2ec6 100644
--- a/pkgs/tools/security/afl/libdislocator.nix
+++ b/pkgs/tools/security/afl/libdislocator.nix
@@ -1,7 +1,7 @@
 { stdenv, afl}:
 
 stdenv.mkDerivation {
-  version = (builtins.parseDrvName afl.name).version;
+  version = stdenv.lib.getVersion afl;
   pname = "libdislocator";
 
   src = afl.src;
diff --git a/pkgs/tools/security/clamav/default.nix b/pkgs/tools/security/clamav/default.nix
index de275b6c09a3..43f56352ceb3 100644
--- a/pkgs/tools/security/clamav/default.nix
+++ b/pkgs/tools/security/clamav/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "clamav";
-  version = "0.102.0";
+  version = "0.102.1";
 
   src = fetchurl {
     url = "https://www.clamav.net/downloads/production/${pname}-${version}.tar.gz";
-    sha256 = "1qdyj4r39266bmbsd2nwyspm20k9wh3c30awrg8c54y78s61izj8";
+    sha256 = "1mpdgn3isz26hd1j6p8lcb76v8hjs54k1wb655rnil4hv78aig8d";
   };
 
   # don't install sample config files into the absolute sysconfdir folder
diff --git a/pkgs/tools/security/efitools/default.nix b/pkgs/tools/security/efitools/default.nix
index 8a64a019fef0..33b6c3b672da 100644
--- a/pkgs/tools/security/efitools/default.nix
+++ b/pkgs/tools/security/efitools/default.nix
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
     sed -i -e 's#/usr/include/efi#${gnu-efi}/include/efi/#g' Make.rules
     sed -i -e 's#/usr/lib64/gnuefi#${gnu-efi}/lib/#g' Make.rules
     sed -i -e 's#$(DESTDIR)/usr#$(out)#g' Make.rules
+    substituteInPlace lib/console.c --replace "EFI_WARN_UNKOWN_GLYPH" "EFI_WARN_UNKNOWN_GLYPH"
     patchShebangs .
   '';
 
diff --git a/pkgs/tools/security/enpass/default.nix b/pkgs/tools/security/enpass/default.nix
index 3cb5c1163e57..6e61f0541225 100644
--- a/pkgs/tools/security/enpass/default.nix
+++ b/pkgs/tools/security/enpass/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, dpkg, xorg
-, glib, libGLU_combined, libpulseaudio, zlib, dbus, fontconfig, freetype
+, glib, libGLU, libGL, libpulseaudio, zlib, dbus, fontconfig, freetype
 , gtk3, pango
 , makeWrapper , python2Packages, lib
 , lsof, curl, libuuid, cups, mesa
@@ -19,7 +19,7 @@ let
   # used of both wrappers and libpath
   libPath = lib.makeLibraryPath (with xorg; [
     mesa.drivers
-    libGLU_combined
+    libGLU libGL
     fontconfig
     freetype
     libpulseaudio
diff --git a/pkgs/tools/security/fprintd/default.nix b/pkgs/tools/security/fprintd/default.nix
index 41a00306f695..13e6c0be391a 100644
--- a/pkgs/tools/security/fprintd/default.nix
+++ b/pkgs/tools/security/fprintd/default.nix
@@ -1,11 +1,9 @@
-{ thinkpad ? false
-, stdenv
+{ stdenv
 , fetchurl
 , fetchpatch
 , pkgconfig
 , intltool
-, libfprint-thinkpad ? null
-, libfprint ? null
+, libfprint
 , glib
 , dbus-glib
 , polkit
@@ -17,7 +15,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  pname = "fprintd" + stdenv.lib.optionalString thinkpad "-thinkpad";
+  pname = "fprintd";
   version = "0.9.0";
 
   src = fetchurl {
@@ -46,10 +44,8 @@ stdenv.mkDerivation rec {
     nss
     pam
     systemd
-  ]
-  ++ stdenv.lib.optional thinkpad libfprint-thinkpad
-  ++ stdenv.lib.optional (!thinkpad) libfprint
-  ;
+    libfprint
+  ];
 
   configureFlags = [
     # is hardcoded to /var/lib/fprint, this is for the StateDirectory install target
diff --git a/pkgs/tools/security/gnome-keysign/default.nix b/pkgs/tools/security/gnome-keysign/default.nix
index 04fa923ce2cc..a559039d95ac 100644
--- a/pkgs/tools/security/gnome-keysign/default.nix
+++ b/pkgs/tools/security/gnome-keysign/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchFromGitLab
+, fetchpatch
 , python3
 , wrapGAppsHook
 , gobject-introspection
@@ -11,22 +12,38 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "gnome-keysign";
-  version = "1.0.1";
+  version = "1.2.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "GNOME";
     repo = pname;
     rev = version;
-    sha256 = "0iy70dskd7wly37lpb2ypd9phhyml5j3c7rzajii4f2s7zgb3abg";
+    sha256 = "1sjphi1lsivg9jmc8khbcqa9w6608pkrccz4nz3rlcc54hn0k0sj";
   };
 
+  patches = [
+    # fix build failure due to missing import
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-keysign/commit/216c3677e68960afc517edc00529323e85909323.patch";
+      sha256 = "1w410gvcridbq26sry7fxn49v59ss2lc0w5ab7csva8rzs1nc990";
+    })
+
+    # stop requiring lxml (no longer used)
+    # https://gitlab.gnome.org/GNOME/gnome-keysign/merge_requests/23
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/gnome-keysign/commit/ffc6f40584d7564951e1c8b6d18d4f8a6a3fa09d.patch";
+      sha256 = "1hs6mmhi2f21kvy26llzvp37yf0i0dr69d18r641139nr6qg6kwy";
+      includes = [ "setup.py" ];
+    })
+  ];
+
   nativeBuildInputs = [
     wrapGAppsHook
     gobject-introspection
   ] ++ (with python3.pkgs; [
     Babel
-    lxml
+    babelgladeextractor
   ]);
 
   buildInputs = [
diff --git a/pkgs/tools/security/gnupg/22.nix b/pkgs/tools/security/gnupg/22.nix
index e54a1e1c5db9..0be7b936bb7a 100644
--- a/pkgs/tools/security/gnupg/22.nix
+++ b/pkgs/tools/security/gnupg/22.nix
@@ -16,11 +16,11 @@ assert guiSupport -> pinentry != null && enableMinimal == false;
 stdenv.mkDerivation rec {
   pname = "gnupg";
 
-  version = "2.2.17";
+  version = "2.2.18";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${pname}-${version}.tar.bz2";
-    sha256 = "056mgy09lvsi03531a437qj58la1j2x1y1scvfi53diris3658mg";
+    sha256 = "02pcdmb9p4a8hil88gyd86mnc85jldss3cl02jvbkcjmrbi7rlrh";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
diff --git a/pkgs/tools/security/haka/default.nix b/pkgs/tools/security/haka/default.nix
index bd7d356c1a0e..bfac54d2d860 100644
--- a/pkgs/tools/security/haka/default.nix
+++ b/pkgs/tools/security/haka/default.nix
@@ -30,6 +30,6 @@ stdenv.mkDerivation {
     homepage = http://www.haka-security.org/;
     license = stdenv.lib.licenses.mpl20;
     maintainers = [ stdenv.lib.maintainers.tvestelind ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = [ "x86_64-linux" "i686-linux" ]; # fails on aarch64
   };
 }
diff --git a/pkgs/tools/security/ipscan/default.nix b/pkgs/tools/security/ipscan/default.nix
new file mode 100644
index 000000000000..40546b6f1c33
--- /dev/null
+++ b/pkgs/tools/security/ipscan/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, jdk, jre, swt, makeWrapper, xorg, dpkg }:
+
+stdenv.mkDerivation rec {
+  pname = "ipscan";
+  version = "3.6.2";
+
+  src = fetchurl {
+    url = "https://github.com/angryip/ipscan/releases/download/${version}/ipscan_${version}_amd64.deb";
+    sha256 = "0wnnnabpj0dsxdijvss5sl9kd4i6rmcq55zbas33xs3c5g305ssk";
+  };
+
+  sourceRoot = ".";
+  unpackCmd = "${dpkg}/bin/dpkg-deb -x $src .";
+
+  buildInputs = [ makeWrapper jdk ];
+
+  installPhase = ''
+    mkdir -p $out/share
+    cp usr/lib/ipscan/ipscan-linux64-${version}.jar $out/share/${pname}-${version}.jar
+
+    makeWrapper ${jre}/bin/java $out/bin/ipscan \
+      --prefix LD_LIBRARY_PATH : "$out/lib/:${stdenv.lib.makeLibraryPath [ swt xorg.libXtst ]}" \
+      --add-flags "-Xmx256m -cp $out/share/${pname}-${version}.jar:${swt}/jars/swt.jar net.azib.ipscan.Main"
+
+    mkdir -p $out/share/applications
+    cp usr/share/applications/ipscan.desktop $out/share/applications/ipscan.desktop
+    substituteInPlace $out/share/applications/ipscan.desktop --replace "/usr/bin" "$out/bin"
+
+    mkdir -p $out/share/pixmaps
+    cp usr/share/pixmaps/ipscan.png $out/share/pixmaps/ipscan.png
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Fast and friendly network scanner";
+    homepage = https://angryip.org;
+    license = licenses.gpl2;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ kylesferrazza ];
+  };
+}
diff --git a/pkgs/tools/security/john/default.nix b/pkgs/tools/security/john/default.nix
index 4107e9fcf142..fd5659e7f9db 100644
--- a/pkgs/tools/security/john/default.nix
+++ b/pkgs/tools/security/john/default.nix
@@ -47,11 +47,12 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = [ "-DJOHN_SYSTEMWIDE=1" ];
 
   postInstall = ''
-    mkdir -p "$out/bin" "$out/etc/john" "$out/share/john" "$out/share/doc/john"
+    mkdir -p "$out/bin" "$out/etc/john" "$out/share/john" "$out/share/doc/john" "$out/share/john/rules"
     find -L ../run -mindepth 1 -maxdepth 1 -type f -executable \
       -exec cp -d {} "$out/bin" \;
     cp -vt "$out/etc/john" ../run/*.conf
     cp -vt "$out/share/john" ../run/*.chr ../run/password.lst
+    cp -vt "$out/share/john/rules" ../run/rules/*.rule
     cp -vrt "$out/share/doc/john" ../doc/*
   '';
 
diff --git a/pkgs/tools/security/keybase/default.nix b/pkgs/tools/security/keybase/default.nix
index 653858d36961..1edf86675c31 100644
--- a/pkgs/tools/security/keybase/default.nix
+++ b/pkgs/tools/security/keybase/default.nix
@@ -6,10 +6,10 @@
 
 buildGoPackage rec {
   pname = "keybase";
-  version = "4.7.2";
+  version = "5.0.0";
 
   goPackagePath = "github.com/keybase/client";
-  subPackages = [ "go/keybase" ];
+  subPackages = [ "go/kbnm" "go/keybase" ];
 
   dontRenameImports = true;
 
@@ -17,7 +17,7 @@ buildGoPackage rec {
     owner = "keybase";
     repo = "client";
     rev = "v${version}";
-    sha256 = "1ixfq9qv71misg04fvf4892z956w5aydq0r1wk6qk5jjqp6gf4lv";
+    sha256 = "0cxxqmgp82qi2b1fljyfa38is94y8ghb2pd31nbyh8y4wnmi0x1s";
   };
 
   patches = [
@@ -36,5 +36,6 @@ buildGoPackage rec {
     description = "The Keybase official command-line utility and service.";
     platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ carlsverre np rvolosatovs ];
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/tools/security/keybase/gui.nix b/pkgs/tools/security/keybase/gui.nix
index 1d32f1cc8819..2ec97f882367 100644
--- a/pkgs/tools/security/keybase/gui.nix
+++ b/pkgs/tools/security/keybase/gui.nix
@@ -1,19 +1,19 @@
 { stdenv, fetchurl, alsaLib, atk, cairo, cups, udev
-, dbus, expat, fontconfig, freetype, gdk-pixbuf, glib, gtk3
+, dbus, expat, fontconfig, freetype, gdk-pixbuf, glib, gtk3, libappindicator-gtk3
 , libnotify, nspr, nss, pango, systemd, xorg, autoPatchelfHook, wrapGAppsHook
 , runtimeShell, gsettings-desktop-schemas }:
 
 let
-  versionSuffix = "20191028173732.6fc2e969b4";
+  versionSuffix = "20191114203213.f73f97dac6";
 in
 
 stdenv.mkDerivation rec {
   pname = "keybase-gui";
-  version = "4.7.2"; # Find latest version from https://prerelease.keybase.io/deb/dists/stable/main/binary-amd64/Packages
+  version = "5.0.0"; # Find latest version from https://prerelease.keybase.io/deb/dists/stable/main/binary-amd64/Packages
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/prerelease.keybase.io/linux_binaries/deb/keybase_${version + "-" + versionSuffix}_amd64.deb";
-    sha256 = "01slhdxcjs1543rz1khxhzn25g26vm9fd9mcyd5ahp2v4g37b8sd";
+    sha256 = "e175e52a6355d8359d66ef4b445981b572c513754329d5c7f75ad7bb14ec348f";
   };
 
   nativeBuildInputs = [
@@ -34,6 +34,7 @@ stdenv.mkDerivation rec {
     glib
     gsettings-desktop-schemas
     gtk3
+    libappindicator-gtk3
     libnotify
     nspr
     nss
@@ -55,6 +56,7 @@ stdenv.mkDerivation rec {
 
   runtimeDependencies = [
     udev.lib
+    libappindicator-gtk3
   ];
 
   dontBuild = true;
diff --git a/pkgs/tools/security/ossec/default.nix b/pkgs/tools/security/ossec/default.nix
index 7231f6821daf..2b52099e70b3 100644
--- a/pkgs/tools/security/ossec/default.nix
+++ b/pkgs/tools/security/ossec/default.nix
@@ -31,8 +31,8 @@ yes
   '';
 
   meta = {
-    description = "Open soruce host-based instrusion detection system";
-    homepage = http://www.ossec.net;
+    description = "Open source host-based instrusion detection system";
+    homepage = https://www.ossec.net;
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/security/pbis/default.nix b/pkgs/tools/security/pbis/default.nix
new file mode 100644
index 000000000000..ee1282e9a135
--- /dev/null
+++ b/pkgs/tools/security/pbis/default.nix
@@ -0,0 +1,70 @@
+{ stdenv, fetchFromGitHub, autoconf, automake, libtool, perl, flex, bison, curl,
+  pam, popt, libiconv, libuuid, openssl_1_0_2, cyrus_sasl, sqlite, tdb, libxml2 }:
+
+stdenv.mkDerivation rec {
+  pname = "pbis-open";
+  version = "9.1.0";
+
+  src = fetchFromGitHub {
+    owner = "BeyondTrust";
+    repo = pname;
+    rev = version;
+    sha256 = "081jm34sf488nwz5wzs55d6rxx3sv566x6p4h1yqcjaw36174m8v";
+  };
+
+  nativeBuildInputs = [
+    autoconf automake libtool perl flex bison
+  ];
+
+  # curl must be placed after openssl_1_0_2, because it pulls openssl 1.1 dependency.
+  buildInputs = [
+    pam popt libiconv libuuid openssl_1_0_2 cyrus_sasl
+    curl sqlite popt tdb libxml2 /*libglade2 for gtk*/
+  ];
+
+  postPatch = ''
+    patchShebangs .
+    sed -i -e 's/legacy//g' lwupgrade/MakeKitBuild # disable /opt/ symlinks
+    sed -i -e 's/tdb.h//g' samba-interop/MakeKitBuild #include <tdb.h> fails but it won't affect the build
+  '';
+  preConfigure = ''
+    mkdir release
+    cd release
+    if [ $CC = gcc ]; then
+            NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-error=format-overflow"
+    fi
+    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -isystem ${stdenv.lib.getDev libxml2}/include/libxml2 -Wno-error=array-bounds -Wno-error=pointer-sign -Wno-error=deprecated-declarations -Wno-error=unused-variable"
+  '';
+  configureScript = ''../configure'';
+  configureFlags = [
+    "CFLAGS=-O"
+    "--docdir=${placeholder "prefix"}/share/doc"
+    "--mandir=${placeholder "prefix"}/share/doc/man"
+    "--datadir=${placeholder "prefix"}/share"
+    "--lw-initdir=${placeholder "prefix"}/etc/init.d"
+    "--selinux=no" # NixOS does not support SELinux
+    "--build-isas=x86_64" # [lwbase] endianness (host/x86_32): [lwbase] ERROR: could not determine endianness
+    "--fail-on-warn=no"
+    # "--debug=yes"
+  ]; # ^ See https://github.com/BeyondTrust/pbis-open/issues/124
+  configureFlagsArray = [ "--lw-bundled-libs=linenoise-mob tomlc99 opensoap krb5 cyrus-sasl curl openldap ${ if libuuid == null then "libuuid" else "" }" ];
+  # ^ it depends on old krb5 version 1.9 (issue #228)
+  # linenoise-mod, tomlc99, opensoap is not in nixpkgs.
+  # krb5 must be old one, and cyrus-sasl and openldap have dependency to newer libkrb5 that cause runtime error
+  enableParallelBuilding = true;
+  makeFlags = "SHELL=";
+  hardeningDisable = [ "format" ]; # -Werror=format-security
+  installPhase = ''
+    mkdir $sys
+    mv stage/{lib,var} $sys
+    mv stage$out $out
+  '';
+  outputs = [ "out" "sys" ];
+
+  meta = with stdenv.lib; {
+    description = "BeyondTrust AD Bridge Open simplifies the process of joining non-Microsoft hosts to Active Directory domains";
+    homepage = "https://github.com/BeyondTrust/pbis-open";
+    license = with licenses; [ gpl2 lgpl21 ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/tools/security/pcsclite/default.nix b/pkgs/tools/security/pcsclite/default.nix
index eed462ef0d04..263c308fc3d6 100644
--- a/pkgs/tools/security/pcsclite/default.nix
+++ b/pkgs/tools/security/pcsclite/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, udev, dbus, perl, python2
+{ stdenv, fetchurl, pkgconfig, udev, dbus, perl, python3
 , IOKit ? null }:
 
 stdenv.mkDerivation rec {
@@ -35,8 +35,8 @@ stdenv.mkDerivation rec {
     moveToOutput bin/pcsc-spy "$dev"
   '';
 
-  nativeBuildInputs = [ pkgconfig perl python2 ];
-  buildInputs = stdenv.lib.optionals stdenv.isLinux [ udev dbus ]
+  nativeBuildInputs = [ pkgconfig perl ];
+  buildInputs = [ python3 ] ++ stdenv.lib.optionals stdenv.isLinux [ udev dbus ]
              ++ stdenv.lib.optionals stdenv.isDarwin [ IOKit ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/security/sequoia/default.nix b/pkgs/tools/security/sequoia/default.nix
index 554ed93f0934..21403225aad2 100644
--- a/pkgs/tools/security/sequoia/default.nix
+++ b/pkgs/tools/security/sequoia/default.nix
@@ -9,16 +9,16 @@ assert pythonSupport -> pythonPackages != null;
 
 rustPlatform.buildRustPackage rec {
   pname = "sequoia";
-  version = "0.10.0";
+  version = "0.11.0";
 
   src = fetchFromGitLab {
     owner = "sequoia-pgp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0gvczghyik56jlnb8cz7jg2l3nbm519gf19g7l5blxci3009v23d";
+    sha256 = "1k0pr3vn77fpfzyvbg7xb4jwm6srsiws9bsd8q7i3hl6j56a880i";
   };
 
-  cargoSha256 = "0dk9sjcbmygbdpwqnah5krli1p9j5hahgiqrca9c0kfpfiwgx62q";
+  cargoSha256 = "15bhg7b88rq8p0bn6y5wwv2l42kqb1qyx2s3kw0r0v0wadf823q3";
 
   nativeBuildInputs = [
     pkgconfig
@@ -87,6 +87,6 @@ rustPlatform.buildRustPackage rec {
     license = licenses.gpl3;
     maintainers = with maintainers; [ minijackson doronbehar ];
     platforms = platforms.all;
-    broken = true;
+    broken = stdenv.targetPlatform.isDarwin;
   };
 }
diff --git a/pkgs/tools/security/sops/default.nix b/pkgs/tools/security/sops/default.nix
index b132066fee52..8aa2e219e7df 100644
--- a/pkgs/tools/security/sops/default.nix
+++ b/pkgs/tools/security/sops/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "sops";
-  version = "3.4.0";
+  version = "3.5.0";
 
   src = fetchFromGitHub {
-    rev = version;
+    rev = "v${version}";
     owner = "mozilla";
     repo = pname;
-    sha256 = "1mrqf9xgv88v919x7gz9l1x70xwvp6cfz3zp9ip1nj2pzn6ixz3d";
+    sha256 = "1515bk0fl0pvdkp402l51gdg63bmqlh89sglss6prc1qqvv5v2xy";
   };
 
-  modSha256 = "13ja8nxycmdjnrnsxdd1qs06x408aqr4im127a6y433pkx2dg7gc";
+  modSha256 = "0vhxd3dschj5i9sig6vpxzbl59cas1qa843akzmjnfjrrafb916y";
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/mozilla/sops";
diff --git a/pkgs/tools/security/vault/default.nix b/pkgs/tools/security/vault/default.nix
index dc5556c70164..1e5a16e19582 100644
--- a/pkgs/tools/security/vault/default.nix
+++ b/pkgs/tools/security/vault/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "vault";
-  version = "1.2.4";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "vault";
     rev = "v${version}";
-    sha256 = "1dqnl5pbhjb19sw2c9ry510vp4gls2l13xylf1bdqzcwd8gpxm42";
+    sha256 = "0ayvmqg4fj9cliwbl4pb12mailq7062j3f9v8arpv6x5r4hydlpy";
   };
 
   goPackagePath = "github.com/hashicorp/vault";
diff --git a/pkgs/tools/security/vault/vault-bin.nix b/pkgs/tools/security/vault/vault-bin.nix
index 87f2e922ff74..6e2ab221c42f 100644
--- a/pkgs/tools/security/vault/vault-bin.nix
+++ b/pkgs/tools/security/vault/vault-bin.nix
@@ -1,30 +1,30 @@
 { stdenv, fetchurl, unzip }:
 
 let
-  version = "1.1.3";
+  version = "1.3.0";
 
   sources = let
     base = "https://releases.hashicorp.com/vault/${version}";
   in {
     x86_64-linux = fetchurl {
       url = "${base}/vault_${version}_linux_amd64.zip";
-      sha256 = "293b88f4d31f6bcdcc8b508eccb7b856a0423270adebfa0f52f04144c5a22ae0";
+      sha256 = "1crfj4gd1qwwa2xidd0pjffv0n6hf5hbhv6568m6zc1ig0qqm6yq";
     };
     i686-linux = fetchurl {
       url = "${base}/vault_${version}_linux_386.zip";
-      sha256 = "9f2fb99e08fa3d25af1497516d08b5d2d8a73bcacd5354ddec024e9628795867";
+      sha256 = "0pyf0kyvxpmx3fwfvin1r0x30r9byx9lyi81894q06xrhiwbqc0l";
     };
     x86_64-darwin = fetchurl {
       url = "${base}/vault_${version}_darwin_amd64.zip";
-      sha256 = "a0a7a242f8299ac4a00af8aa10ccedaf63013c8a068f56eadfb9d730b87155ea";
+      sha256 = "113vnpz9n6y7z2k9jqpfpxqxqbrmd9bhny79yaxqzkfdqw8vyv3g";
     };
     i686-darwin = fetchurl {
       url = "${base}/vault_${version}_darwin_386.zip";
-      sha256 = "50542cfb37abb06e8bb6b8ba41f5ca7d72a4d6a4396d4e3f4a8391bed14f63be";
+      sha256 = "0d191qai0bpl7cyivca26wqgycsj2dz08809z147d1vnrz321v6w";
     };
     aarch64-linux = fetchurl {
       url = "${base}/vault_${version}_linux_arm64.zip";
-      sha256 = "c243dce14b2e48e3667c2aa5b7fb37009dd7043b56032d6ebe50dd456715fd3f";
+      sha256 = "1bk5y3knc42mh07gnnn6p109qz908014620h1s0348wp4qfdy49w";
     };
   };
 
@@ -49,6 +49,6 @@ in stdenv.mkDerivation {
     description = "A tool for managing secrets, this binary includes the UI";
     platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" "i686-darwin" ];
     license = licenses.mpl20;
-    maintainers = with maintainers; [ offline psyanticy ];
+    maintainers = with maintainers; [ offline psyanticy mkaito ];
   };
 }
diff --git a/pkgs/tools/security/vulnix/default.nix b/pkgs/tools/security/vulnix/default.nix
index 715c2787ef8f..809787508f6f 100644
--- a/pkgs/tools/security/vulnix/default.nix
+++ b/pkgs/tools/security/vulnix/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "vulnix";
-  version = "1.9.1";
+  version = "1.9.2";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "0pcg90j3g3lxrkbxlnjakrgcx5iwnhka03510zmcf0zcpwkrqakb";
+    sha256 = "06mi4a80g6nzvqxj51c7lc0q0dpdr603ly2r77ksf5m3k4glb6dm";
   };
 
   outputs = [ "out" "doc" "man" ];
diff --git a/pkgs/tools/system/facter/default.nix b/pkgs/tools/system/facter/default.nix
index ad90a52a5bdb..cc9b95d06c61 100644
--- a/pkgs/tools/system/facter/default.nix
+++ b/pkgs/tools/system/facter/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "facter";
-  version = "3.14.5";
+  version = "3.14.6";
 
   src = fetchFromGitHub {
-    sha256 = "0xzzhlsfw8yd3ac4kvr3za0rlkgfw28dzxzi5i1qbhzljivvipm5";
+    sha256 = "1zfff1mpdwnlnm8dmmlvysw2zdsnglgk5nvhhzx8zyk0zyz0nj54";
     rev = version;
     repo = pname;
     owner = "puppetlabs";
diff --git a/pkgs/tools/system/fakeroot/default.nix b/pkgs/tools/system/fakeroot/default.nix
index c31e7337dd59..934b74dd3846 100644
--- a/pkgs/tools/system/fakeroot/default.nix
+++ b/pkgs/tools/system/fakeroot/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://fakeroot.alioth.debian.org/;
+    homepage = https://salsa.debian.org/clint/fakeroot;
     description = "Give a fake root environment through LD_PRELOAD";
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
diff --git a/pkgs/tools/system/fio/default.nix b/pkgs/tools/system/fio/default.nix
index b6ad10ec6454..79b2769ab0d2 100644
--- a/pkgs/tools/system/fio/default.nix
+++ b/pkgs/tools/system/fio/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Flexible IO Tester - an IO benchmark tool";
-    homepage = "http://git.kernel.dk/?p=fio.git;a=summary;";
+    homepage = "https://git.kernel.dk/cgit/fio/";
     license = licenses.gpl2;
     platforms = platforms.unix;
   };
diff --git a/pkgs/tools/system/hardinfo/default.nix b/pkgs/tools/system/hardinfo/default.nix
index a2e342f85b74..6c5019847ff3 100644
--- a/pkgs/tools/system/hardinfo/default.nix
+++ b/pkgs/tools/system/hardinfo/default.nix
@@ -45,6 +45,6 @@ stdenv.mkDerivation rec {
     description = "Display information about your hardware and operating system";
     license = licenses.gpl2;
     maintainers = with maintainers; [ bjornfor ];
-    platforms = platforms.linux;
+    platforms = [ "x86_64-linux" "i686-linux" ]; # ARMv7 and AArch64 are unsupported
   };
 }
diff --git a/pkgs/tools/system/inxi/default.nix b/pkgs/tools/system/inxi/default.nix
index a896a57b0806..7866bece0661 100644
--- a/pkgs/tools/system/inxi/default.nix
+++ b/pkgs/tools/system/inxi/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "inxi";
-  version = "3.0.36-1";
+  version = "3.0.37-1";
 
   src = fetchFromGitHub {
     owner = "smxi";
     repo = "inxi";
     rev = version;
-    sha256 = "04134l323vwd0g2bffj11rnpw2jgs9la6aqrmv8vh7w9mq5nd57y";
+    sha256 = "15wvj9w601ci3bavd1hk5qlm8dfm7a7cjglczk29yir5yw2jww3f";
   };
 
   buildInputs = [ perl makeWrapper ];
diff --git a/pkgs/tools/system/java-service-wrapper/default.nix b/pkgs/tools/system/java-service-wrapper/default.nix
new file mode 100644
index 000000000000..19502e5a352f
--- /dev/null
+++ b/pkgs/tools/system/java-service-wrapper/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl
+, jdk
+, ant, cunit, ncurses
+}:
+
+stdenv.mkDerivation rec {
+  pname = "java-service-wrapper";
+  version = "3.5.41";
+
+  src = fetchurl {
+    url = "https://wrapper.tanukisoftware.com/download/${version}/wrapper_${version}_src.tar.gz";
+    sha256 = "0wvazc4y134brn99aa4rc9jdh1h2q3l7qhhvbcs6lhf4ym47sskm";
+  };
+
+  buildInputs = [ jdk ];
+  nativeBuildInputs = [ ant cunit ncurses ];
+
+  buildPhase = ''
+    export ANT_HOME=${ant}
+    export JAVA_HOME=${jdk}/lib/openjdk/jre/
+    export JAVA_TOOL_OPTIONS=-Djava.home=$JAVA_HOME
+    export CLASSPATH=${jdk}/lib/openjdk/lib/tools.jar
+
+    ${if stdenv.isi686 then "./build32.sh" else "./build64.sh"}
+  '';
+
+  installPhase = ''
+    mkdir -p $out/{bin,lib}
+    cp bin/wrapper $out/bin/wrapper
+    cp lib/wrapper.jar $out/lib/wrapper.jar
+    cp lib/libwrapper.so $out/lib/libwrapper.so
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Enables a Java Application to be run as a Windows Service or Unix Daemon";
+    homepage = "https://wrapper.tanukisoftware.com/";
+    license = licenses.gpl2;
+    platforms = [ "x86_64-linux" "i686-linux" ];
+    maintainers = [ maintainers.suhr ];
+  };
+}
diff --git a/pkgs/tools/system/logcheck/default.nix b/pkgs/tools/system/logcheck/default.nix
index 064071a5ca45..d51df4f408a4 100644
--- a/pkgs/tools/system/logcheck/default.nix
+++ b/pkgs/tools/system/logcheck/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
       Logcheck helps spot problems and security violations in your logfiles automatically and will send the results to you by e-mail.
       Logcheck was part of the Abacus Project of security tools, but this version has been rewritten.
     '';
-    homepage = http://logcheck.alioth.debian.org/;
+    homepage = https://salsa.debian.org/debian/logcheck;
     license = licenses.gpl2;
     maintainers = [ maintainers.bluescreen303 ];
   };
diff --git a/pkgs/tools/system/osquery/default.nix b/pkgs/tools/system/osquery/default.nix
deleted file mode 100644
index c34b53c1e62d..000000000000
--- a/pkgs/tools/system/osquery/default.nix
+++ /dev/null
@@ -1,149 +0,0 @@
-{ stdenv, lib, fetchFromGitHub, pkgconfig, cmake, python
-, udev, audit, aws-sdk-cpp, cryptsetup, lvm2, libgcrypt, libarchive
-, libgpgerror, libuuid, iptables, dpkg, lzma, bzip2, rpm
-, beecrypt, augeas, libxml2, sleuthkit, yara, lldpd, gflags
-, thrift, boost, rocksdb_lite, glog, gbenchmark, snappy
-, openssl, file, doxygen
-, gtest, fpm, zstd, rdkafka, rapidjson, fetchgit, fetchurl, libelfin
-, smartmontools, which, git, cscope, ctags, ssdeep
-}:
-
-let
-  overrides = {
-    # use older `lvm2` source for osquery, the 2.03 sourcetree
-    # will break osquery due to the lacking header `lvm2app.h`.
-    #
-    # https://github.com/NixOS/nixpkgs/pull/51756#issuecomment-446035295
-    lvm2 = lvm2.overrideAttrs (old: rec {
-      name = "lvm2-${version}";
-      version = "2.02.183";
-      src = fetchgit {
-        url = "git://sourceware.org/git/lvm2.git";
-        rev = "v${version}";
-        sha256 = "1ny3srcsxd6kj59zq1cman5myj8kzw010wbyc6mrpk4kp823r5nx";
-      };
-    });
-
-    # use smartmontools fork to programatically retrieve SMART information.
-    # https://github.com/facebook/osquery/pull/4133
-    smartmontools = smartmontools.overrideAttrs (old: rec {
-      name = "smartmontools-${version}";
-      version = "0.3.1";
-      src = fetchFromGitHub {
-        owner = "allanliu";
-        repo = "smartmontools";
-        rev = "v${version}";
-        sha256 = "1i72fk2ranrky02h7nh9l3va4kjzj0lx1gr477zkxd44wf3w0pjf";
-      };
-
-      # Apple build fix doesn't apply here and isn't needed as we
-      # only support `osquery` on Linux.
-      patches = [];
-    });
-
-    # dpkg 1.19.2 dropped api in `<dpkg/dpkg-db.h>` which breaks compilation.
-    dpkg = dpkg.overrideAttrs (old: rec {
-      name = "dpkg-${version}";
-      version = "1.19.0.5";
-      src = fetchurl {
-        url = "mirror://debian/pool/main/d/dpkg/dpkg_${version}.tar.xz";
-        sha256 = "1dc5kp3fqy1k66fly6jfxkkg7w6d0jy8szddpfyc2xvzga94d041";
-      };
-    });
-
-    # filter out static linking configuration to avoid that the library will
-    # be linked both statically and dynamically.
-    gflags = gflags.overrideAttrs (old: {
-      cmakeFlags = stdenv.lib.filter (f: (builtins.match ".*STATIC.*" f) == null) old.cmakeFlags;
-    });
-  };
-in
-
-stdenv.mkDerivation rec {
-  pname = "osquery";
-  version = "3.3.2";
-
-  # this is what `osquery --help` will show as the version.
-  OSQUERY_BUILD_VERSION = version;
-  OSQUERY_PLATFORM = "NixOS;";
-
-  src = fetchFromGitHub {
-    owner = "facebook";
-    repo = pname;
-    rev = version;
-    sha256 = "0nrwmzmbziacs3y0nljyc73bibr3w68myjpfwkicg9zgkq4qihij";
-  };
-
-  patches = [ ./0001-Fix-CMake-configuration-for-Nix.patch ];
-
-  NIX_CFLAGS_COMPILE = [
-    "-I${libxml2.dev}/include/libxml2"
-  ];
-
-  nativeBuildInputs = [ python which git cscope ctags cmake pkgconfig doxygen fpm ]
-    ++ (with python.pkgs; [ jinja2 ]);
-
-  buildInputs = [
-    udev
-    audit
-    (aws-sdk-cpp.override {
-      apis = [ "firehose" "kinesis" "sts" "ec2" ];
-      customMemoryManagement = false;
-    })
-    overrides.lvm2
-    libgcrypt
-    libarchive
-    libgpgerror
-    libuuid
-    iptables
-    overrides.dpkg
-    lzma
-    bzip2
-    rpm
-    beecrypt
-    augeas
-    libxml2
-    sleuthkit
-    yara
-    lldpd
-    overrides.gflags
-    thrift
-    boost
-    glog
-    gbenchmark
-    snappy
-    openssl
-    file
-    cryptsetup
-    gtest
-    zstd
-    rdkafka
-    rapidjson
-    rocksdb_lite
-    libelfin
-    ssdeep
-    overrides.smartmontools
-  ];
-
-  cmakeFlags = [ "-DSKIP_TESTS=1" ];
-
-  preConfigure = ''
-    cp -r ${fetchFromGitHub {
-      owner = "osquery";
-      repo = "third-party";
-      rev = "32e01462fbea75d3b1904693f937dfd62eaced15";
-      sha256 = "0va24gmgk43a1lyjs63q9qrhvpv8gmqjzpjr5595vhr16idv8wyf";
-    }}/* third-party
-
-    chmod +w -R third-party
-  '';
-
-  meta = with lib; {
-    description = "SQL powered operating system instrumentation, monitoring, and analytics";
-    homepage = https://osquery.io/;
-    license = licenses.bsd3;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ cstrahan ma27 ];
-    broken = true;
-  };
-}
diff --git a/pkgs/tools/system/proot/default.nix b/pkgs/tools/system/proot/default.nix
index 0764844dbfc9..5ff8ff95f8ae 100644
--- a/pkgs/tools/system/proot/default.nix
+++ b/pkgs/tools/system/proot/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://proot-me.github.io;
+    homepage = https://proot-me.github.io;
     description = "User-space implementation of chroot, mount --bind and binfmt_misc";
     platforms = platforms.linux;
     license = licenses.gpl2;
diff --git a/pkgs/tools/system/rsyslog/default.nix b/pkgs/tools/system/rsyslog/default.nix
index 5617ed9dc934..96f0a754f61b 100644
--- a/pkgs/tools/system/rsyslog/default.nix
+++ b/pkgs/tools/system/rsyslog/default.nix
@@ -12,11 +12,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "rsyslog";
-  version = "8.1910.0";
+  version = "8.1911.0";
 
   src = fetchurl {
     url = "https://www.rsyslog.com/files/download/rsyslog/${pname}-${version}.tar.gz";
-    sha256 = "14qczsj12spx0m3dz1pkxnacwi5njr0syamnmi1rg8ri5xlyw682";
+    sha256 = "01713vwz3w5fx9b97286h1rx9hxhjsdah96nyhh75bb23impgx71";
   };
 
   #patches = [ ./fix-gnutls-detection.patch ];
diff --git a/pkgs/tools/system/stress-ng/default.nix b/pkgs/tools/system/stress-ng/default.nix
index b15c8623fa59..c98634e11994 100644
--- a/pkgs/tools/system/stress-ng/default.nix
+++ b/pkgs/tools/system/stress-ng/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "stress-ng";
-  version = "0.10.08";
+  version = "0.10.11";
 
   src = fetchurl {
     url = "https://kernel.ubuntu.com/~cking/tarballs/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "1kkmznn0y5wxi7x9nlhzyfy933bv66113in4rf0raw6brymympaa";
+    sha256 = "16z45fmvncpa0bv91dpwarqfm9p7aiqkmlcpmv2y23rh6sikhkdq";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/text/ansifilter/default.nix b/pkgs/tools/text/ansifilter/default.nix
index b9a4f6782076..7437d2765a9a 100644
--- a/pkgs/tools/text/ansifilter/default.nix
+++ b/pkgs/tools/text/ansifilter/default.nix
@@ -2,18 +2,20 @@
 
 stdenv.mkDerivation rec {
   pname = "ansifilter";
-  version = "2.14";
+  version = "2.15";
 
   src = fetchurl {
     url = "http://www.andre-simon.de/zip/ansifilter-${version}.tar.bz2";
-    sha256 = "1bwp8zmxykfxr3mz1fgvnwqbyix4qpjlha3y479jdchq4y8y7vp2";
-
+    sha256 = "07x1lha6xkfn5sr2f45ynk1fxmzc3qr4axxm0hip4adqygx2zsky";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ boost lua ];
 
-  makeFlags = "PREFIX=$(out) conf_dir=/etc/ansifilter";
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
+    "conf_dir=/etc/ansifilter"
+  ];
 
   meta = with stdenv.lib; {
     description = "Tool to convert ANSI to other formats";
@@ -21,10 +23,9 @@ stdenv.mkDerivation rec {
       Tool to remove ANSI or convert them to another format 
       (HTML, TeX, LaTeX, RTF, Pango or BBCode)
     '';
-
-    license = licenses.gpl1;
+    homepage = "http://www.andre-simon.de/doku/ansifilter/en/ansifilter.php";
+    license = licenses.gpl3;
     maintainers = [ maintainers.Adjective-Object ];
     platforms = platforms.linux;
   };
 }
-
diff --git a/pkgs/tools/text/boxes/default.nix b/pkgs/tools/text/boxes/default.nix
new file mode 100644
index 000000000000..8325c6c08f35
--- /dev/null
+++ b/pkgs/tools/text/boxes/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchFromGitHub, bison, flex }:
+
+stdenv.mkDerivation rec {
+  pname = "boxes";
+  version = "1.3";
+
+  src = fetchFromGitHub {
+    owner = "ascii-boxes";
+    repo = "boxes";
+    rev = "v${version}";
+    sha256 = "0b12rsynrmkldlwcb62drk33kk0aqwbj10mq5y5x3hjf626gjwsi";
+  };
+
+  # Building instructions:
+  # https://boxes.thomasjensen.com/build.html#building-on-linux--unix
+  nativeBuildInputs = [ bison flex ];
+
+  dontConfigure = true;
+
+  # Makefile references a system wide config file in '/usr/share'. Instead, we
+  # move it within the store by default.
+  preBuild = ''
+    substituteInPlace Makefile \
+      --replace "GLOBALCONF = /usr/share/boxes" \
+                "GLOBALCONF=${placeholder "out"}/share/boxes/boxes-config"
+  '';
+
+  makeFlags = stdenv.lib.optionals stdenv.isDarwin [ "CC=cc" ];
+
+  installPhase = ''
+    install -Dm755 -t $out/bin src/boxes
+    install -Dm644 -t $out/share/boxes boxes-config
+    install -Dm644 -t $out/share/man/man1 doc/boxes.1
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Command line ASCII boxes unlimited!";
+    longDescription = ''
+      Boxes is a command line filter program that draws ASCII art boxes around
+      your input text.
+    '';
+    homepage = https://boxes.thomasjensen.com;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ waiting-for-dev ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/text/fanficfare/default.nix b/pkgs/tools/text/fanficfare/default.nix
index b0d66dfd93ed..b01317a532ff 100644
--- a/pkgs/tools/text/fanficfare/default.nix
+++ b/pkgs/tools/text/fanficfare/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "FanFicFare";
-  version = "3.12.0";
+  version = "3.13.0";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "1hzb668fga9y422670iw22ggfn8a9jp2jdxs2xhzbqxnfrw08wq0";
+    sha256 = "01mrqqz2rv6abdsk80nxizsm5h68m12bqkdsjyqfzyxl0kn7zs0v";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/tools/text/grip-search/default.nix b/pkgs/tools/text/grip-search/default.nix
new file mode 100644
index 000000000000..921691a40afd
--- /dev/null
+++ b/pkgs/tools/text/grip-search/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, boost, pkgconfig, cmake, catch2 }:
+
+stdenv.mkDerivation rec {
+  pname = "grip-search";
+  version = "0.8";
+
+  src = fetchFromGitHub {
+    owner = "sc0ty";
+    repo = "grip";
+    rev = "v${version}";
+    sha256 = "0bkqarylgzhis6fpj48qbifcd6a26cgnq8784hgnm707rq9kb0rx";
+  };
+
+  nativeBuildInputs = [ pkgconfig cmake catch2 ];
+
+  doCheck = true;
+
+  buildInputs = [ boost ];
+
+  patchPhase = ''
+    substituteInPlace src/general/config.h --replace "CUSTOM-BUILD" "${version}"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Fast, indexed regexp search over large file trees";
+    homepage = "https://github.com/sc0ty/grip";
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ tex ];
+  };
+}
diff --git a/pkgs/tools/text/highlight/default.nix b/pkgs/tools/text/highlight/default.nix
index eb86bc79d5c1..13e8e48a921d 100644
--- a/pkgs/tools/text/highlight/default.nix
+++ b/pkgs/tools/text/highlight/default.nix
@@ -4,13 +4,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "highlight";
-  version = "3.53";
+  version = "3.54";
 
   src = fetchFromGitLab {
     owner = "saalen";
     repo = "highlight";
     rev = "v${version}";
-    sha256 = "11szws4q6qyffq2fsvh1vksh1d0kcwg6smyyba9yr61hzx6zmzgr";
+    sha256 = "1144qv3c02hd3qrnms9cxfprdmkvz06vy4zjq500wg4iz7r8654m";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/text/kdiff3/default.nix b/pkgs/tools/text/kdiff3/default.nix
index aa53aeb42061..d55ed89e633d 100644
--- a/pkgs/tools/text/kdiff3/default.nix
+++ b/pkgs/tools/text/kdiff3/default.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, fetchurl,
   extra-cmake-modules, kdoctools, wrapGAppsHook,
-  kcrash, kconfig, kinit, kparts
+  kcrash, kconfig, kinit, kparts, kiconthemes
 }:
 
 mkDerivation rec {
@@ -15,7 +15,7 @@ mkDerivation rec {
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook ];
 
-  propagatedBuildInputs = [ kconfig kcrash kinit kparts ];
+  propagatedBuildInputs = [ kconfig kcrash kinit kparts kiconthemes ];
 
   meta = with lib; {
     homepage = http://kdiff3.sourceforge.net/;
diff --git a/pkgs/tools/text/mdbook/default.nix b/pkgs/tools/text/mdbook/default.nix
index 3123d31a7b54..b21523ce863a 100644
--- a/pkgs/tools/text/mdbook/default.nix
+++ b/pkgs/tools/text/mdbook/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook";
-  version = "0.3.1";
+  version = "0.3.5";
 
   src = fetchFromGitHub {
     owner = "rust-lang-nursery";
     repo = "mdBook";
     rev = "v${version}";
-    sha256 = "0py69267jbs6b7zw191hcs011cm1v58jz8mglqx3ajkffdfl3ghw";
+    sha256 = "0gcrv54iswphzxxkmak1c7pmmpakiri6jk50j4bxrsplwjr76f7n";
   };
 
-  cargoSha256 = "0qwhc42a86jpvjcaysmfcw8kmwa150lmz01flmlg74g6qnimff5m";
+  cargoSha256 = "00grlxjz61vxinr18f28ga6610yjxcq48lr75wmyc5wq317j12fn";
 
   buildInputs = stdenv.lib.optionals stdenv.isDarwin [ CoreServices ];
 
diff --git a/pkgs/tools/text/papertrail/default.nix b/pkgs/tools/text/papertrail/default.nix
index be85511a92b8..d20727f725a2 100644
--- a/pkgs/tools/text/papertrail/default.nix
+++ b/pkgs/tools/text/papertrail/default.nix
@@ -22,7 +22,7 @@ in stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "Command-line client for Papertrail log management service";
-    homepage    = http://github.com/papertrail/papertrail-cli/;
+    homepage    = https://github.com/papertrail/papertrail-cli/;
     license     = licenses.mit;
     maintainers = with maintainers; [ nicknovitski ];
     platforms   = ruby.meta.platforms;
diff --git a/pkgs/tools/text/par/default.nix b/pkgs/tools/text/par/default.nix
index 5f9ca5212d30..88325c38731d 100644
--- a/pkgs/tools/text/par/default.nix
+++ b/pkgs/tools/text/par/default.nix
@@ -1,7 +1,8 @@
 {stdenv, fetchurl, fetchpatch}:
 
 stdenv.mkDerivation {
-  name = "par-1.52";
+  pname = "par";
+  version = "1.52";
 
   src = fetchurl {
     url = http://www.nicemice.net/par/Par152.tar.gz;
diff --git a/pkgs/tools/text/smu/default.nix b/pkgs/tools/text/smu/default.nix
new file mode 100644
index 000000000000..a80a6d3d799b
--- /dev/null
+++ b/pkgs/tools/text/smu/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, lib, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "smu";
+  version = "1.5";
+
+  src = fetchFromGitHub {
+    owner = "Gottox";
+    repo = "smu";
+    rev = "v${version}";
+    sha256 = "1jm7lhnzjx4q7gcwlkvsbffcy0zppywyh50d71ami6dnq182vvcc";
+  };
+
+  # _FORTIFY_SOURCE requires compiling with optimization (-O)
+  NIX_CFLAGS_COMPILE = "-O";
+
+  makeFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
+
+  meta = with lib; {
+    description = "simple markup - markdown like syntax";
+    homepage = "https://github.com/Gottox/smu";
+    license = licenses.mit;
+    maintainers = with maintainers; [ geistesk ];
+  };
+}
+
diff --git a/pkgs/tools/typesetting/tex/auctex/default.nix b/pkgs/tools/typesetting/tex/auctex/default.nix
index 2513d48796e1..787f19d91f4a 100644
--- a/pkgs/tools/typesetting/tex/auctex/default.nix
+++ b/pkgs/tools/typesetting/tex/auctex/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, emacs, texlive, ghostscript }:
  
 let auctex = stdenv.mkDerivation ( rec {
-  version = "12.1";
+  version = "12.2";
 
   # Make this a valid tex(live-new) package;
   # the pkgs attribute is provided with a hack below.
@@ -13,7 +13,7 @@ let auctex = stdenv.mkDerivation ( rec {
 
   src = fetchurl {
     url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "1d2x59jw42hr81fma195bniqyhvp5ig5q0xmywbkcy59f16wlp69";
+    sha256 = "14vqs08mkfzc91jg7kabs9sdn74vywj8a29gyrfa3ivnm9c7jrsr";
   };
 
   buildInputs = [ emacs texlive.combined.scheme-basic ghostscript ];
diff --git a/pkgs/tools/typesetting/tex/pplatex/default.nix b/pkgs/tools/typesetting/tex/pplatex/default.nix
new file mode 100644
index 000000000000..01777f3dd428
--- /dev/null
+++ b/pkgs/tools/typesetting/tex/pplatex/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, pcre }:
+
+stdenv.mkDerivation {
+  pname = "pplatex";
+  version = "unstable-2015-09-14";
+
+  src = fetchFromGitHub {
+    owner = "stefanhepp";
+    repo = "pplatex";
+    rev = "5cec891ad6aec0115081cdd114ae1cc4f1ed7c06";
+    sha256 = "0wrkkbz6b6x91650nm8gccz7xghlp7b1i31fxwalz9xw3py9xygb";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  buildInputs = [ pcre ];
+
+  installPhase = ''
+    runHook preInstall
+    install -Dm555 src/pplatex "$out"/bin/pplatex
+    runHook postInstall
+  '';
+
+  meta = with stdenv.lib; {
+    description =
+      "A tool to reformat the output of latex and friends into readable messages";
+    homepage = "https://github.com/stefanhepp/pplatex";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.srgom ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/virtualization/amazon-ecs-cli/default.nix b/pkgs/tools/virtualization/amazon-ecs-cli/default.nix
index 07fcf0eca8b5..7745a3e7cb56 100644
--- a/pkgs/tools/virtualization/amazon-ecs-cli/default.nix
+++ b/pkgs/tools/virtualization/amazon-ecs-cli/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "amazon-ecs-cli";
-  version = "1.17.0";
+  version = "1.18.0";
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/amazon-ecs-cli/ecs-cli-linux-amd64-v${version}";
-    sha256 = "0dqnxzfdic3v10rr8k83zfbv7qc3yanajd81a0amzs778sqp7x9f";
+    sha256 = "1w4n7rkcxpdzg7450s22a80a27g845n61k2bdfhq4c1md7604nyz";
   };
 
   dontUnpack = true;
diff --git a/pkgs/tools/virtualization/cri-tools/default.nix b/pkgs/tools/virtualization/cri-tools/default.nix
index e8e6a76a7a26..f8df49240a5e 100644
--- a/pkgs/tools/virtualization/cri-tools/default.nix
+++ b/pkgs/tools/virtualization/cri-tools/default.nix
@@ -2,19 +2,19 @@
 
 buildGoPackage rec {
   pname = "cri-tools";
-  version = "1.15.0";
+  version = "1.16.1";
   src = fetchFromGitHub {
     owner = "kubernetes-sigs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "03fhddncwqrdyxz43m3bak9dlrsqzibqqja3p94nic4ydk2hry62";
+    sha256 = "1kpbs9dxwhlmqdqrmsqhp03qs4s7dl8b86lkmg066sicdaw433fn";
   };
 
   goPackagePath = "github.com/kubernetes-sigs/cri-tools";
 
   buildPhase = ''
     pushd go/src/${goPackagePath}
-    make
+    make all install BINDIR=$bin/bin
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/virtualization/ec2-utils/default.nix b/pkgs/tools/virtualization/ec2-utils/default.nix
index ea088b486fc6..1605bcfa43b6 100644
--- a/pkgs/tools/virtualization/ec2-utils/default.nix
+++ b/pkgs/tools/virtualization/ec2-utils/default.nix
@@ -40,8 +40,8 @@ stdenv.mkDerivation {
 
   meta = {
     description = "A set of tools for running in EC2";
-    homepage = https://aws.amazon.com/amazon-linux-ami/;
-    license = lib.licenses.apsl20;
+    homepage = "https://aws.amazon.com/amazon-linux-ami/";
+    license = lib.licenses.asl20;
     maintainers = with lib.maintainers; [ thefloweringash ];
   };
 }
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 262304cdbf0c..cc92b56da570 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -47,6 +47,7 @@ mapAliases ({
   at_spi2_core = at-spi2-core; # added 2018-02-25
   bar-xft = lemonbar-xft;  # added 2015-01-16
   bashCompletion = bash-completion; # Added 2016-09-28
+  beegfs = throw "beegfs has been removed."; # added 2019-11-24
   bridge_utils = bridge-utils;  # added 2015-02-20
   bro = zeek; # added 2019-09-29
   btrfsProgs = btrfs-progs; # added 2016-01-03
@@ -68,6 +69,7 @@ mapAliases ({
   conntrack_tools = conntrack-tools; # added 2018-05
   cool-old-term = cool-retro-term; # added 2015-01-31
   corebird = throw "deprecated 2019-10-02: See https://www.patreon.com/posts/corebirds-future-18921328. Please use Cawbird as replacement.";
+  coredumper = throw "coredumper has been removed: Abandoned by upstream."; # added 2019-11-16
   cpp-gsl = microsoft_gsl; # added 2019-05-24
   cupsBjnp = cups-bjnp; # added 2016-01-02
   cups_filters = cups-filters; # added 2016-08
@@ -113,8 +115,10 @@ mapAliases ({
   '';
   font-droid = throw "font-droid has been deprecated by noto-fonts"; # 2019-04-12
   foomatic_filters = foomatic-filters;  # 2016-08
+  fprintd-thinkpad = throw "removed from repository 2019-12-01: Install it manually with an override.";
   fuse_exfat = exfat;                   # 2015-09-11
   fuseki = apache-jena-fuseki; # added 2018-04-25
+  fusesmb = throw "fusesmb is abandoned by upstream"; # added 2019-10-15
   gccApple = throw "gccApple is no longer supported"; # added 2018-04-25
   gdb-multitarget = gdb; # added 2017-11-13
   gdk_pixbuf = gdk-pixbuf; # added 2019-05-22
@@ -190,6 +194,7 @@ mapAliases ({
   liberation_ttf_v1_from_source = liberation_ttf_v1; # added 2018-12-12
   liberation_ttf_v2_from_source = liberation_ttf_v2; # added 2018-12-12
   liberationsansnarrow = liberation-sans-narrow; # added 2018-12-12
+  libfprint-thinkpad = throw "removed from repository 2019-12-01: Install it manually with an override.";
   libgnome_keyring = libgnome-keyring; # added 2018-02-25
   libgnome_keyring3 = libgnome-keyring3; # added 2018-02-25
   libgumbo = gumbo; # added 2018-01-21
@@ -259,6 +264,7 @@ mapAliases ({
   openjpeg_2_1 = openjpeg_2; # added 2018-10-25
   opensans-ttf = open-sans; # added 2018-12-04
   openssh_with_kerberos = openssh; # added 2018-01-28
+  osquery = throw "osquery has been removed."; # added 2019-11-24
   owncloudclient = owncloud-client;  # added 2016-08
   p11_kit = p11-kit; # added 2018-02-25
   parquet-cpp = arrow-cpp; # added 2018-09-08
@@ -308,6 +314,9 @@ mapAliases ({
   procps-ng = procps; # added 2018-06-08
   pyo3-pack = maturin;
   pulseaudioLight = pulseaudio; # added 2018-04-25
+  phonon-backend-gstreamer = throw "Please use libsForQt5.phonon-backend-gstreamer, as Qt4 support in this package has been removed."; # added 2019-11-22
+  phonon-backend-vlc = throw "Please use libsForQt5.phonon-backend-vlc, as Qt4 support in this package has been removed."; # added 2019-11-22
+  phonon = throw "Please use libsForQt5.phonon, as Qt4 support in this package has been removed."; # added 2019-11-22
   qca-qt5 = libsForQt5.qca-qt5;  # added 2015-12-19
   quake3game = ioquake3; # added 2016-01-14
   qwt6 = libsForQt5.qwt;  # added 2015-12-19
@@ -333,6 +342,8 @@ mapAliases ({
   s6PortableUtils = s6-portable-utils; # added 2018-07-23
   sagemath = sage; # added 2018-10-27
   sam = deadpixi-sam; # added 2018-04-25
+  samba3 = throw "Samba 3 is discontinued, please switch to samba4"; # added 2019-10-15
+  samba3_light = throw "Samba 3 is discontinued, please switch to samba4"; # added 2019-10-15
   sambaMaster = throw "removed 2019-09-13: outdated and no longer needed";
   samsungUnifiedLinuxDriver = samsung-unified-linux-driver; # added 2016-01-25
   saneBackends = sane-backends; # added 2016-01-02
@@ -342,6 +353,7 @@ mapAliases ({
   scim = sc-im; # added 2016-01-22
   scollector = bosun; # added 2018-04-25
   sdlmame = mame; # added 2019-10-30
+  seg3d = throw "seg3d has been removed from nixpkgs (2019-11-10)";
   shared_mime_info = shared-mime-info; # added 2018-02-25
   skrooge2 = skrooge; # added 2017-02-18
   skype = skypeforlinux; # added 2017-07-27
@@ -351,6 +363,8 @@ mapAliases ({
   slurm-llnl-full = slurm-full; # renamed July 2017
   slurm-full = slurm; # added 2018-05-1
   smbclient = samba; # added 2018-04-25
+  slim = throw "slim has been removed. Please use a different display-manager"; # added 2019-11-11
+  slimThemes = throw "slimThemes has been removed because slim has been also"; # added 2019-11-11
   spaceOrbit = space-orbit; # addewd 2016-05-23
   speech_tools = speech-tools; # added 2018-04-25
   speedtest_cli = speedtest-cli;  # added 2015-02-17
@@ -415,6 +429,8 @@ mapAliases ({
   wireguard = wireguard-tools; # added 2018-05-19
   morituri = whipper; # added 2018-09-13
   xfceUnstable = xfce4-14; # added 2019-09-17
+  xfce4-14 = xfce;
+  xfce4-12 = xfce;
   x11 = xlibsWrapper; # added 2015-09
   xbmc = kodi; # added 2018-04-25
   xbmcPlain = kodiPlain; # added 2018-04-25
@@ -425,6 +441,7 @@ mapAliases ({
   xpraGtk3 = xpra; # added 2018-09-13
   youtubeDL = youtube-dl;  # added 2014-10-26
   zdfmediathk = mediathekview; # added 2019-01-19
+  gnome_user_docs = gnome-user-docs; # added 2019-11-20
 
   # TODO(ekleog): add ‘wasm’ alias to ‘ocamlPackages.wasm’ after 19.03
   # branch-off
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index d04fcbb89780..76fd9bb8c845 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -456,7 +456,7 @@ in
   findXMLCatalogs = makeSetupHook { } ../build-support/setup-hooks/find-xml-catalogs.sh;
 
   wrapGAppsHook = makeSetupHook {
-    deps = lib.optional (!stdenv.isDarwin) gnome3.dconf.lib ++ [ gtk3 librsvg makeWrapper ];
+    deps = lib.optional (!stdenv.isDarwin) dconf.lib ++ [ gtk3 librsvg makeWrapper ];
   } ../build-support/setup-hooks/wrap-gapps-hook.sh;
 
   separateDebugInfo = makeSetupHook { } ../build-support/setup-hooks/separate-debug-info.sh;
@@ -559,6 +559,8 @@ in
 
   airfield = callPackage ../tools/networking/airfield { };
 
+  apache-airflow = with python3.pkgs; toPythonApplication apache-airflow;
+
   airsonic = callPackage ../servers/misc/airsonic { };
 
   airspy = callPackage ../applications/radio/airspy { };
@@ -662,10 +664,12 @@ in
   asciiquarium = callPackage ../applications/misc/asciiquarium {};
 
   asymptote = callPackage ../tools/graphics/asymptote {
-    texLive = texlive.combine { inherit (texlive) scheme-small epsf cm-super; };
+    texLive = texlive.combine { inherit (texlive) scheme-small epsf cm-super texinfo; };
     gsl = gsl_1;
   };
 
+  async = callPackage ../development/tools/async {};
+
   atheme = callPackage ../servers/irc/atheme { };
 
   atinout = callPackage ../tools/networking/atinout { };
@@ -706,6 +710,8 @@ in
 
   iamy = callPackage ../tools/admin/iamy { };
 
+  azure-cli = callPackage ../tools/admin/azure-cli { python = python3; };
+
   azure-storage-azcopy = callPackage ../development/tools/azcopy { };
 
   azure-vhd-utils  = callPackage ../tools/misc/azure-vhd-utils { };
@@ -718,6 +724,8 @@ in
 
   brewtarget = libsForQt5.callPackage ../applications/misc/brewtarget { } ;
 
+  boxes = callPackage ../tools/text/boxes { };
+
   ec2_api_tools = callPackage ../tools/virtualization/ec2-api-tools { };
 
   ec2_ami_tools = callPackage ../tools/virtualization/ec2-ami-tools { };
@@ -853,6 +861,8 @@ in
 
   enpass = callPackage ../tools/security/enpass { };
 
+  essentia-extractor = callPackage ../tools/audio/essentia-extractor { };
+
   esh = callPackage ../tools/text/esh { };
 
   ezstream = callPackage ../tools/audio/ezstream { };
@@ -1003,12 +1013,6 @@ in
     novacomd = callPackage ../development/mobile/webos/novacomd.nix { };
   };
 
-  arc-kde-theme = callPackage ../misc/themes/arc-kde { };
-
-  adapta-gtk-theme = callPackage ../misc/themes/adapta { };
-
-  adapta-kde-theme = callPackage ../misc/themes/adapta-kde { };
-
   aria2 = callPackage ../tools/networking/aria2 {
     inherit (darwin.apple_sdk.frameworks) Security;
     inherit (pythonPackages) sphinx;
@@ -1133,6 +1137,8 @@ in
 
   bindfs = callPackage ../tools/filesystems/bindfs { };
 
+  birdtray = libsForQt5.callPackage ../applications/misc/birdtray { };
+
   bitbucket-cli = python2Packages.bitbucket-cli;
 
   blink = libsForQt5.callPackage ../applications/networking/instant-messengers/blink { };
@@ -1245,6 +1251,8 @@ in
     asciidoc = asciidoc-full;
   };
 
+  buildpack = callPackage ../development/tools/buildpack { };
+
   buildtorrent = callPackage ../tools/misc/buildtorrent { };
 
   bustle = haskellPackages.bustle;
@@ -1504,6 +1512,8 @@ in
 
   datovka = libsForQt5.callPackage ../applications/networking/datovka { };
 
+  dconf = callPackage ../development/libraries/dconf { };
+
   ddar = callPackage ../tools/backup/ddar { };
 
   ddate = callPackage ../tools/misc/ddate { };
@@ -1824,7 +1834,7 @@ in
 
   interlock = callPackage ../servers/interlock {};
 
-  jellyfin = callPackage ../servers/jellyfin { };
+  jellyfin = callPackage ../servers/jellyfin { ffmpeg = ffmpeg_4; };
 
   jotta-cli = callPackage ../applications/misc/jotta-cli { };
 
@@ -2152,8 +2162,6 @@ in
 
   beanstalkd = callPackage ../servers/beanstalkd { };
 
-  beegfs = callPackage ../os-specific/linux/beegfs { };
-
   beets = callPackage ../tools/audio/beets {
     pythonPackages = python3Packages;
   };
@@ -2348,10 +2356,6 @@ in
 
   codimd = callPackage ../servers/web-apps/codimd {
     nodejs = nodejs-10_x;
-    yarn2nix = yarn2nix-moretea.override {
-      nodejs = nodejs-10_x;
-      yarn = yarn.override { nodejs = nodejs-10_x; };
-    };
   };
 
   colord = callPackage ../tools/misc/colord { };
@@ -2436,9 +2440,7 @@ in
 
   libkkc = callPackage ../tools/inputmethods/libkkc { };
 
-  ibus = callPackage ../tools/inputmethods/ibus {
-    inherit (gnome3) dconf;
-  };
+  ibus = callPackage ../tools/inputmethods/ibus { };
 
   ibus-qt = callPackage ../tools/inputmethods/ibus/ibus-qt.nix { };
 
@@ -2459,9 +2461,7 @@ in
       protobuf = pkgs.protobuf.overrideDerivation (oldAttrs: { stdenv = clangStdenv; });
     };
 
-    table = callPackage ../tools/inputmethods/ibus-engines/ibus-table {
-      inherit (gnome3) dconf;
-    };
+    table = callPackage ../tools/inputmethods/ibus-engines/ibus-table { };
 
     table-chinese = callPackage ../tools/inputmethods/ibus-engines/ibus-table-chinese {
       ibus-table = ibus-engines.table;
@@ -2480,9 +2480,7 @@ in
     };
   };
 
-  ibus-with-plugins = callPackage ../tools/inputmethods/ibus/wrapper.nix {
-    inherit (gnome3) dconf;
-  };
+  ibus-with-plugins = callPackage ../tools/inputmethods/ibus/wrapper.nix { };
 
   interception-tools = callPackage ../tools/inputmethods/interception-tools { };
   interception-tools-plugins = {
@@ -2563,7 +2561,8 @@ in
 
   cron = callPackage ../tools/system/cron { };
 
-  inherit (callPackages ../development/compilers/cudatoolkit { })
+  cudaPackages = callPackages ../development/compilers/cudatoolkit { };
+  inherit (cudaPackages)
     cudatoolkit_6
     cudatoolkit_6_5
     cudatoolkit_7
@@ -2579,7 +2578,8 @@ in
 
   cudatoolkit = cudatoolkit_10;
 
-  inherit (callPackages ../development/libraries/science/math/cudnn { })
+  cudnnPackages = callPackages ../development/libraries/science/math/cudnn { };
+  inherit (cudnnPackages)
     cudnn_cudatoolkit_7
     cudnn_cudatoolkit_7_5
     cudnn6_cudatoolkit_8
@@ -2708,6 +2708,8 @@ in
 
   dnsmasq = callPackage ../tools/networking/dnsmasq { };
 
+  dnsproxy = callPackage ../tools/networking/dnsproxy { };
+
   dnsperf = callPackage ../tools/networking/dnsperf { };
 
   dnsrecon = callPackage ../tools/security/dnsrecon { };
@@ -3004,18 +3006,9 @@ in
     elasticsearch = elasticsearch7-oss;
   };
 
-  elasticsearch-curator = with (python3.override {
-    packageOverrides = self: super: {
-      click = super.click.overridePythonAttrs (oldAttrs: rec {
-        version = "6.7";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b";
-        };
-      });
-      pyyaml = super.pyyaml_3;
-    };
-  }).pkgs; toPythonApplication elasticsearch-curator;
+  elasticsearch-curator = callPackage ../tools/admin/elasticsearch-curator {
+    python = python3;
+  };
 
   embree2 = callPackage ../development/libraries/embree/2.x.nix { };
 
@@ -3027,9 +3020,7 @@ in
 
   endlessh = callPackage ../servers/endlessh { };
 
-  cryfs = callPackage ../tools/filesystems/cryfs {
-    spdlog = spdlog_0;
-  };
+  cryfs = callPackage ../tools/filesystems/cryfs { };
 
   encfs = callPackage ../tools/filesystems/encfs {
     tinyxml2 = tinyxml-2;
@@ -3037,6 +3028,8 @@ in
 
   enscript = callPackage ../tools/text/enscript { };
 
+  ensemble-chorus = callPackage ../applications/audio/ensemble-chorus { };
+
   entr = callPackage ../tools/misc/entr { };
 
   eot_utilities = callPackage ../tools/misc/eot-utilities { };
@@ -3258,6 +3251,8 @@ in
 
   fbv = callPackage ../tools/graphics/fbv { };
 
+  fbvnc = callPackage ../tools/admin/fbvnc {};
+
   fim = callPackage ../tools/graphics/fim { };
 
   flac123 = callPackage ../applications/audio/flac123 { };
@@ -3308,9 +3303,6 @@ in
   fprot = callPackage ../tools/security/fprot { };
 
   fprintd = callPackage ../tools/security/fprintd { };
-  fprintd-thinkpad = fprintd.override {
-    thinkpad = true;
-  };
 
   franz = callPackage ../applications/networking/instant-messengers/franz { };
 
@@ -3997,6 +3989,8 @@ in
 
   hylafaxplus = callPackage ../servers/hylafaxplus { };
 
+  hyphen = callPackage ../development/libraries/hyphen { };
+
   i2c-tools = callPackage ../os-specific/linux/i2c-tools { };
 
   i2p = callPackage ../tools/networking/i2p {};
@@ -4149,6 +4143,8 @@ in
 
   netmask = callPackage ../tools/networking/netmask {};
 
+  ipscan = callPackage ../tools/security/ipscan { };
+
   ipv6calc = callPackage ../tools/networking/ipv6calc {};
 
   ipxe = callPackage ../tools/misc/ipxe { };
@@ -4283,8 +4279,6 @@ in
 
   kdbplus = pkgsi686Linux.callPackage ../applications/misc/kdbplus { };
 
-  kde2-decoration = libsForQt5.callPackage ../misc/themes/kde2 { };
-
   keepalived = callPackage ../tools/networking/keepalived { };
 
   kexectools = callPackage ../os-specific/linux/kexectools { };
@@ -4562,8 +4556,6 @@ in
 
   next = callPackage ../applications/networking/browsers/next { };
 
-  next-gtk-webkit = callPackage ../applications/networking/browsers/next-gtk-webkit { };
-
   nfpm = callPackage ../tools/package-management/nfpm { };
 
   nginx-config-formatter = callPackage ../tools/misc/nginx-config-formatter { };
@@ -5080,6 +5072,8 @@ in
 
   ndppd = callPackage ../applications/networking/ndppd { };
 
+  nebula = callPackage ../tools/networking/nebula { };
+
   nemiver = callPackage ../development/tools/nemiver { };
 
   neofetch = callPackage ../tools/misc/neofetch { };
@@ -5213,7 +5207,7 @@ in
 
   niff = callPackage ../tools/package-management/niff { };
 
-  nifskope = libsForQt59.callPackage ../tools/graphics/nifskope { };
+  nifskope = libsForQt5.callPackage ../tools/graphics/nifskope { };
 
   nilfs-utils = callPackage ../tools/filesystems/nilfs-utils {};
 
@@ -5243,6 +5237,9 @@ in
 
   nnn = callPackage ../applications/misc/nnn { };
 
+
+  noise-repellent = callPackage ../applications/audio/noise-repellent { };
+
   notary = callPackage ../tools/security/notary { };
 
   notify-osd = callPackage ../applications/misc/notify-osd { };
@@ -5332,6 +5329,11 @@ in
 
   omping = callPackage ../applications/networking/omping { };
 
+  onefetch = callPackage ../tools/misc/onefetch {
+    inherit (darwin) libresolv;
+    inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
+  };
+
   onioncircuits = callPackage ../tools/security/onioncircuits { };
 
   openapi-generator-cli = callPackage ../tools/networking/openapi-generator-cli { };
@@ -5425,9 +5427,9 @@ in
 
   opentracing-cpp = callPackage ../development/libraries/opentracing-cpp { };
 
-  openvswitch = callPackage ../os-specific/linux/openvswitch {
-    openssl = openssl_1_0_2;
-  };
+  openvswitch = callPackage ../os-specific/linux/openvswitch { };
+
+  openvswitch-lts = callPackage ../os-specific/linux/openvswitch/lts.nix { };
 
   optipng = callPackage ../tools/graphics/optipng {
     libpng = libpng12;
@@ -5455,6 +5457,8 @@ in
 
   otpw = callPackage ../os-specific/linux/otpw { };
 
+  overcommit = callPackage ../development/tools/overcommit { };
+
   overmind = callPackage ../applications/misc/overmind { };
 
   owncloud-client = libsForQt5.callPackage ../applications/networking/owncloud-client { };
@@ -5490,8 +5494,6 @@ in
 
   pamtester = callPackage ../tools/security/pamtester { };
 
-  paper-gtk-theme = callPackage ../misc/themes/paper { };
-
   paperless = callPackage ../applications/office/paperless { };
 
   paperwork = callPackage ../applications/office/paperwork { };
@@ -5736,6 +5738,8 @@ in
 
   ppl = callPackage ../development/libraries/ppl { };
 
+  pplatex = callPackage ../tools/typesetting/tex/pplatex { };
+
   ppp = callPackage ../tools/networking/ppp { };
 
   pptp = callPackage ../tools/networking/pptp {};
@@ -5883,6 +5887,8 @@ in
 
   qtikz = libsForQt5.callPackage ../applications/graphics/ktikz { };
 
+  quickjs = callPackage ../development/interpreters/quickjs { };
+
   quickserve = callPackage ../tools/networking/quickserve { };
 
   quicktun = callPackage ../tools/networking/quicktun { };
@@ -5938,7 +5944,7 @@ in
 
   redsocks = callPackage ../tools/networking/redsocks { };
 
-  retext = callPackage ../applications/editors/retext { };
+  retext = libsForQt5.callPackage ../applications/editors/retext { };
 
   richgo = callPackage ../development/tools/richgo {  };
 
@@ -6334,6 +6340,8 @@ in
 
   smesh = callPackage ../development/libraries/smesh {};
 
+  smu = callPackage ../tools/text/smu { };
+
   smugline = python3Packages.smugline;
 
   snabb = callPackage ../tools/networking/snabb { } ;
@@ -6393,8 +6401,6 @@ in
 
   syntex = callPackage ../tools/graphics/syntex {};
 
-  fusesmb = callPackage ../tools/filesystems/fusesmb { samba = samba3; };
-
   sl = callPackage ../tools/misc/sl { stdenv = gccStdenv; };
 
   socat = callPackage ../tools/networking/socat { };
@@ -6411,6 +6417,8 @@ in
 
   squashfsTools = callPackage ../tools/filesystems/squashfs { };
 
+  squashfs-tools-ng = callPackage ../tools/filesystems/squashfs-tools-ng { };
+
   squashfuse = callPackage ../tools/filesystems/squashfuse { };
 
   srcml = callPackage ../applications/version-management/srcml { };
@@ -6538,6 +6546,8 @@ in
 
   staruml = callPackage ../tools/misc/staruml { inherit (gnome2) GConf; libgcrypt = libgcrypt_1_5; };
 
+  stone-phaser = callPackage ../applications/audio/stone-phaser { };
+
   systrayhelper = callPackage ../tools/misc/systrayhelper {};
 
   Sylk = callPackage ../applications/networking/Sylk {};
@@ -6634,6 +6644,8 @@ in
 
   tiled = libsForQt5.callPackage ../applications/editors/tiled { };
 
+  tiledb = callPackage ../development/libraries/tiledb { };
+
   timemachine = callPackage ../applications/audio/timemachine { };
 
   timelapse-deflicker = callPackage ../applications/graphics/timelapse-deflicker { };
@@ -6658,6 +6670,8 @@ in
 
   tinyemu = callPackage ../applications/virtualization/tinyemu { };
 
+  tinyfecvpn = callPackage ../tools/networking/tinyfecvpn {};
+
   tinyprog = callPackage ../development/tools/misc/tinyprog { };
 
   tinyproxy = callPackage ../tools/networking/tinyproxy {};
@@ -6694,6 +6708,8 @@ in
 
   toml2nix = (callPackage ../tools/toml2nix { }).toml2nix { };
 
+  topgrade = callPackage ../tools/misc/topgrade {  };
+
   tor = callPackage ../tools/security/tor {
     # remove this, when libevent's openssl is upgraded to 1_1_0 or newer.
     libevent = libevent.override {
@@ -7023,6 +7039,8 @@ in
 
   whois = callPackage ../tools/networking/whois { };
 
+  wifite2 = callPackage ../tools/networking/wifite2 { };
+
   wireguard-tools = callPackage ../tools/networking/wireguard-tools { };
 
   woff2 = callPackage ../development/web/woff2 { };
@@ -7215,6 +7233,8 @@ in
   waf = callPackage ../development/tools/build-managers/waf { python = python3; };
   wafHook = callPackage ../development/tools/build-managers/wafHook { };
 
+  wagyu = callPackage ../tools/misc/wagyu { };
+
   wakelan = callPackage ../tools/networking/wakelan { };
 
   wavemon = callPackage ../tools/networking/wavemon { };
@@ -7376,6 +7396,11 @@ in
 
   yarn2nix-moretea = callPackage ../development/tools/yarn2nix-moretea/yarn2nix { };
 
+  inherit (yarn2nix-moretea)
+    yarn2nix
+    mkYarnPackage
+    fixup_yarn_lock;
+
   yasr = callPackage ../applications/audio/yasr { };
 
   yank = callPackage ../tools/misc/yank { };
@@ -7439,6 +7464,8 @@ in
 
   zsh-syntax-highlighting = callPackage ../shells/zsh/zsh-syntax-highlighting { };
 
+  zsh-fast-syntax-highlighting = callPackage ../shells/zsh/zsh-fast-syntax-highlighting { };
+
   zsh-autosuggestions = callPackage ../shells/zsh/zsh-autosuggestions { };
 
   zsh-powerlevel9k = callPackage ../shells/zsh/zsh-powerlevel9k { };
@@ -7738,8 +7765,8 @@ in
   gerbil = callPackage ../development/compilers/gerbil { stdenv = gccStdenv; };
   gerbil-unstable = callPackage ../development/compilers/gerbil/unstable.nix { stdenv = gccStdenv; };
 
-  gccFun = callPackage ../development/compilers/gcc/8;
-  gcc = gcc8;
+  gccFun = callPackage (if stdenv.targetPlatform.isVc4 then ../development/compilers/gcc/6 else ../development/compilers/gcc/8);
+  gcc = if stdenv.targetPlatform.isVc4 then gcc6 else gcc8;
   gcc-unwrapped = gcc.cc;
 
   gccStdenv = if stdenv.cc.isGNU then stdenv else stdenv.override {
@@ -8077,6 +8104,8 @@ in
   psc-package = haskell.lib.justStaticExecutables
     (haskellPackages.callPackage ../development/compilers/purescript/psc-package { });
 
+  spago = haskell.lib.justStaticExecutables haskellPackages.spago;
+
   tacacsplus = callPackage ../servers/tacacsplus { };
 
   tamarin-prover =
@@ -8303,6 +8332,8 @@ in
 
   jasmin = callPackage ../development/compilers/jasmin { };
 
+  java-service-wrapper = callPackage ../tools/system/java-service-wrapper { };
+
   javacard-devkit = pkgsi686Linux.callPackage ../development/compilers/javacard-devkit { };
 
   julia_07 = callPackage ../development/compilers/julia/0.7.nix {
@@ -8826,6 +8857,8 @@ in
 
   z88dk = callPackage ../development/compilers/z88dk { };
 
+  zulip = callPackage ../applications/networking/instant-messengers/zulip { };
+
   zulu8 = callPackage ../development/compilers/zulu/8.nix { };
   zulu = callPackage ../development/compilers/zulu { };
 
@@ -8877,9 +8910,9 @@ in
     lfe lfe_1_2;
 
   inherit (beam.packages.erlang)
-    rebar rebar3-open rebar3
-    hexRegistrySnapshot fetchHex beamPackages
-    hex2nix relxExe;
+    rebar rebar3
+    fetchHex beamPackages
+    relxExe;
 
   inherit (beam.packages.erlangR19) cuter;
 
@@ -9130,6 +9163,7 @@ in
   python36Full = python36.override{x11Support=true;};
   python37Full = python37.override{x11Support=true;};
   python38Full = python38.override{x11Support=true;};
+  python39Full = python38.override{x11Support=true;};
 
   # pythonPackages further below, but assigned here because they need to be in sync
   pythonPackages = python.pkgs;
@@ -9137,7 +9171,7 @@ in
   python3Packages = python3.pkgs;
 
   pythonInterpreters = callPackage ./../development/interpreters/python {};
-  inherit (pythonInterpreters) python27 python35 python36 python37 python38 python3Minimal pypy27 pypy36;
+  inherit (pythonInterpreters) python27 python35 python36 python37 python38 python39 python3Minimal pypy27 pypy36;
 
   # Python package sets.
   python27Packages = lib.hiPrioSet (recurseIntoAttrs python27.pkgs);
@@ -9145,6 +9179,7 @@ in
   python36Packages = python36.pkgs;
   python37Packages = recurseIntoAttrs python37.pkgs;
   python38Packages = recurseIntoAttrs python38.pkgs;
+  python39Packages = python39.pkgs;
   pypyPackages = pypy.pkgs;
   pypy2Packages = pypy2.pkgs;
   pypy27Packages = pypy27.pkgs;
@@ -9361,6 +9396,9 @@ in
 
   mspdebug = callPackage ../development/misc/msp430/mspdebug.nix { };
 
+  vc4-newlib = callPackage ../development/misc/vc4/newlib.nix {};
+  resim = callPackage ../misc/emulators/resim {};
+
   rappel = callPackage ../development/misc/rappel/default.nix { };
 
   pharo-vms = callPackage ../development/pharo/vm { };
@@ -9484,7 +9522,7 @@ in
     inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices Foundation;
     buildJdk = jdk8;
     buildJdkName = "jdk8";
-    runJdk = jdk11;
+    runJdk = jdk11_headless;
     stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
   };
 
@@ -9853,7 +9891,7 @@ in
 
   funnelweb = callPackage ../development/tools/literate-programming/funnelweb { };
 
-  gede = libsForQt59.callPackage ../development/tools/misc/gede { };
+  gede = libsForQt5.callPackage ../development/tools/misc/gede { };
 
   gdbgui = python3Packages.callPackage ../development/tools/misc/gdbgui { };
 
@@ -9965,6 +10003,8 @@ in
     nodejs = nodejs-10_x;
   };
 
+  ccloud-cli = callPackage ../development/tools/ccloud-cli { };
+
   htmlunit-driver = callPackage ../development/tools/selenium/htmlunit-driver { };
 
   hyenae = callPackage ../tools/networking/hyenae { };
@@ -10437,6 +10477,8 @@ in
 
   tflint = callPackage ../development/tools/analysis/tflint { };
 
+  tfsec = callPackage ../development/tools/analysis/tfsec { };
+
   todoist = callPackage ../applications/misc/todoist { };
 
   todolist = callPackage ../applications/misc/todolist { };
@@ -10666,9 +10708,9 @@ in
 
   bamf = callPackage ../development/libraries/bamf { };
 
-  bctoolbox = callPackage ../development/libraries/bctoolbox {
-    mbedtls = mbedtls_1_3;
-  };
+  bcg729 = callPackage ../development/libraries/bcg729 { };
+
+  bctoolbox = callPackage ../development/libraries/bctoolbox { };
 
   beecrypt = callPackage ../development/libraries/beecrypt { };
 
@@ -10715,7 +10757,8 @@ in
   boost169 = callPackage ../development/libraries/boost/1.69.nix { };
   boost16x = boost169;
   boost170 = callPackage ../development/libraries/boost/1.70.nix { };
-  boost17x = boost170;
+  boost171 = callPackage ../development/libraries/boost/1.71.nix { };
+  boost17x = boost171;
   boost = boost16x;
 
   boost_process = callPackage ../development/libraries/boost-process { };
@@ -10843,8 +10886,6 @@ in
 
   commoncpp2 = callPackage ../development/libraries/commoncpp2 { };
 
-  coredumper = callPackage ../development/libraries/coredumper { };
-
   ctl = callPackage ../development/libraries/ctl { };
 
   ctpp2 = callPackage ../development/libraries/ctpp2 { };
@@ -10995,6 +11036,8 @@ in
     inherit (darwin.apple_sdk.frameworks) Accelerate CoreGraphics CoreVideo;
   };
 
+  egl-wayland = callPackage ../development/libraries/egl-wayland {};
+
   elastix = callPackage ../development/libraries/science/biology/elastix { };
 
   enchant1 = callPackage ../development/libraries/enchant/1.x.nix { };
@@ -11308,6 +11351,7 @@ in
     else if name == "uclibc" then targetPackages.uclibcCross or uclibcCross
     else if name == "avrlibc" then targetPackages.avrlibcCross or avrlibcCross
     else if name == "newlib" && stdenv.targetPlatform.isMsp430 then targetPackages.msp430NewlibCross or msp430NewlibCross
+    else if name == "newlib" && stdenv.targetPlatform.isVc4 then targetPackages.vc4-newlib or vc4-newlib
     else if name == "newlib" then targetPackages.newlibCross or newlibCross
     else if name == "musl" then targetPackages.muslCross or muslCross
     else if name == "msvcrt" then targetPackages.windows.mingw_w64 or windows.mingw_w64
@@ -11562,6 +11606,12 @@ in
   gtkmm2 = callPackage ../development/libraries/gtkmm/2.x.nix { };
   gtkmm3 = callPackage ../development/libraries/gtkmm/3.x.nix { };
 
+  gtk_engines = callPackage ../development/libraries/gtk-engines { };
+
+  gtk-engine-bluecurve = callPackage ../development/libraries/gtk-engine-bluecurve { };
+
+  gtk-engine-murrine = callPackage ../development/libraries/gtk-engine-murrine { };
+
   gtk-sharp-2_0 = callPackage ../development/libraries/gtk-sharp/2.0.nix {
     inherit (gnome2) libglade libgtkhtml gtkhtml
               libgnomecanvas libgnomeui libgnomeprint
@@ -12169,9 +12219,6 @@ in
   };
 
   libfprint = callPackage ../development/libraries/libfprint { };
-  libfprint-thinkpad = libfprint.override {
-    thinkpad = true;
-  };
 
   libfpx = callPackage ../development/libraries/libfpx { };
 
@@ -13035,16 +13082,6 @@ in
   # Default libGLU
   libGLU = mesa_glu;
 
-  # Combined derivation, contains both libGL and libGLU
-  # Please, avoid using this attribute.  It was meant as transitional hack
-  # for packages that assume that libGLU and libGL live in the same prefix.
-  # libGLU_combined propagates both libGL and libGLU
-  libGLU_combined = buildEnv {
-    name = "libGLU-combined";
-    paths = [ libGL libGLU ];
-    extraOutputsToInstall = [ "dev" ];
-  };
-
   mesa = callPackage ../development/libraries/mesa {
     llvmPackages = llvmPackages_9;
     inherit (darwin.apple_sdk.frameworks) OpenGL;
@@ -13154,6 +13191,8 @@ in
     then null
     else callPackage ../development/libraries/ncurses { };
 
+  ndi = callPackage ../development/libraries/ndi { };
+
   neardal = callPackage ../development/libraries/neardal { };
 
   neon = callPackage ../development/libraries/neon { };
@@ -13336,9 +13375,7 @@ in
 
   openssl-chacha = callPackage ../development/libraries/openssl/chacha.nix { };
 
-  opensubdiv = callPackage ../development/libraries/opensubdiv {
-    cmake = cmake_2_8;
-  };
+  opensubdiv = callPackage ../development/libraries/opensubdiv { };
 
   open-wbo = callPackage ../applications/science/logic/open-wbo {};
 
@@ -13382,15 +13419,6 @@ in
 
   pdf2xml = callPackage ../development/libraries/pdf2xml {} ;
 
-  phonon = callPackage ../development/libraries/phonon {};
-
-  phonon-backend-gstreamer = callPackage ../development/libraries/phonon/backends/gstreamer.nix {};
-
-  # TODO(@Ma27) get rid of that as soon as QT4 can be dropped
-  phonon-backend-vlc = callPackage ../development/libraries/phonon/backends/vlc.nix {
-    withQt4 = true;
-  };
-
   inherit (callPackage ../development/libraries/physfs { })
     physfs_2
     physfs;
@@ -13463,6 +13491,7 @@ in
 
   protobuf = protobuf3_7;
 
+  protobuf3_11 = callPackage ../development/libraries/protobuf/3.11.nix { };
   protobuf3_10 = callPackage ../development/libraries/protobuf/3.10.nix { };
   protobuf3_9 = callPackage ../development/libraries/protobuf/3.9.nix { };
   protobuf3_8 = callPackage ../development/libraries/protobuf/3.8.nix { };
@@ -13488,14 +13517,11 @@ in
 
   pugixml = callPackage ../development/libraries/pugixml { };
 
-  pybind11 = callPackage ../development/libraries/pybind11 { };
+  pybind11 = pythonPackages.pybind11;
 
   python-qt = callPackage ../development/libraries/python-qt {
     python = python27;
-    qmake = qt59.qmake;
-    qttools = qt59.qttools;
-    qtwebengine = qt59.qtwebengine;
-    qtxmlpatterns = qt59.qtxmlpatterns;
+    inherit (qt5) qmake qttools qtwebengine qtxmlpatterns;
   };
 
   pyotherside = libsForQt5.callPackage ../development/libraries/pyotherside {};
@@ -13546,50 +13572,17 @@ in
     developerBuild = true;
   });
 
-  qt59 = recurseIntoAttrs (makeOverridable
-    (import ../development/libraries/qt-5/5.9) {
-      inherit newScope;
-      inherit stdenv fetchurl fetchpatch makeSetupHook makeWrapper;
-      bison = bison2; # error: too few arguments to function 'int yylex(...
-      inherit cups;
-      harfbuzz = harfbuzzFull;
-      inherit libGL;
-      inherit perl;
-      inherit (gst_all_1) gstreamer gst-plugins-base;
-      inherit gtk3;
-      inherit (gnome3) dconf;
-    });
-
-  libsForQt59 = lib.makeScope qt59.newScope mkLibsForQt5;
-
-  qt511 = recurseIntoAttrs (makeOverridable
-    (import ../development/libraries/qt-5/5.11) {
-      inherit newScope;
-      inherit stdenv fetchurl fetchFromGitHub fetchpatch makeSetupHook makeWrapper;
-      bison = bison2; # error: too few arguments to function 'int yylex(...
-      inherit cups;
-      harfbuzz = harfbuzzFull;
-      inherit libGL;
-      inherit perl;
-      inherit gtk3;
-      inherit (gnome3) dconf;
-      inherit (gst_all_1) gstreamer gst-plugins-base;
-      inherit llvmPackages_5;
-    });
-
-  libsForQt511 = recurseIntoAttrs (lib.makeScope qt511.newScope mkLibsForQt5);
-
   qt512 = recurseIntoAttrs (makeOverridable
     (import ../development/libraries/qt-5/5.12) {
       inherit newScope;
       inherit stdenv fetchurl fetchpatch fetchFromGitHub makeSetupHook makeWrapper;
       bison = bison2; # error: too few arguments to function 'int yylex(...
       inherit cups;
+      inherit dconf;
       inherit harfbuzz;
       inherit libGL;
       inherit perl;
       inherit gtk3;
-      inherit (gnome3) dconf;
       inherit (gst_all_1) gstreamer gst-plugins-base;
       inherit llvmPackages_5;
     });
@@ -13675,13 +13668,9 @@ in
 
     openbr = callPackage ../development/libraries/openbr { };
 
-    phonon = callPackage ../development/libraries/phonon {
-      withQt5 = true;
-    };
+    phonon = callPackage ../development/libraries/phonon { };
 
-    phonon-backend-gstreamer = callPackage ../development/libraries/phonon/backends/gstreamer.nix {
-      withQt5 = true;
-    };
+    phonon-backend-gstreamer = callPackage ../development/libraries/phonon/backends/gstreamer.nix { };
 
     phonon-backend-vlc = callPackage ../development/libraries/phonon/backends/vlc.nix { };
 
@@ -14419,6 +14408,8 @@ in
     stdenv = gcc6Stdenv; # upstream code incompatible with gcc7
   };
 
+  wally-cli = callPackage ../development/tools/wally-cli { };
+
   wavpack = callPackage ../development/libraries/wavpack { };
 
   wayland = callPackage ../development/libraries/wayland { };
@@ -15052,7 +15043,7 @@ in
   gofish = callPackage ../servers/gopher/gofish { };
 
   grafana = callPackage ../servers/monitoring/grafana {
-    buildGoPackage = buildGo112Package;
+    buildGoPackage = buildGo113Package;
   };
 
   grafana-loki = callPackage ../servers/monitoring/loki { };
@@ -15174,12 +15165,14 @@ in
   nginx = nginxStable;
 
   nginxStable = callPackage ../servers/http/nginx/stable.nix {
+    perl = null;
     # We don't use `with` statement here on purpose!
     # See https://github.com/NixOS/nixpkgs/pull/10474/files#r42369334
     modules = [ nginxModules.rtmp nginxModules.dav nginxModules.moreheaders ];
   };
 
   nginxMainline = callPackage ../servers/http/nginx/mainline.nix {
+    perl = null;
     # We don't use `with` statement here on purpose!
     # See https://github.com/NixOS/nixpkgs/pull/10474/files#r42369334
     modules = [ nginxModules.dav nginxModules.moreheaders ];
@@ -15442,6 +15435,7 @@ in
   prometheus-mysqld-exporter = callPackage ../servers/monitoring/prometheus/mysqld-exporter.nix { };
   prometheus-nextcloud-exporter = callPackage ../servers/monitoring/prometheus/nextcloud-exporter.nix { };
   prometheus-nginx-exporter = callPackage ../servers/monitoring/prometheus/nginx-exporter.nix { };
+  prometheus-nginxlog-exporter = callPackage ../servers/monitoring/prometheus/nginxlog-exporter.nix { };
   prometheus-node-exporter = callPackage ../servers/monitoring/prometheus/node-exporter.nix { };
   prometheus-openvpn-exporter = callPackage ../servers/monitoring/prometheus/openvpn-exporter.nix { };
   prometheus-postfix-exporter = callPackage ../servers/monitoring/prometheus/postfix-exporter.nix { };
@@ -15536,8 +15530,6 @@ in
 
   deadpixi-sam-unstable = callPackage ../applications/editors/deadpixi-sam { };
 
-  samba3 = callPackage ../servers/samba/3.x.nix { };
-
   samba4 = callPackage ../servers/samba/4.x.nix {
     rpcgen = netbsd.rpcgen;
     python = python3;
@@ -15545,17 +15537,6 @@ in
 
   samba = samba4;
 
-  # A lightweight Samba 3, useful for non-Linux-based OSes.
-  samba3_light = lowPrio (samba3.override {
-    pam = null;
-    fam = null;
-    cups = null;
-    acl = null;
-    openldap = null;
-    # libunwind 1.0.1 is not ported to GNU/Hurd.
-    libunwind = null;
-  });
-
   samba4Full = lowPrio (samba4.override {
     enableLDAP = true;
     enablePrinting = true;
@@ -16204,6 +16185,12 @@ in
     ];
   };
 
+  linux_5_4 = callPackage ../os-specific/linux/kernel/linux-5.4.nix {
+    kernelPatches = [
+      kernelPatches.bridge_stp_helper
+    ];
+  };
+
   linux_testing = callPackage ../os-specific/linux/kernel/linux-testing.nix {
     kernelPatches = [
       kernelPatches.bridge_stp_helper
@@ -16255,8 +16242,6 @@ in
 
     bbswitch = callPackage ../os-specific/linux/bbswitch {};
 
-    beegfs-module = callPackage ../os-specific/linux/beegfs/kernel-module.nix { };
-
     ati_drivers_x11 = callPackage ../os-specific/linux/ati-drivers { };
 
     chipsec = callPackage ../tools/security/chipsec {
@@ -16402,7 +16387,7 @@ in
   linux = linuxPackages.kernel;
 
   # Update this when adding the newest kernel major version!
-  linuxPackages_latest = linuxPackages_5_3;
+  linuxPackages_latest = linuxPackages_5_4;
   linux_latest = linuxPackages_latest.kernel;
 
   # Build the kernel modules for the some of the kernels.
@@ -16416,6 +16401,7 @@ in
   linuxPackages_4_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_14);
   linuxPackages_4_19 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_19);
   linuxPackages_5_3 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_3);
+  linuxPackages_5_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_5_4);
 
   # When adding to this list:
   # - Update linuxPackages_latest to the latest version
@@ -16489,17 +16475,26 @@ in
   linuxManualConfig = makeOverridable (callPackage ../os-specific/linux/kernel/manual-config.nix {});
 
   # Derive one of the default .config files
-  linuxConfig = { src, makeTarget ? "defconfig", name ? "kernel.config" }:
-    stdenv.mkDerivation {
-      inherit name src;
-      buildPhase = ''
-        set -x
-        make ${makeTarget}
-      '';
-      installPhase = ''
-        cp .config $out
-      '';
-    };
+  linuxConfig = {
+    src,
+    version ? (builtins.parseDrvName src.name).version,
+    makeTarget ? "defconfig",
+    name ? "kernel.config",
+  }: stdenvNoCC.mkDerivation {
+    inherit name src;
+    depsBuildBuild = [ buildPackages.stdenv.cc ]
+      ++ lib.optionals (lib.versionAtLeast version "4.16") [ buildPackages.bison buildPackages.flex ];
+    buildPhase = ''
+      set -x
+      make \
+        ARCH=${stdenv.hostPlatform.kernelArch} \
+        HOSTCC=${buildPackages.stdenv.cc.targetPrefix}gcc \
+        ${makeTarget}
+    '';
+    installPhase = ''
+      cp .config $out
+    '';
+  };
 
   buildLinux = attrs: callPackage ../os-specific/linux/kernel/generic.nix attrs;
 
@@ -17020,12 +17015,20 @@ in
 
   adapta-backgrounds = callPackage ../data/misc/adapta-backgrounds { };
 
+  adapta-gtk-theme = callPackage ../data/themes/adapta { };
+
+  adapta-kde-theme = callPackage ../data/themes/adapta-kde { };
+
   adementary-theme = callPackage ../data/themes/adementary { };
 
+  adwaita-qt = libsForQt5.callPackage ../data/themes/adwaita-qt { };
+
   agave = callPackage ../data/fonts/agave { };
 
   aileron = callPackage ../data/fonts/aileron { };
 
+  albatross = callPackage ../data/themes/albatross { };
+
   amber-theme = callPackage ../data/themes/amber { };
 
   amiri = callPackage ../data/fonts/amiri { };
@@ -17045,6 +17048,8 @@ in
 
   arc-icon-theme = callPackage ../data/icons/arc-icon-theme { };
 
+  arc-kde-theme = callPackage ../data/themes/arc-kde { };
+
   arc-theme = callPackage ../data/themes/arc { };
 
   arkpandora_ttf = callPackage ../data/fonts/arkpandora { };
@@ -17065,6 +17070,8 @@ in
   bibata-extra-cursors = callPackage ../data/icons/bibata-cursors/extra.nix { };
   bibata-cursors-translucent = callPackage ../data/icons/bibata-cursors/translucent.nix { };
 
+  blackbird = callPackage ../data/themes/blackbird { };
+
   brise = callPackage ../data/misc/brise { };
 
   inherit (kdeFrameworks) breeze-icons;
@@ -17085,6 +17092,8 @@ in
 
   cherry = callPackage ../data/fonts/cherry { inherit (xorg) fonttosfnt mkfontdir; };
 
+  clearlooks-phenix = callPackage ../data/themes/clearlooks-phenix { };
+
   cnstrokeorder = callPackage ../data/fonts/cnstrokeorder {};
 
   comfortaa = callPackage ../data/fonts/comfortaa {};
@@ -17171,10 +17180,14 @@ in
 
   dosemu_fonts = callPackage ../data/fonts/dosemu-fonts { };
 
+  e17gtk = callPackage ../data/themes/e17gtk { };
+
   eb-garamond = callPackage ../data/fonts/eb-garamond { };
 
   elliptic_curves = callPackage ../data/misc/elliptic_curves { };
 
+  equilux-theme = callPackage ../data/themes/equilux-theme { };
+
   eunomia = callPackage ../data/fonts/eunomia { };
 
   f5_6 = callPackage ../data/fonts/f5_6 { };
@@ -17210,6 +17223,8 @@ in
 
   fira-mono = callPackage ../data/fonts/fira-mono { };
 
+  flat-remix-icon-theme = callPackage ../data/icons/flat-remix-icon-theme { };
+
   font-awesome_4 = (callPackage ../data/fonts/font-awesome-5 { }).v4;
   font-awesome_5 = (callPackage ../data/fonts/font-awesome-5 { }).v5;
   font-awesome = font-awesome_5;
@@ -17226,10 +17241,12 @@ in
 
   gohufont = callPackage ../data/fonts/gohufont { };
 
-  gnome_user_docs = callPackage ../data/documentation/gnome-user-docs { };
+  gnome-user-docs = callPackage ../data/documentation/gnome-user-docs { };
 
   gsettings-desktop-schemas = callPackage ../development/libraries/gsettings-desktop-schemas { };
 
+  gnome-breeze = callPackage ../data/themes/gnome-breeze { };
+
   go-font = callPackage ../data/fonts/go-font { };
 
   greybird = callPackage ../data/themes/greybird { };
@@ -17284,6 +17301,8 @@ in
 
   kawkab-mono-font = callPackage ../data/fonts/kawkab-mono {};
 
+  kde2-decoration = libsForQt5.callPackage ../data/themes/kde2 { };
+
   kochi-substitute = callPackage ../data/fonts/kochi-substitute {};
 
   kochi-substitute-naga10 = callPackage ../data/fonts/kochi-substitute-naga10 {};
@@ -17425,24 +17444,36 @@ in
 
   numix-cursor-theme = callPackage ../data/icons/numix-cursor-theme { };
 
+  numix-gtk-theme = callPackage ../data/themes/numix { };
+
+  numix-solarized-gtk-theme = callPackage ../data/themes/numix-solarized { };
+
+  numix-sx-gtk-theme = callPackage ../data/themes/numix-sx { };
+
   office-code-pro = callPackage ../data/fonts/office-code-pro { };
 
   oldstandard = callPackage ../data/fonts/oldstandard { };
 
   oldsindhi = callPackage ../data/fonts/oldsindhi { };
 
+  onestepback = callPackage ../data/themes/onestepback { };
+
   open-dyslexic = callPackage ../data/fonts/open-dyslexic { };
 
   open-sans = callPackage ../data/fonts/open-sans { };
 
   orbitron = callPackage ../data/fonts/orbitron { };
 
+  orion = callPackage ../data/themes/orion {};
+
   overpass = callPackage ../data/fonts/overpass { };
 
   oxygenfonts = callPackage ../data/fonts/oxygenfonts { };
 
   inherit (kdeFrameworks) oxygen-icons5;
 
+  paper-gtk-theme = callPackage ../data/themes/paper-gtk { };
+
   paper-icon-theme = callPackage ../data/icons/paper-icon-theme { };
 
   papirus-icon-theme = callPackage ../data/icons/papirus-icon-theme { };
@@ -17497,6 +17528,8 @@ in
 
   qogir-theme = callPackage ../data/themes/qogir { };
 
+  qtcurve = libsForQt5.callPackage ../data/themes/qtcurve {};
+
   redhat-official-fonts = callPackage ../data/fonts/redhat-official { };
 
   route159 = callPackage ../data/fonts/route159 { };
@@ -17525,6 +17558,8 @@ in
 
   sierra-gtk-theme = callPackage ../data/themes/sierra { };
 
+  solarc-gtk-theme = callPackage ../data/themes/solarc { };
+
   soundfont-fluid = callPackage ../data/soundfonts/fluid { };
 
   stdmanpages = callPackage ../data/documentation/std-man-pages { };
@@ -17560,6 +17595,10 @@ in
 
   raleway = callPackage ../data/fonts/raleway { };
 
+  recursive = callPackage ../data/fonts/recursive { };
+
+  rhodium-libre = callPackage ../data/fonts/rhodium-libre { };
+
   rictydiminished-with-firacode = callPackage ../data/fonts/rictydiminished-with-firacode { };
 
   roboto = callPackage ../data/fonts/roboto { };
@@ -17638,6 +17677,8 @@ in
 
   tex-gyre-math = callPackages ../data/fonts/tex-gyre-math { };
 
+  theme-vertex = callPackage ../data/themes/vertex { };
+
   tipa = callPackage ../data/fonts/tipa { };
 
   ttf_bitstream_vera = callPackage ../data/fonts/ttf-bitstream-vera { };
@@ -17990,6 +18031,8 @@ in
                         libXi libXext libXfixes libXcomposite;
   };
 
+  blugon = callPackage ../applications/misc/blugon { };
+
   bombono = callPackage ../applications/video/bombono {};
 
   bomi = libsForQt5.callPackage ../applications/video/bomi {
@@ -18174,7 +18217,7 @@ in
     pygments = python27Packages.pygments;
   };
 
-  csound-qt = libsForQt59.callPackage ../applications/audio/csound/csound-qt {
+  csound-qt = libsForQt5.callPackage ../applications/audio/csound/csound-qt {
     python = python27;
   };
 
@@ -18200,6 +18243,8 @@ in
 
   coyim = callPackage ../applications/networking/instant-messengers/coyim {};
 
+  cq-editor = libsForQt5.callPackage ../applications/graphics/cq-editor { };
+
   cpp_ethereum = callPackage ../applications/misc/cpp-ethereum { };
 
   crun = callPackage ../applications/virtualization/crun {};
@@ -18656,6 +18701,8 @@ in
   geany = callPackage ../applications/editors/geany { };
   geany-with-vte = callPackage ../applications/editors/geany/with-vte.nix { };
 
+  geoipupdate = callPackage ../applications/misc/geoipupdate/default.nix { };
+
   ghostwriter = libsForQt5.callPackage ../applications/editors/ghostwriter { };
 
   gitweb = callPackage ../applications/version-management/git-and-tools/gitweb { };
@@ -18734,6 +18781,8 @@ in
 
   grepm = callPackage ../applications/search/grepm { };
 
+  grip-search = callPackage ../tools/text/grip-search { };
+
   grip = callPackage ../applications/misc/grip {
     inherit (gnome2) libgnome libgnomeui vte;
   };
@@ -18774,7 +18823,7 @@ in
   wireshark-qt = wireshark;
 
   # The GTK UI is deprecated by upstream. You probably want the QT version.
-  wireshark-gtk = throw "Not supported anymore. Use wireshark-qt or wireshark-cli instead.";
+  wireshark-gtk = throw "wireshark-gtk is not supported anymore. Use wireshark-qt or wireshark-cli instead.";
   wireshark-cli = wireshark.override { withQt = false; };
 
   sngrep = callPackage ../applications/networking/sniffers/sngrep {};
@@ -18827,8 +18876,7 @@ in
 
   firefox-bin = wrapFirefox firefox-bin-unwrapped {
     browserName = "firefox";
-    name = "firefox-bin-" +
-      (builtins.parseDrvName firefox-bin-unwrapped.name).version;
+    pname = "firefox-bin";
     desktopName = "Firefox";
   };
 
@@ -18841,8 +18889,7 @@ in
 
   firefox-beta-bin = res.wrapFirefox firefox-beta-bin-unwrapped {
     browserName = "firefox";
-    name = "firefox-beta-bin-" +
-      (builtins.parseDrvName firefox-beta-bin-unwrapped.name).version;
+    pname = "firefox-beta-bin";
     desktopName = "Firefox Beta";
   };
 
@@ -18856,8 +18903,7 @@ in
   firefox-devedition-bin = res.wrapFirefox firefox-devedition-bin-unwrapped {
     browserName = "firefox";
     nameSuffix = "-devedition";
-    name = "firefox-devedition-bin-" +
-      (builtins.parseDrvName firefox-devedition-bin-unwrapped.name).version;
+    pname = "firefox-devedition-bin";
     desktopName = "Firefox DevEdition";
   };
 
@@ -18971,9 +19017,7 @@ in
 
   gmrun = callPackage ../applications/misc/gmrun {};
 
-  gnucash = callPackage ../applications/office/gnucash {
-    inherit (gnome3) dconf;
-  };
+  gnucash = callPackage ../applications/office/gnucash { };
 
   goffice = callPackage ../development/libraries/goffice { };
 
@@ -19001,7 +19045,7 @@ in
 
   moe =  callPackage ../applications/editors/moe { };
 
-  multibootusb = callPackage ../applications/misc/multibootusb {};
+  multibootusb = qt5.callPackage ../applications/misc/multibootusb {};
 
   praat = callPackage ../applications/audio/praat { };
 
@@ -19016,6 +19060,8 @@ in
 
   svox = callPackage ../applications/audio/svox { };
 
+  giada = callPackage ../applications/audio/giada {};
+
   gkrellm = callPackage ../applications/misc/gkrellm {
     inherit (darwin) IOKit;
   };
@@ -19129,6 +19175,8 @@ in
 
   gxmessage = callPackage ../applications/misc/gxmessage { };
 
+  gxmatcheq-lv2 = callPackage ../applications/audio/gxmatcheq-lv2 { };
+
   gxplugins-lv2 = callPackage ../applications/audio/gxplugins-lv2 { };
 
   hackrf = callPackage ../applications/radio/hackrf { };
@@ -19154,6 +19202,8 @@ in
 
   hexcurse = callPackage ../applications/editors/hexcurse { };
 
+  hexdino = callPackage ../applications/editors/hexdino { };
+
   hexedit = callPackage ../applications/editors/hexedit { };
 
   hipchat = callPackage ../applications/networking/instant-messengers/hipchat { };
@@ -19590,6 +19640,8 @@ in
     go = buildPackages.go_1_12;
   };
 
+  kubeseal = callPackage ../applications/networking/cluster/kubeseal { };
+
   kubectl = callPackage ../applications/networking/cluster/kubectl { };
 
   kubeless = callPackage ../applications/networking/cluster/kubeless { };
@@ -19686,9 +19738,7 @@ in
 
   lifelines = callPackage ../applications/misc/lifelines { };
 
-  liferea = callPackage ../applications/networking/newsreaders/liferea {
-    inherit (gnome3) dconf;
-  };
+  liferea = callPackage ../applications/networking/newsreaders/liferea { };
 
   lightworks = callPackage ../applications/video/lightworks {
     portaudio = portaudio2014;
@@ -19718,9 +19768,7 @@ in
 
   links2 = callPackage ../applications/networking/browsers/links2 { };
 
-  linphone = callPackage ../applications/networking/instant-messengers/linphone {
-    polarssl = mbedtls_1_3;
-  };
+  linphone = callPackage ../applications/networking/instant-messengers/linphone { };
 
   linuxsampler = callPackage ../applications/audio/linuxsampler { };
 
@@ -19829,6 +19877,14 @@ in
 
   matchbox = callPackage ../applications/window-managers/matchbox { };
 
+  matrixcli = callPackage ../applications/networking/instant-messengers/matrixcli {
+    inherit (python3Packages) buildPythonApplication buildPythonPackage
+      pygobject3 pytestrunner requests responses pytest python-olm
+      canonicaljson;
+  };
+
+  matrix-recorder = callPackage ../applications/networking/instant-messengers/matrix-recorder {};
+
   mblaze = callPackage ../applications/networking/mailreaders/mblaze { };
 
   mcpp = callPackage ../development/compilers/mcpp { };
@@ -19839,9 +19895,7 @@ in
 
   mediainfo-gui = callPackage ../applications/misc/mediainfo-gui { };
 
-  # mediathekview needs JavaFX, which currently only is available inside OracleJRE
-  # we might be able to get rid of it, as soon as we have an OpenJRE with OpenJFX included
-  mediathekview = callPackage ../applications/video/mediathekview { jre = oraclejre; };
+  mediathekview = callPackage ../applications/video/mediathekview { jre = openjdk11; };
 
   meteo = callPackage ../applications/networking/weather/meteo { };
 
@@ -19863,9 +19917,7 @@ in
 
   mercurialFull = appendToName "full" (pkgs.mercurial.override { guiSupport = true; });
 
-  merkaartor = libsForQt59.callPackage ../applications/misc/merkaartor {
-    gdal = gdal_2; # https://github.com/openstreetmap/merkaartor/issues/179
-  };
+  merkaartor = libsForQt5.callPackage ../applications/misc/merkaartor { };
 
   meshlab = libsForQt5.callPackage ../applications/graphics/meshlab { };
 
@@ -19920,6 +19972,8 @@ in
     wxGTK30 = wxGTK30.override { withWebKit  = true ; };
   };
 
+  mmsd = callPackage ../tools/networking/mmsd { };
+
   moc = callPackage ../applications/audio/moc { };
 
   mod-distortion = callPackage ../applications/audio/mod-distortion { };
@@ -20127,6 +20181,8 @@ in
 
   partio = callPackage ../development/libraries/partio {};
 
+  pbis-open = callPackage ../tools/security/pbis { };
+
   pcmanfm = callPackage ../applications/misc/pcmanfm { };
 
   pcmanfm-qt = lxqt.pcmanfm-qt;
@@ -20166,8 +20222,6 @@ in
 
   ptex = callPackage ../development/libraries/ptex {};
 
-  qtcurve = libsForQt5.callPackage ../misc/themes/qtcurve {};
-
   qbec = callPackage ../applications/networking/cluster/qbec { };
 
   rssguard = libsForQt5.callPackage ../applications/networking/feedreaders/rssguard { };
@@ -20386,7 +20440,6 @@ in
 
   orca = python3Packages.callPackage ../applications/misc/orca {
     inherit (pkgs) pkgconfig;
-    inherit (gnome3) yelp-tools;
   };
 
   osm2xmap = callPackage ../applications/misc/osm2xmap {
@@ -20420,8 +20473,6 @@ in
 
   osmo = callPackage ../applications/office/osmo { };
 
-  osquery = callPackage ../tools/system/osquery { };
-
   palemoon = callPackage ../applications/networking/browsers/palemoon {
     # https://forum.palemoon.org/viewtopic.php?f=57&t=15296#p111146
     stdenv = gcc49Stdenv;
@@ -20572,7 +20623,7 @@ in
     gtksharp = gtk-sharp-2_0;
   };
 
-  plex-media-player = libsForQt59.callPackage ../applications/video/plex-media-player { };
+  plex-media-player = libsForQt512.callPackage ../applications/video/plex-media-player { };
 
   plover = recurseIntoAttrs (libsForQt5.callPackage ../applications/misc/plover { });
 
@@ -20723,9 +20774,7 @@ in
 
   quantomatic = callPackage ../applications/science/physics/quantomatic { };
 
-  quassel = libsForQt5.callPackage ../applications/networking/irc/quassel {
-    inherit (gnome3) dconf;
-  };
+  quassel = libsForQt5.callPackage ../applications/networking/irc/quassel { };
 
   quasselClient = quassel.override {
     monolithic = false;
@@ -20941,10 +20990,6 @@ in
     protobuf = protobuf3_1;
   };
 
-  seg3d = callPackage ../applications/graphics/seg3d {
-    wxGTK = wxGTK28.override { unicode = false; };
-  };
-
   sent = callPackage ../applications/misc/sent { };
 
   seq24 = callPackage ../applications/audio/seq24 { };
@@ -20995,12 +21040,16 @@ in
 
   spice-vdagent = callPackage ../applications/virtualization/spice-vdagent { };
 
+  spike = callPackage ../applications/virtualization/spike { };
+
+  tensorman = callPackage ../tools/misc/tensorman { };
+
   spideroak = callPackage ../applications/networking/spideroak { };
 
   split2flac = callPackage ../applications/audio/split2flac { };
 
   spotify-tui = callPackage ../applications/audio/spotify-tui {
-    inherit (darwin.apple_sdk.frameworks) Security;
+    inherit (darwin.apple_sdk.frameworks) AppKit Security;
   };
 
   squishyball = callPackage ../applications/audio/squishyball {
@@ -21112,16 +21161,10 @@ in
 
   skrooge = libsForQt5.callPackage ../applications/office/skrooge {};
 
-  slim = callPackage ../applications/display-managers/slim {
-    libpng = libpng12;
-  };
-
   smartgithg = callPackage ../applications/version-management/smartgithg {
     jre = openjdk11;
   };
 
-  slimThemes = recurseIntoAttrs (callPackage ../applications/display-managers/slim/themes.nix {});
-
   smartdeblur = callPackage ../applications/graphics/smartdeblur { };
 
   snapper = callPackage ../tools/misc/snapper { };
@@ -21603,7 +21646,6 @@ in
   virt-what = callPackage ../applications/virtualization/virt-what { };
 
   virt-manager = callPackage ../applications/virtualization/virt-manager {
-    dconf = gnome3.dconf;
     system-libvirt = libvirt;
   };
 
@@ -22210,6 +22252,8 @@ in
 
   inherit (gnome3) yelp;
 
+  yelp-tools = callPackage ../development/misc/yelp-tools { };
+
   yokadi = python3Packages.callPackage ../applications/misc/yokadi {};
 
   yoshimi = callPackage ../applications/audio/yoshimi { };
@@ -22363,9 +22407,7 @@ in
 
   wownero = callPackage ../applications/blockchains/wownero.nix {};
 
-  zcash = callPackage ../applications/blockchains/zcash {
-    withGui = false;
-  };
+  zcash = callPackage ../applications/blockchains/zcash { };
 
   parity = callPackage ../applications/blockchains/parity { };
   parity-beta = callPackage ../applications/blockchains/parity/beta.nix { };
@@ -22472,7 +22514,7 @@ in
 
   chessdb = callPackage ../games/chessdb { };
 
-  chessx = libsForQt59.callPackage ../games/chessx { };
+  chessx = libsForQt5.callPackage ../games/chessx { };
 
   chiaki = libsForQt5.callPackage ../games/chiaki { };
 
@@ -22496,12 +22538,12 @@ in
 
   construoBase = lowPrio (callPackage ../games/construo {
     libGL = null;
+    libGLU = null;
     freeglut = null;
   });
 
   construo = construoBase.override {
-    inherit  freeglut;
-    libGL = libGLU_combined;
+    inherit libGL libGLU freeglut;
   };
 
   crack_attack = callPackage ../games/crack-attack { };
@@ -23259,8 +23301,6 @@ in
 
   ### DESKTOP ENVIRONMENTS
 
-  clearlooks-phenix = callPackage ../misc/themes/clearlooks-phenix { };
-
   deepin = recurseIntoAttrs (import ../desktops/deepin {
     inherit pkgs libsForQt5;
     inherit (lib) makeScope;
@@ -23299,8 +23339,8 @@ in
     topicons-plus = callPackage ../desktops/gnome-3/extensions/topicons-plus { };
     window-corner-preview = callPackage ../desktops/gnome-3/extensions/window-corner-preview { };
 
-    nohotcorner = throw "removed 2019-10-09: Since 3.34, it is a part of GNOME Shell configurable through GNOME Tweaks.";
-    mediaplayer = throw "deprecated 2019-09-23: retired upstream https://github.com/JasonLG1979/gnome-shell-extensions-mediaplayer/blob/master/README.md";
+    nohotcorner = throw "gnomeExtensions.nohotcorner removed since 2019-10-09: Since 3.34, it is a part of GNOME Shell configurable through GNOME Tweaks.";
+    mediaplayer = throw "gnomeExtensions.mediaplayer deprecated since 2019-09-23: retired upstream https://github.com/JasonLG1979/gnome-shell-extensions-mediaplayer/blob/master/README.md";
   };
 
   hsetroot = callPackage ../tools/X11/hsetroot { };
@@ -23324,50 +23364,23 @@ in
 
   plasma-applet-volumewin7mixer = libsForQt5.callPackage ../applications/misc/plasma-applet-volumewin7mixer { };
 
-  redshift = callPackage ../applications/misc/redshift {
+  inherit (callPackages ../applications/misc/redshift {
     inherit (python3Packages) python pygobject3 pyxdg wrapPython;
     inherit (darwin.apple_sdk.frameworks) CoreLocation ApplicationServices Foundation Cocoa;
     geoclue = geoclue2;
-  };
+  }) redshift redshift-wlr;
 
   redshift-plasma-applet = libsForQt5.callPackage ../applications/misc/redshift-plasma-applet { };
 
   latte-dock = libsForQt5.callPackage ../applications/misc/latte-dock { };
 
-  adwaita-qt = libsForQt5.callPackage ../misc/themes/adwaita-qt { };
-
-  orion = callPackage ../misc/themes/orion {};
-
-  albatross = callPackage ../misc/themes/albatross { };
-
-  gtk_engines = callPackage ../misc/themes/gtk2/gtk-engines { };
-
-  gtk-engine-bluecurve = callPackage ../misc/themes/gtk2/gtk-engine-bluecurve { };
-
-  gtk-engine-murrine = callPackage ../misc/themes/gtk2/gtk-engine-murrine { };
-
   gnome-themes-extra = gnome3.gnome-themes-extra;
 
-  numix-gtk-theme = callPackage ../misc/themes/numix { };
-
-  numix-solarized-gtk-theme = callPackage ../misc/themes/numix-solarized { };
-
-  numix-sx-gtk-theme = callPackage ../misc/themes/numix-sx { };
-
-  onestepback = callPackage ../misc/themes/onestepback { };
-
-  theme-vertex = callPackage ../misc/themes/vertex { };
-
   rox-filer = callPackage ../desktops/rox/rox-filer {
     gtk = gtk2;
   };
 
-  solarc-gtk-theme = callPackage ../misc/themes/solarc { };
-
-  xfce = xfce4-12;
-
-  xfce4-12 = recurseIntoAttrs (callPackage ../desktops/xfce { });
-  xfce4-14 = recurseIntoAttrs (callPackage ../desktops/xfce4-14 { });
+  xfce = recurseIntoAttrs (callPackage ../desktops/xfce { });
 
   xrandr-invert-colors = callPackage ../applications/misc/xrandr-invert-colors { };
 
@@ -24209,6 +24222,8 @@ in
 
   fastjet = callPackage ../development/libraries/physics/fastjet { };
 
+  fastjet-contrib = callPackage ../development/libraries/physics/fastjet-contrib { };
+
   fastnlo = callPackage ../development/libraries/physics/fastnlo { };
 
   geant4 = libsForQt5.callPackage ../development/libraries/physics/geant4 { };
@@ -24276,8 +24291,6 @@ in
 
   bees = callPackage ../tools/filesystems/bees { };
 
-  blackbird = callPackage ../misc/themes/blackbird { };
-
   bootil = callPackage ../development/libraries/bootil { };
 
   brgenml1lpr = pkgsi686Linux.callPackage ../misc/cups/drivers/brgenml1lpr {};
@@ -24316,8 +24329,6 @@ in
 
   terminal-parrot = callPackage ../applications/misc/terminal-parrot { };
 
-  e17gtk = callPackage ../misc/themes/e17gtk { };
-
   epson-alc1100 = callPackage ../misc/drivers/epson-alc1100 { };
 
   epson-escpr = callPackage ../misc/drivers/epson-escpr { };
@@ -24386,8 +24397,6 @@ in
 
   electricsheep = callPackage ../misc/screensavers/electricsheep { };
 
-  equilux-theme = callPackage ../misc/themes/equilux-theme { };
-
   flam3 = callPackage ../tools/graphics/flam3 { };
 
   glee = callPackage ../tools/graphics/glee { };
@@ -24447,8 +24456,6 @@ in
 
   glava = callPackage ../applications/misc/glava {};
 
-  gnome-breeze = callPackage ../misc/themes/gnome-breeze { };
-
   gnuk = callPackage ../misc/gnuk {
     gcc-arm-embedded = pkgsCross.arm-embedded.buildPackages.gcc;
     binutils-arm-embedded = pkgsCross.arm-embedded.buildPackages.binutils;
@@ -25540,4 +25547,6 @@ in
 
   sieveshell = with python3.pkgs; toPythonApplication managesieve;
 
+  gortr = callPackage ../servers/gortr {};
+
 }
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index e01534f28910..7f29d47a993c 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -23,7 +23,7 @@ let
   isLua51 = (lib.versions.majorMinor lua.version) == "5.1";
   isLua52 = (lib.versions.majorMinor lua.version) == "5.2";
   isLua53 = lua.luaversion == "5.3";
-  isLuaJIT = (builtins.parseDrvName lua.name).name == "luajit";
+  isLuaJIT = lib.getName lua == "luajit";
 
   lua-setup-hook = callPackage ../development/interpreters/lua-5/setup-hook.nix { };
 
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 38b0d43706a4..7e5aa6598c17 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -235,6 +235,8 @@ let
 
     easy-format = callPackage ../development/ocaml-modules/easy-format { };
 
+    eigen = callPackage ../development/ocaml-modules/eigen { };
+
     elina = callPackage ../development/ocaml-modules/elina { };
 
     eliom = callPackage ../development/ocaml-modules/eliom { };
@@ -374,6 +376,8 @@ let
 
     jsonm = callPackage ../development/ocaml-modules/jsonm { };
 
+    kafka = callPackage ../development/ocaml-modules/kafka { };
+
     ke = callPackage ../development/ocaml-modules/ke { };
 
     lablgl = callPackage ../development/ocaml-modules/lablgl { };
@@ -601,6 +605,10 @@ let
 
     owee = callPackage ../development/ocaml-modules/owee { };
 
+    owl-base = callPackage ../development/ocaml-modules/owl-base { };
+
+    owl = callPackage ../development/ocaml-modules/owl { };
+
     ounit = callPackage ../development/ocaml-modules/ounit { };
 
     pgsolver = callPackage ../development/ocaml-modules/pgsolver { };
@@ -755,6 +763,8 @@ let
 
     sedlex = callPackage ../development/ocaml-modules/sedlex { };
 
+    sodium = callPackage ../development/ocaml-modules/sodium { };
+
     spelll = callPackage ../development/ocaml-modules/spelll { };
 
     sqlite3EZ = callPackage ../development/ocaml-modules/sqlite3EZ { };
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 468ebd0b0039..5b8778ef12b1 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -87,11 +87,11 @@ let
 
   ack = buildPerlPackage {
     pname = "ack";
-    version = "3.1.3";
+    version = "3.2.0";
 
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PETDANCE/ack-v3.1.3.tar.gz;
-      sha256 = "0bxsrs6lv98sjdww5q6bcsm2qk4w6l5falpzjijvj1i2if123gb1";
+      url = mirror://cpan/authors/id/P/PE/PETDANCE/ack-v3.2.0.tar.gz;
+      sha256 = "00yvhkr974akdlhiyxkcz4rmfjyhvpikxf6k49b6q6iwa5a0j1ss";
     };
 
     outputs = ["out" "man"];
@@ -158,10 +158,10 @@ let
 
   AlienBuild = buildPerlPackage {
     pname = "Alien-Build";
-    version = "1.89";
+    version = "1.92";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PL/PLICEASE/Alien-Build-1.89.tar.gz;
-      sha256 = "1jr740v95hdhjxkj5kcpwb022y6iqzmsax50fa69qbiwnjjnzqzz";
+      url = mirror://cpan/authors/id/P/PL/PLICEASE/Alien-Build-1.92.tar.gz;
+      sha256 = "0y8a0ircxc93qqic1i76sspbcr4pdjg6j8ha4zbvv279f8x1g5fd";
     };
     propagatedBuildInputs = [ CaptureTiny FFICheckLib FileWhich Filechdir PathTiny PkgConfig ];
     buildInputs = [ DevelHide Test2Suite ];
@@ -221,7 +221,7 @@ let
     installPhase = "./Build install --prefix $out";
 
     SDL_INST_DIR = pkgs.SDL.dev;
-    buildInputs = [ ArchiveExtract ArchiveZip TextPatch pkgs.SDL ];
+    buildInputs = [ pkgs.SDL ArchiveExtract ArchiveZip TextPatch ];
     propagatedBuildInputs = [ CaptureTiny FileShareDir FileWhich ];
 
     meta = {
@@ -347,10 +347,10 @@ let
 
   ApacheAuthCookie = buildPerlPackage {
     pname = "Apache-AuthCookie";
-    version = "3.27";
+    version = "3.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSCHOUT/Apache-AuthCookie-3.27.tar.gz;
-      sha256 = "58daeb3e44c681ff88f8fb00e4aabaa7a40cbee73dbdb84fcf6c285b15d357bd";
+      url = mirror://cpan/authors/id/M/MS/MSCHOUT/Apache-AuthCookie-3.28.tar.gz;
+      sha256 = "bcd795a7f654a94ae0a6bd734ba4d8ba1085371fca486229dba49f1c2d62142b";
     };
     buildInputs = [ ApacheTest ];
     propagatedBuildInputs = [ ClassLoad HTTPBody HashMultiValue WWWFormUrlEncoded ];
@@ -368,10 +368,10 @@ let
 
   ApacheLogFormatCompiler = buildPerlModule {
     pname = "Apache-LogFormat-Compiler";
-    version = "0.35";
+    version = "0.36";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KAZEBURO/Apache-LogFormat-Compiler-0.35.tar.gz;
-      sha256 = "06i70ydxk2wa2rcqn16842kra2qz3jwk0vk1abq8lah4180c0m0n";
+      url = mirror://cpan/authors/id/K/KA/KAZEBURO/Apache-LogFormat-Compiler-0.36.tar.gz;
+      sha256 = "05xcl7j65vakx7x79jqjikyw0nzf60bc2w6hhc0q5sklxq1ral4l";
     };
     buildInputs = [ HTTPMessage ModuleBuildTiny TestMockTime TestRequires TryTiny URI ];
     propagatedBuildInputs = [ POSIXstrftimeCompiler ];
@@ -445,7 +445,7 @@ let
     meta = {
       description = "A container for functions of the ClusterSSH programs";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      homepage = "http://github.com/duncs/clusterssh/wiki";
+      homepage = "https://github.com/duncs/clusterssh/wiki";
     };
   };
 
@@ -507,10 +507,10 @@ let
 
   Appperlbrew = buildPerlModule {
     pname = "App-perlbrew";
-    version = "0.86";
+    version = "0.87";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GU/GUGOD/App-perlbrew-0.86.tar.gz;
-      sha256 = "11qh94am7fghizmjaf5c7w868svjbv9g4ffirykj8qa6q40zdspp";
+      url = mirror://cpan/authors/id/G/GU/GUGOD/App-perlbrew-0.87.tar.gz;
+      sha256 = "0zcczp1dq116ym05yhjpmzv5qmkwfd9lzcwiy51i8ii13qq5hja7";
     };
     buildInputs = [ pkgs.curl FileWhich IOAll ModuleBuildTiny PathClass TestException TestNoWarnings TestOutput TestSpec TestTempDirTiny ];
     propagatedBuildInputs = [ CPANPerlReleases CaptureTiny DevelPatchPerl locallib ];
@@ -1183,7 +1183,7 @@ let
       sha256 = "0z4lnc3jfqx8rykm998q2jy5wkhb8p5pir80g9lqpi4lb0ilic6c";
     };
     propagatedBuildInputs = [ Furl URI ];
-    buildInputs = [ FileWhich TestTCP TestRequires TestSharedFork ];
+    buildInputs = [ FileWhich TestRequires TestSharedFork TestTCP ];
     meta = {
       description = "KyotoTycoon client library";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -1519,7 +1519,7 @@ let
     buildInputs = [ TestFatal ];
     propagatedBuildInputs = [ CatalystActionRenderView CatalystPluginConfigLoader CatalystPluginStaticSimple ConfigGeneral FileChangeNotify FileCopyRecursive ModuleInstall TemplateToolkit ];
     meta = {
-      homepage = http://dev.catalyst.perl.org/;
+      homepage = http://wiki.catalystframework.org/wiki/;
       description = "Catalyst Development Tools";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -1577,7 +1577,7 @@ let
     buildInputs = [ TestFatal TypeTiny ];
     propagatedBuildInputs = [ CGISimple CGIStruct ClassC3AdoptNEXT DataDump HTTPBody ModulePluggable MooseXEmulateClassAccessorFast MooseXGetopt MooseXMethodAttributes MooseXRoleWithOverloading PathClass PerlIOutf8_strict PlackMiddlewareFixMissingBodyInRedirect PlackMiddlewareMethodOverride PlackMiddlewareRemoveRedundantBody PlackMiddlewareReverseProxy PlackTestExternalServer SafeIsa StringRewritePrefix TaskWeaken TextSimpleTable TreeSimpleVisitorFactory URIws ];
     meta = {
-      homepage = http://dev.catalyst.perl.org/;
+      homepage = http://wiki.catalystframework.org/wiki/;
       description = "The Catalyst Framework Runtime";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -1971,7 +1971,7 @@ let
       sha256 = "1c32b30131871e8a7b23f47d8f65d9cdeb87069fa4c221781a03416496f91f16";
     };
     meta = {
-      homepage = "http://github.com/toddr/CDB_File";
+      homepage = "https://github.com/toddr/CDB_File";
       description = "Perl extension for access to cdb databases";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -2769,10 +2769,10 @@ let
 
   CompressRawBzip2 = buildPerlPackage {
     pname = "Compress-Raw-Bzip2";
-    version = "2.087";
+    version = "2.090";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.087.tar.gz;
-      sha256 = "1yqcy26dlcgy5gkl6rvvj60f83kgd99y8qylynibjx84vbyhvfvp";
+      url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.090.tar.gz;
+      sha256 = "0yi972il6i0ya65qar0767mm3sb2wbsrllsgx6296s5myh2838p6";
     };
 
     # Don't build a private copy of bzip2.
@@ -2788,11 +2788,11 @@ let
 
   CompressRawZlib = buildPerlPackage {
     pname = "Compress-Raw-Zlib";
-    version = "2.087";
+    version = "2.090";
 
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.087.tar.gz;
-      sha256 = "13gfbfhaw1iiz2vmgpjggrcd704czqx3jk5alw765cw6wghwk0cc";
+      url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.090.tar.gz;
+      sha256 = "0ndgkv7z4zi3ffail9abp02x62dx1j3pnxn3rjw91py7pjd4kj7j";
     };
 
     preConfigure = ''
@@ -3049,10 +3049,10 @@ let
 
   Connector = buildPerlPackage {
     pname = "Connector";
-    version = "1.27";
+    version = "1.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MR/MRSCOTTY/Connector-1.27.tar.gz;
-      sha256 = "98ff4700fde2b7872d89566a3308d03c2899c88cb6317af901869513bdbfb603";
+      url = mirror://cpan/authors/id/M/MR/MRSCOTTY/Connector-1.28.tar.gz;
+      sha256 = "0cd1575bab80e78294aa79809904f40d2f534d99b78e0161454f037625c6bf7d";
     };
     buildInputs = [ ConfigMerge ConfigStd ConfigVersioned DBDSQLite DBI ProcSafeExec TemplateToolkit YAML ];
     propagatedBuildInputs = [ LogLog4perl Moose ];
@@ -3234,10 +3234,10 @@ let
 
   CpanelJSONXS = buildPerlPackage {
     pname = "Cpanel-JSON-XS";
-    version = "4.14";
+    version = "4.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RU/RURBAN/Cpanel-JSON-XS-4.14.tar.gz;
-      sha256 = "6e63bf65cd7e94f08fb8ae7ccd6f94fb3447852865882bba9aaa155c9eea5938";
+      url = mirror://cpan/authors/id/R/RU/RURBAN/Cpanel-JSON-XS-4.17.tar.gz;
+      sha256 = "fa80ae47caa9beee6db9b12df2c04482e98df1d62041a114ccd82b681a8706fb";
     };
     meta = {
       description = "CPanel fork of JSON::XS, fast and correct serializing";
@@ -3316,10 +3316,10 @@ let
 
   CPANPerlReleases = buildPerlPackage {
     pname = "CPAN-Perl-Releases";
-    version = "4.14";
+    version = "4.22";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BINGOS/CPAN-Perl-Releases-4.14.tar.gz;
-      sha256 = "0ki6bc0wdc047nyx2j4byk8nsrnm18vn0nr1s1x9wh3xi0wasn7r";
+      url = mirror://cpan/authors/id/B/BI/BINGOS/CPAN-Perl-Releases-4.22.tar.gz;
+      sha256 = "1gwa1jzcv08fjg282jxakh24zni6ajgwhgraz6hjxk1j2hiaykjd";
     };
     meta = {
       homepage = https://github.com/bingos/cpan-perl-releases;
@@ -3420,6 +3420,19 @@ let
     NIX_CFLAGS_LINK = "-L${pkgs.gmp.out}/lib -lgmp";
   };
 
+  CryptECB = buildPerlPackage {
+    pname = "Crypt-ECB";
+    version = "2.21";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/A/AP/APPEL/Crypt-ECB-2.21.tar.gz";
+      sha256 = "890f8b3040220ea705ee5ca4f9bd23435a1779bc3ffa75533736e6c9c21d1015";
+    };
+    meta = with stdenv.lib; {
+      description = "Use block ciphers using ECB mode";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   CryptEksblowfish = buildPerlModule {
     pname = "Crypt-Eksblowfish";
     version = "0.009";
@@ -3763,10 +3776,10 @@ let
 
   CryptX = buildPerlPackage {
     pname = "CryptX";
-    version = "0.064";
+    version = "0.066";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIK/CryptX-0.064.tar.gz;
-      sha256 = "176ef4d2eac80731b360db04289431f0b96acc2568a1fec856abed4a51779a47";
+      url = mirror://cpan/authors/id/M/MI/MIK/CryptX-0.066.tar.gz;
+      sha256 = "e7e823ac4db0b452e885b0e0d5adfc8a9c5f688938f1adf3f1d91432b3238335";
     };
     meta = {
       description = "Crypto toolkit";
@@ -3804,12 +3817,12 @@ let
 
   DataCompare = buildPerlPackage {
     pname = "Data-Compare";
-    version = "1.26";
+    version = "1.27";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DC/DCANTRELL/Data-Compare-1.26.tar.gz;
-      sha256 = "03g0z2w8hz7750x6wkl6zq7shk12fry44gkzrz7b904s5fmphl4p";
+      url = mirror://cpan/authors/id/D/DC/DCANTRELL/Data-Compare-1.27.tar.gz;
+      sha256 = "1gg8rqbv3x6a1lrpabv6vnlab53zxmpwz2ygad9fcx4gygqj12l1";
     };
-    propagatedBuildInputs = [ FileFindRule ];
+    propagatedBuildInputs = [ Clone FileFindRule ];
   };
 
   DataDump = buildPerlPackage {
@@ -4349,10 +4362,10 @@ let
 
   DateTimeCalendarJulian = buildPerlPackage {
     pname = "DateTime-Calendar-Julian";
-    version = "0.101";
+    version = "0.102";
     src = fetchurl {
-      url = mirror://cpan/authors/id/W/WY/WYANT/DateTime-Calendar-Julian-0.101.tar.gz;
-      sha256 = "1q7zflwv44yybyz5nd01bc69zw5m540qg4fnh4xlj2icbm3sf7br";
+      url = mirror://cpan/authors/id/W/WY/WYANT/DateTime-Calendar-Julian-0.102.tar.gz;
+      sha256 = "0j95dhma66spjyb04zi6rwy7l33hibnrx02mn0znd9m89aiq52s6";
     };
     meta = {
       description = "Dates in the Julian calendar";
@@ -4602,10 +4615,10 @@ let
 
   DateTimeTimeZone = buildPerlPackage {
     pname = "DateTime-TimeZone";
-    version = "2.37";
+    version = "2.38";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-TimeZone-2.37.tar.gz;
-      sha256 = "6c12dfa6ad190191d437a7661c644fc38aaf109001e1d958c95dbb0aa143c421";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-TimeZone-2.38.tar.gz;
+      sha256 = "0e5c99ef22471f4d262ac590ce5ce8177094d7a92f380d8eea6219f5a12dc0cd";
     };
     buildInputs = [ TestFatal TestRequires ];
     propagatedBuildInputs = [ ClassSingleton ParamsValidationCompiler Specio namespaceautoclean ];
@@ -4690,12 +4703,12 @@ let
 
   DevelChecklib = buildPerlPackage {
     pname = "Devel-CheckLib";
-    version = "1.13";
+    version = "1.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MATTN/Devel-CheckLib-1.13.tar.gz;
-      sha256 = "1a19qkwxwz3wqb16cdabymfbf9kiydiifw90nd5srpq5hy8gvb94";
+      url = mirror://cpan/authors/id/M/MA/MATTN/Devel-CheckLib-1.14.tar.gz;
+      sha256 = "15621qh5gaan1sgmk9y9svl70nm8viw17x5h1kf0zknkk8lmw77j";
     };
-    buildInputs = [ IOCaptureOutput MockConfig ];
+    buildInputs = [ CaptureTiny MockConfig ];
   };
 
   DevelCheckOS = buildPerlPackage {
@@ -4710,10 +4723,10 @@ let
 
   DevelPatchPerl = buildPerlPackage {
     pname = "Devel-PatchPerl";
-    version = "1.64";
+    version = "1.80";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BINGOS/Devel-PatchPerl-1.64.tar.gz;
-      sha256 = "16fl04m0b9jccq30h7myaj6hsv4ivx53i3q5klq0d0q6w0k5sb4v";
+      url = mirror://cpan/authors/id/B/BI/BINGOS/Devel-PatchPerl-1.80.tar.gz;
+      sha256 = "0nffiyfa1dx1ypg2chckpzh7syx47z10rxg6fjf4sb5d1gryxmmf";
     };
     propagatedBuildInputs = [ Filepushd ModulePluggable ];
     meta = {
@@ -4739,10 +4752,10 @@ let
 
   DevelPPPort = buildPerlPackage {
     pname = "Devel-PPPort";
-    version = "3.54";
+    version = "3.55";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AT/ATOOMIC/Devel-PPPort-3.54.tar.gz;
-      sha256 = "f30fbbef7bdd6fb12348caf39e795c19c1639b8156e2e2f2927205140e35b0a9";
+      url = mirror://cpan/authors/id/A/AT/ATOOMIC/Devel-PPPort-3.55.tar.gz;
+      sha256 = "bac0421ed1ba02f118f2bc1b1a760616847a0c60cb0184651f3f076f46d0946e";
     };
     meta = {
       description = "Perl/Pollution/Portability";
@@ -4798,10 +4811,10 @@ let
 
   DBDMock = buildPerlModule {
     pname = "DBD-Mock";
-    version = "1.49";
+    version = "1.52";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JL/JLCOOPER/DBD-Mock-1.49.tar.gz;
-      sha256 = "3c88bd9322d3d1a215b0c8dad8b27f06885a063f8f47fb8747f6e86f8b9d7116";
+      url = mirror://cpan/authors/id/J/JL/JLCOOPER/DBD-Mock-1.52.tar.gz;
+      sha256 = "c33ac1118ff4e6a542e62e0fc56d9c0d4abecc442c7acb59c0975fc376812442";
     };
     propagatedBuildInputs = [ DBI ];
     buildInputs = [ ModuleBuildTiny TestException ];
@@ -4982,7 +4995,7 @@ let
       EOF
     '';
     meta = {
-      homepage = http://dbi.perl.org/;
+      homepage = https://dbi.perl.org/;
       description = "Database independent interface for Perl";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -5013,9 +5026,9 @@ let
       sha256 = "d705f85825aced299020534349778537524526d64f524217ca362787f683c3bd";
     };
     buildInputs = [ DBDSQLite TestDeep TestException TestWarn ];
-    propagatedBuildInputs = [ ClassAccessorGrouped ClassC3Componentised ConfigAny ContextPreserve DBI DataDumperConcise DataPage ModuleFind PathClass SQLAbstract ScopeGuard SubName namespaceclean ];
+    propagatedBuildInputs = [ ClassAccessorGrouped ClassC3Componentised ConfigAny ContextPreserve DBI DataDumperConcise DataPage DevelGlobalDestruction ModuleFind PathClass SQLAbstract ScopeGuard SubName namespaceclean ];
     meta = {
-      homepage = http://www.dbix-class.org/;
+      homepage = https://metacpan.org/pod/DBIx::Class;
       description = "Extensible and flexible object <-> relational mapper";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -5081,10 +5094,10 @@ let
 
   DBIxClassHelpers = buildPerlPackage {
     pname = "DBIx-Class-Helpers";
-    version = "2.034000";
+    version = "2.034001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FR/FREW/DBIx-Class-Helpers-2.034000.tar.gz;
-      sha256 = "bf92b5495fddd50daa15126e015d5d210a44b6bb43baa8859b5adaa57cd96c59";
+      url = mirror://cpan/authors/id/F/FR/FREW/DBIx-Class-Helpers-2.034001.tar.gz;
+      sha256 = "5bdbe716a32eec30d12fd743169a8d99b7358eaef8b153224ca61aa543c283c9";
     };
     buildInputs = [ DBDSQLite DateTimeFormatSQLite TestDeep TestFatal TestRoo aliased ];
     propagatedBuildInputs = [ CarpClan DBIxClassCandy DBIxIntrospector SafeIsa TextBrew ];
@@ -6257,6 +6270,20 @@ let
     };
   };
 
+  EnvSanctify = buildPerlPackage {
+    pname = "Env-Sanctify";
+    version = "1.12";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/B/BI/BINGOS/Env-Sanctify-1.12.tar.gz;
+      sha256 = "0prj51c9w4k6nrpnpfw6an96953vna74g698kyk78m163ikbbqr0";
+    };
+    meta = {
+      description = "Lexically scoped sanctification of %ENV";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      homepage = "https://github.com/bingos/env-sanctify";
+    };
+  };
+
   Error = buildPerlModule {
     pname = "Error";
     version = "0.17028";
@@ -6268,10 +6295,10 @@ let
 
   EV = buildPerlPackage {
     pname = "EV";
-    version = "4.27";
+    version = "4.29";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/ML/MLEHMANN/EV-4.27.tar.gz;
-      sha256 = "55750e5422d8cac7a2d0c89feeaca7d840ab2268f4c537655cdda0085e0d0cbc";
+      url = mirror://cpan/authors/id/M/ML/MLEHMANN/EV-4.29.tar.gz;
+      sha256 = "cbed1824ac9ef0740325140393216be55a6eb8f16a5996395fab243ee28da78e";
     };
     buildInputs = [ CanaryStability ];
     propagatedBuildInputs = [ commonsense ];
@@ -7438,8 +7465,8 @@ let
       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Furl-3.13.tar.gz";
       sha256 = "1wxa2v9yjzvnzp62p1jvcx8x61z5qvlvzyah853vvaywpjxwyyl8";
     };
-    propagatedBuildInputs = [ HTTPParserXS ModuleBuildTiny ClassAccessorLite ];
-    buildInputs = [ HTTPBody HTTPProxy NetIDNEncode Plack PlackMiddlewareDeflater Starlet TestRequires TestTCP TestSharedFork ];
+    propagatedBuildInputs = [ ClassAccessorLite HTTPParserXS MozillaCA ];
+    buildInputs = [ HTTPCookieJar HTTPProxy ModuleBuildTiny Plack Starlet TestFakeHTTPD TestRequires TestSharedFork TestTCP TestValgrind URI ];
     meta = {
       description = "Lightning-fast URL fetcher";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -7750,6 +7777,7 @@ let
       sha256 = "af53f2d3f63297e046676eae14a76296afdd2910e09723b6b113708622b7989b";
     };
     buildInputs = [ pkgs.gnupg1orig ];
+    doCheck = !stdenv.isAarch64;
   };
 
   GnuPGInterface = buildPerlPackage {
@@ -8534,12 +8562,28 @@ let
     };
   };
 
+  HTTPCookieJar = buildPerlPackage {
+    pname = "HTTP-CookieJar";
+    version = "0.008";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/HTTP-CookieJar-0.008.tar.gz;
+      sha256 = "0rfw6avcralggs7bf7n86flvhaahxjnqzvpwszp0sk4z4wwy01wm";
+    };
+    propagatedBuildInputs = [ HTTPDate ];
+    buildInputs = [ TestDeep TestRequires URI ];
+    meta = {
+      description = "A minimalist HTTP user agent cookie jar";
+      license = with stdenv.lib.licenses; [ asl20 ];
+      homepage = "https://github.com/dagolden/HTTP-CookieJar";
+    };
+  };
+
   HTTPCookies = buildPerlPackage {
     pname = "HTTP-Cookies";
-    version = "6.04";
+    version = "6.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Cookies-6.04.tar.gz;
-      sha256 = "1m0kxcirbvbkrm2c59p1bkbvzlcdymg8fdpa7wlxijlx0xwz1iqc";
+      url = mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Cookies-6.07.tar.gz;
+      sha256 = "0apa7smnlzanh1gdrm7id42iv64vy5skj53ank2rsk07avg8qbva";
     };
     propagatedBuildInputs = [ HTTPMessage ];
     meta = {
@@ -8564,23 +8608,24 @@ let
 
   HTTPDate = buildPerlPackage {
     pname = "HTTP-Date";
-    version = "6.02";
+    version = "6.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/HTTP-Date-6.02.tar.gz;
-      sha256 = "0cz357kafhhzw7w59iyi0wvhw7rlh5g1lh38230ckw7rl0fr9fg8";
+      url = mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Date-6.05.tar.gz;
+      sha256 = "0awjdbz7x0jd5pna55dwxhs3k6xp3sw6b2zg3p2yndxxvya64p9n";
     };
     meta = {
       description = "Date conversion routines";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    propagatedBuildInputs = [ TimeDate TimeLocal ];
   };
 
   HTTPEntityParser = buildPerlModule {
      pname = "HTTP-Entity-Parser";
-     version = "0.21";
+     version = "0.22";
      src = fetchurl {
-       url = mirror://cpan/authors/id/K/KA/KAZEBURO/HTTP-Entity-Parser-0.21.tar.gz;
-       sha256 = "1n7qhyscllialds5jsk1k8x2vmfbjvisa3342as5x15hpm13wkf1";
+       url = mirror://cpan/authors/id/K/KA/KAZEBURO/HTTP-Entity-Parser-0.22.tar.gz;
+       sha256 = "1j6nxs0nmx160ip0xw9gb3l19ii8pz9x1ay1y15q7rmllbr1rzlk";
      };
      propagatedBuildInputs = [ HTTPMultiPartParser HashMultiValue JSONMaybeXS StreamBuffered WWWFormUrlEncoded ];
      buildInputs = [ HTTPMessage ModuleBuildTiny ];
@@ -8835,10 +8880,10 @@ let
 
   ImageInfo = buildPerlPackage {
     pname = "Image-Info";
-    version = "1.41";
+    version = "1.42";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SR/SREZIC/Image-Info-1.41.tar.gz;
-      sha256 = "c546d27414686660dbc3cd8501537128c5285a8db0faf742c2dc12b9a29ba3db";
+      url = mirror://cpan/authors/id/S/SR/SREZIC/Image-Info-1.42.tar.gz;
+      sha256 = "2bca560c3f71b3c1cd63ac3a974e62f3baeb986b7ffaa026b929081b914a8f4f";
     };
     propagatedBuildInputs = [ IOStringy ];
     meta = {
@@ -8849,10 +8894,10 @@ let
 
   ImageSane = buildPerlPackage {
     pname = "Image-Sane";
-    version = "4";
+    version = "5";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RA/RATCLIFFE/Image-Sane-4.tar.gz;
-      sha256 = "f970a0314e554f6fe29dcc651aec5bd45b32d547801d304434ae80b4b806896b";
+      url = mirror://cpan/authors/id/R/RA/RATCLIFFE/Image-Sane-5.tar.gz;
+      sha256 = "229aa0e9f049efa760f3c2f6e61d9d539af43d8f764b50a6e03064b4729a35ff";
     };
     buildInputs = [ pkgs.sane-backends ExtUtilsDepends ExtUtilsPkgConfig TestRequires TryTiny ];
     propagatedBuildInputs = [ ExceptionClass Readonly ];
@@ -8971,10 +9016,10 @@ let
 
   IOCaptureOutput = buildPerlPackage {
     pname = "IO-CaptureOutput";
-    version = "1.1104";
+    version = "1.1105";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/IO-CaptureOutput-1.1104.tar.gz;
-      sha256 = "fcc732fcb438f97a72b30e8c7796484bef2562e374553b207028e2fbf73f8330";
+      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/IO-CaptureOutput-1.1105.tar.gz;
+      sha256 = "ae99009fca1273800f169ecb82f4ed1cc6c76795f156bee5c0093005d572f487";
     };
     meta = {
       homepage = https://github.com/dagolden/IO-CaptureOutput;
@@ -8985,10 +9030,10 @@ let
 
   IOCompress = buildPerlPackage {
     pname = "IO-Compress";
-    version = "2.087";
+    version = "2.090";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PM/PMQS/IO-Compress-2.087.tar.gz;
-      sha256 = "94f792775d0496fffe862363c76637e74ff5b46c40cf47042547686d164e23cb";
+      url = mirror://cpan/authors/id/P/PM/PMQS/IO-Compress-2.090.tar.gz;
+      sha256 = "4c12e54a83f993372d43dd67389a1ca92b5c33c108c7f86768a4797cd994e987";
     };
     propagatedBuildInputs = [ CompressRawBzip2 CompressRawZlib ];
     meta = {
@@ -9522,10 +9567,10 @@ let
 
   JSONValidator = buildPerlPackage {
     pname = "JSON-Validator";
-    version = "3.15";
+    version = "3.16";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/JSON-Validator-3.15.tar.gz";
-      sha256 = "ce14ed018b9843ef022c4c14e2171545d3da92e533c8f122b8e33f27444b2a6c";
+      url = mirror://cpan/authors/id/J/JH/JHTHORSEN/JSON-Validator-3.16.tar.gz;
+      sha256 = "d20775cf5fb1a61a6054a5bd3ce45b5371ac8ed483efca3cb8dc8a09937efe4e";
     };
     buildInputs = [ TestDeep ];
     propagatedBuildInputs = [ DataValidateDomain DataValidateIP Mojolicious NetIDNEncode YAMLLibYAML ];
@@ -10014,10 +10059,10 @@ let
 
   ListSomeUtils = buildPerlPackage {
     pname = "List-SomeUtils";
-    version = "0.56";
+    version = "0.58";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/List-SomeUtils-0.56.tar.gz;
-      sha256 = "eaa7d99ce86380c0389876474c8eb84acc0a6bfeef1b0fc23a292592de6f89f7";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/List-SomeUtils-0.58.tar.gz;
+      sha256 = "96eafb359339d22bf2a2de421298847a3c40f6a28b6d44005d0965da86a5469d";
     };
     buildInputs = [ TestLeakTrace ];
     propagatedBuildInputs = [ ModuleImplementation ];
@@ -10275,10 +10320,10 @@ let
 
   LogDispatch = buildPerlPackage {
     pname = "Log-Dispatch";
-    version = "2.68";
+    version = "2.69";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/Log-Dispatch-2.68.tar.gz;
-      sha256 = "1bxd3bhrn1h2q9f8r65z3101a32nl2kdb7l40bxg4vbsk4wk0ynh";
+      url = mirror://cpan/authors/id/D/DR/DROLSKY/Log-Dispatch-2.69.tar.gz;
+      sha256 = "0xsjb0j3dzs8ym8jbgi29kia4pz5vl8jzkmpxxrhhqjc1h54qqjq";
     };
     propagatedBuildInputs = [ DevelGlobalDestruction ParamsValidationCompiler Specio namespaceautoclean ];
     meta = {
@@ -10295,12 +10340,12 @@ let
       url = "mirror://cpan/authors/id/M/MS/MSCHOUT/Log-Dispatch-FileRotate-1.36.tar.gz";
       sha256 = "0vlmi17p7fky3x58rs7r5mdxi6l5jla8zhlb55kvssxc1w5v2b27";
     };
-    propagatedBuildInputs = [ DateManip LogDispatch PathTiny ];
+    propagatedBuildInputs = [ DateManip LogDispatch ];
     meta = {
       description = "Log to Files that Archive/Rotate Themselves";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
-    buildInputs = [ TestFatal TestNeeds TestWarn ];
+    buildInputs = [ PathTiny TestWarn ];
   };
 
   LogHandler = buildPerlModule {
@@ -10420,7 +10465,7 @@ let
       url = "mirror://cpan/authors/id/L/LK/LKUNDRAK/Log-Journald-${version}.tar.gz";
       sha256 = "55992cf9a1e1fb833f428300525bfa7cf7ed46b83ec414f82a091789b37d08a3";
     };
-    buildInputs = [ ModuleBuild pkgs.pkgconfig pkgs.systemd ];
+    buildInputs = [ pkgs.pkgconfig pkgs.systemd ];
     postPatch = ''
       substituteInPlace Build.PL \
         --replace "libsystemd-journal" "libsystemd"
@@ -10447,10 +10492,10 @@ let
 
   LWP = buildPerlPackage {
     pname = "libwww-perl";
-    version = "6.39";
+    version = "6.42";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OA/OALDERS/libwww-perl-6.39.tar.gz;
-      sha256 = "9a8d7747938aa75d7d524c71574ae7f99ca66a5dac8255a7f7759f373e7774d5";
+      url = mirror://cpan/authors/id/O/OA/OALDERS/libwww-perl-6.42.tar.gz;
+      sha256 = "34253337a3404c4209d0e45377c9176d0ab6ea4b4570e3a597e26157181741d1";
     };
     propagatedBuildInputs = [ FileListing HTMLParser HTTPCookies HTTPDaemon HTTPNegotiate NetHTTP TryTiny WWWRobotRules ];
     # support cross-compilation by avoiding using `has_module` which does not work in miniperl (it requires B native module)
@@ -10680,10 +10725,10 @@ let
 
   MailDKIM = buildPerlPackage {
     pname = "Mail-DKIM";
-    version = "0.57";
+    version = "0.58";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MB/MBRADSHAW/Mail-DKIM-0.57.tar.gz;
-      sha256 = "0fmfhwn4sh98w62rc8j584l23vlhr7vii8glm2njx14f81a56lvb";
+      url = mirror://cpan/authors/id/M/MB/MBRADSHAW/Mail-DKIM-0.58.tar.gz;
+      sha256 = "0cgkal65qqcy57b21lgij90ba36wl66byw9i76g5yhwaa8ms8hqa";
     };
     propagatedBuildInputs = [ CryptOpenSSLRSA MailAuthenticationResults MailTools NetDNSResolverMock YAMLLibYAML ];
     doCheck = false; # tries to access the domain name system
@@ -11235,10 +11280,10 @@ let
 
   MIMELite = buildPerlPackage {
     pname = "MIME-Lite";
-    version = "3.030";
+    version = "3.031";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/MIME-Lite-3.030.tar.gz;
-      sha256 = "8f39901bc580bc3dce69e10415305e4435ff90264c63d29f707b4566460be962";
+      url = mirror://cpan/authors/id/R/RJ/RJBS/MIME-Lite-3.031.tar.gz;
+      sha256 = "f1235866482b67f00858b3edaa4ff4cf909ef900f1d15d889948bf9c03a591e0";
     };
     propagatedBuildInputs = [ EmailDateFormat ];
     meta = {
@@ -11759,10 +11804,10 @@ let
 
   Mojolicious = buildPerlPackage {
     pname = "Mojolicious";
-    version = "8.25";
+    version = "8.26";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SR/SRI/Mojolicious-8.25.tar.gz;
-      sha256 = "0yr5vpgwg9x435npzc6v477y260dgbj2yl9lxdjimmr6n5jryv1n";
+      url = mirror://cpan/authors/id/S/SR/SRI/Mojolicious-8.26.tar.gz;
+      sha256 = "17x3phc4ch85398kdybsz6cbraszby9dvlvcj6a6xscb20x35k4i";
     };
     meta = {
       homepage = https://mojolicious.org;
@@ -11790,10 +11835,10 @@ let
 
   MojoliciousPluginOpenAPI = buildPerlPackage {
     pname = "Mojolicious-Plugin-OpenAPI";
-    version = "2.17";
+    version = "2.18";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojolicious-Plugin-OpenAPI-2.17.tar.gz";
-      sha256 = "c20f8b07fb8582fdbf0b540f4cfc5fe95f262743522a160526024342a7f0a1f0";
+      url = mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojolicious-Plugin-OpenAPI-2.18.tar.gz;
+      sha256 = "340afe815e6195bc0ed5abcf5bcd0fdedf0be62656cede1768cfd99b62633d23";
     };
     propagatedBuildInputs = [ JSONValidator ];
     meta = {
@@ -11838,10 +11883,10 @@ let
 
   MojoSQLite = buildPerlModule {
     pname = "Mojo-SQLite";
-    version = "3.003";
+    version = "3.002";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/D/DB/DBOOK/Mojo-SQLite-3.003.tar.gz";
-      sha256 = "d96c00dcf45e2becc8e8181df074853d42616f2a660703455d0e0a2741478092";
+      url = mirror://cpan/authors/id/D/DB/DBOOK/Mojo-SQLite-3.002.tar.gz;
+      sha256 = "d7c6588599cfe30b24b3953927f23cfe0f9f5d3e77eeab1562249b48c205b699";
     };
     buildInputs = [ ModuleBuildTiny ];
     propagatedBuildInputs = [ DBDSQLite Mojolicious SQLAbstract URIdb ];
@@ -11932,13 +11977,13 @@ let
 
   Moo = buildPerlPackage {
     pname = "Moo";
-    version = "2.003004";
+    version = "2.003006";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/Moo-2.003004.tar.gz;
-      sha256 = "f8bbb625f8e963eabe05cff9048fdd72bdd26777404ff2c40bc690f558be91e1";
+      url = mirror://cpan/authors/id/H/HA/HAARG/Moo-2.003006.tar.gz;
+      sha256 = "bcb2092ab18a45005b5e2e84465ebf3a4999d8e82a43a09f5a94d859ae7f2472";
     };
     buildInputs = [ TestFatal ];
-    propagatedBuildInputs = [ ClassMethodModifiers DevelGlobalDestruction ModuleRuntime RoleTiny SubQuote ];
+    propagatedBuildInputs = [ ClassMethodModifiers ModuleRuntime RoleTiny SubQuote ];
     meta = {
       description = "Minimalist Object Orientation (with Moose compatibility)";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -12184,10 +12229,10 @@ let
 
   MooXlate = buildPerlPackage {
     pname = "MooX-late";
-    version = "0.015";
+    version = "0.016";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TOBYINK/MooX-late-0.015.tar.gz;
-      sha256 = "175326af3076fa8698669f289fad1322724978cddaf40ea04e600fcd7f6afbbf";
+      url = mirror://cpan/authors/id/T/TO/TOBYINK/MooX-late-0.016.tar.gz;
+      sha256 = "1fb6393e8b77c0ec1e99229bc6f5b9db362eedc172fa940b37defd9bb3415e4e";
     };
     buildInputs = [ TestFatal TestRequires ];
     propagatedBuildInputs = [ Moo TypeTiny ];
@@ -12224,6 +12269,21 @@ let
     };
   };
 
+  TestValgrind = buildPerlPackage {
+    pname = "Test-Valgrind";
+    version = "1.19";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/V/VP/VPIT/Test-Valgrind-1.19.tar.gz;
+      sha256 = "06w1c0ddmmdkhhvv9pxq2nv5i40nbqf4cssfkq38yypfbyhsff0q";
+    };
+    propagatedBuildInputs = [ EnvSanctify FileHomeDir PerlDestructLevel XMLTwig ];
+    meta = {
+      description = "Generate suppressions, analyse and test any command with valgrind.";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      homepage = "http://search.cpan.org/dist/Test-Valgrind/";
+    };
+  };
+
   MouseXTypesPathClass = buildPerlPackage {
     pname = "MouseX-Types-Path-Class";
     version = "0.07";
@@ -12905,6 +12965,22 @@ let
     };
   };
 
+  MySQLDiff = buildPerlPackage rec {
+    pname = "MySQL-Diff";
+    version = "0.60";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/E/ES/ESTRABD/MySQL-Diff-0.60.tar.gz";
+      sha256 = "5d7080a4bd5714ff9ef536aa774a7adb3c6f0e760215ca6c39d8a3545344f956";
+    };
+    propagatedBuildInputs = [ pkgs.mysql-client FileSlurp StringShellQuote ];
+    meta = {
+      homepage = "https://github.com/estrabd/mysqldiff";
+      description = "Generates a database upgrade instruction set";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+      maintainers = [ maintainers.sgo ];
+    };
+  };
+
   namespaceautoclean = buildPerlPackage {
     pname = "namespace-autoclean";
     version = "0.29";
@@ -13689,8 +13765,8 @@ let
       sha256 = "1q3lz168q081iwl9jg21fbzhp9la79gav9mv6nmh2jab83s2l3mj";
     };
 
-    # FIXME: try with libGL + libGLU instead of libGLU_combined
-    buildInputs = [ pkgs.libGLU_combined pkgs.libGLU pkgs.freeglut pkgs.xorg.libX11 pkgs.xorg.libXi pkgs.xorg.libXmu pkgs.xorg.libXext pkgs.xdummy ];
+    # FIXME: try with libGL + libGLU instead of libGLU libGL
+    buildInputs = [ pkgs.libGLU pkgs.libGL pkgs.libGLU pkgs.freeglut pkgs.xorg.libX11 pkgs.xorg.libXi pkgs.xorg.libXmu pkgs.xorg.libXext pkgs.xdummy ];
 
     patches = [ ../development/perl-modules/perl-opengl.patch ];
 
@@ -14032,10 +14108,10 @@ let
 
   ParsePMFile = buildPerlPackage {
      pname = "Parse-PMFile";
-     version = "0.41";
+     version = "0.42";
      src = fetchurl {
-       url = mirror://cpan/authors/id/I/IS/ISHIGAKI/Parse-PMFile-0.41.tar.gz;
-       sha256 = "1ffv9msp4xjfaylay2zfqangxhgyr5xk993k5n1k08hh6qagq8df";
+       url = mirror://cpan/authors/id/I/IS/ISHIGAKI/Parse-PMFile-0.42.tar.gz;
+       sha256 = "0v3k5jslbl29735hs32x9si546v55cyy6sb58aib8vmq684wgxp7";
      };
      buildInputs = [ ExtUtilsMakeMakerCPANfile ];
      meta = {
@@ -14232,6 +14308,17 @@ let
     };
   };
 
+  PerlDestructLevel = buildPerlPackage {
+    pname = "Perl-Destruct-Level";
+    version = "0.02";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/R/RG/RGARCIA/Perl-Destruct-Level-0.02.tar.gz;
+      sha256 = "0fyiysrq874ncscgdjg522fs29gvqads6ynyhwxwwq1b545srd20";
+    };
+    meta = {
+    };
+  };
+
   PerlIOeol = buildPerlPackage {
     pname = "PerlIO-eol";
     version = "0.17";
@@ -14684,10 +14771,10 @@ let
 
   ProcBackground = buildPerlPackage {
     pname = "Proc-Background";
-    version = "1.10";
+    version = "1.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BZ/BZAJAC/Proc-Background-1.10.tar.gz;
-      sha256 = "1ce0dd78c0bb8393a2431b385a27b99fcc623a41ebec57b3cc09cc38cdb708ee";
+      url = mirror://cpan/authors/id/N/NE/NERDVANA/Proc-Background-1.21.tar.gz;
+      sha256 = "91b6a5aeb841b1c313498c78fad08e37d17595702dc6205b5ad38ef69949b7ee";
     };
     meta = {
     };
@@ -14808,11 +14895,11 @@ let
 
   ProtocolHTTP2 = buildPerlModule {
     pname = "Protocol-HTTP2";
-    version = "1.09";
+    version = "1.10";
 
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CR/CRUX/Protocol-HTTP2-1.09.tar.gz;
-      sha256 = "1bc0ybkqhv81dscgzlbr62w4zqjsidcikmkbjanzn83g2b6ia9nc";
+      url = mirror://cpan/authors/id/C/CR/CRUX/Protocol-HTTP2-1.10.tar.gz;
+      sha256 = "0jm6jq1wszjrrcypyi642m2i8wgni50wdnzh9dzfkyjazdc00sn2";
     };
     buildInputs = [ AnyEvent ModuleBuildTiny NetSSLeay TestLeakTrace TestSharedFork TestTCP ];
   };
@@ -15141,10 +15228,10 @@ let
 
   PodSimple = buildPerlPackage {
     pname = "Pod-Simple";
-    version = "3.39";
+    version = "3.40";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KH/KHW/Pod-Simple-3.39.tar.gz;
-      sha256 = "0qh43griaz3i21ca745irrnjbksv5q07h4wdjv28nqpcc55pva8m";
+      url = mirror://cpan/authors/id/K/KH/KHW/Pod-Simple-3.40.tar.gz;
+      sha256 = "0384k8k18srsdj2a2j10gbvv19lnvynq359y9kb4zn5bv2wqqfh6";
     };
   };
 
@@ -15415,7 +15502,7 @@ let
     };
     buildInputs = [ TestLongString TestWWWMechanize TestWWWMechanizeCGI ];
     meta = {
-      homepage = http://jaldhar.github.com/REST-Utils;
+      homepage = https://jaldhar.github.io/REST-Utils/;
       description = "Utility functions for REST applications";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -15484,10 +15571,10 @@ let
 
   RoleTiny = buildPerlPackage {
     pname = "Role-Tiny";
-    version = "2.001003";
+    version = "2.001004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/Role-Tiny-2.001003.tar.gz;
-      sha256 = "6cef8d6371342a94a6a04c1be5bd7a3f2bd6ea36f1a21b4649b08d5b88b28eeb";
+      url = mirror://cpan/authors/id/H/HA/HAARG/Role-Tiny-2.001004.tar.gz;
+      sha256 = "92ba5712850a74102c93c942eb6e7f62f7a4f8f483734ed289d08b324c281687";
     };
     meta = {
       description = "Roles. Like a nouvelle cuisine portion size slice of Moose";
@@ -15550,10 +15637,10 @@ let
 
   ScalarListUtils = buildPerlPackage {
     pname = "Scalar-List-Utils";
-    version = "1.52";
+    version = "1.53";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.52.tar.gz;
-      sha256 = "279d78cef84acae280da4dfb95eff0c9865d1611b1a3b026baddf42d1ba01de4";
+      url = mirror://cpan/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.53.tar.gz;
+      sha256 = "bd4086b066fb3b18a0be2e7d9bc100a99aa0f233ad659492340415c7b2bdae99";
     };
     meta = {
       description = "Common Scalar and List utility subroutines";
@@ -16221,10 +16308,10 @@ let
 
   StringCRC32 = buildPerlPackage {
     pname = "String-CRC32";
-    version = "1.7";
+    version = "1.8";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEEJO/String-CRC32-1.7.tar.gz;
-      sha256 = "1j1bwbxcgxfbgw708rfrni3spwnnmnf717vq9s64nd63jmc4w5lg";
+      url = mirror://cpan/authors/id/L/LE/LEEJO/String-CRC32-1.8.tar.gz;
+      sha256 = "0vvwlf50vylx1m7nrjphkz309nsl2k2yqyldn3942337kiipjnmn";
     };
   };
 
@@ -16329,6 +16416,7 @@ let
       url = mirror://cpan/authors/id/R/RO/ROSCH/String-ShellQuote-1.04.tar.gz;
       sha256 = "0dfxhr6hxc2majkkrm0qbx3qcbykzpphbj2ms93dc86f7183c1p6";
     };
+    doCheck = !stdenv.isDarwin;
     meta = {
       # http://cpansearch.perl.org/src/ROSCH/String-ShellQuote-1.04/README
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
@@ -16690,6 +16778,18 @@ let
       url = mirror://cpan/authors/id/M/MZ/MZSANFORD/Sys-CPU-0.61.tar.gz;
       sha256 = "1r6976bs86j7zp51m5vh42xlyah951jgdlkimv202413kjvqc2i5";
     };
+    patches = [
+      # Bug #95400 for Sys-CPU: Tests fail on ARM and AArch64 Linux
+      # https://rt.cpan.org/Public/Bug/Display.html?id=95400
+      (fetchpatch {
+        url = "https://rt.cpan.org/Ticket/Attachment/1359669/721669/0001-Add-support-for-cpu_type-on-ARM-and-AArch64-Linux-pl.patch";
+        sha256 = "0rmazzdy34znksdhh8drc83lk754slhjgvnk4kk27z3kw5gm10m0";
+      })
+      (fetchpatch {
+        url = "https://rt.cpan.org/Ticket/Attachment/1388036/737125/0002-cpu_clock-can-be-undefined-on-an-ARM.patch";
+        sha256 = "0z3wqfahc9av7y34aqp6biq3sf8v8q4yynx7bv290vds50dsjb4w";
+      })
+    ];
     buildInputs = stdenv.lib.optional stdenv.isDarwin pkgs.darwin.apple_sdk.frameworks.Carbon;
     doCheck = !stdenv.isAarch64;
   };
@@ -16720,10 +16820,10 @@ let
 
   SysSyslog = buildPerlPackage {
     pname = "Sys-Syslog";
-    version = "0.35";
+    version = "0.36";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SAPER/Sys-Syslog-0.35.tar.gz;
-      sha256 = "fe28e47b70b77aaae754385fe1470d174289e7b6908efa247d2e52486516fbb7";
+      url = mirror://cpan/authors/id/S/SA/SAPER/Sys-Syslog-0.36.tar.gz;
+      sha256 = "ed42a9e5ba04ad4856cc0cb5d38d289c3c5d3764543ec04efafc4af7e3378df8";
     };
     meta = {
       description = "Perl interface to the UNIX syslog(3) calls";
@@ -17138,10 +17238,10 @@ let
 
   TermTable = buildPerlPackage {
     pname = "Term-Table";
-    version = "0.014";
+    version = "0.015";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EX/EXODIST/Term-Table-0.014.tar.gz;
-      sha256 = "167a0669e2ef8c6386ea4dd213495e445049493ce1d5097d5632c0e928b7426d";
+      url = mirror://cpan/authors/id/E/EX/EXODIST/Term-Table-0.015.tar.gz;
+      sha256 = "d8a18b2801f91f0e5d747147ce786964a76f91d18568652908a3dc06a9b948d5";
     };
     propagatedBuildInputs = [ Importer ];
     meta = {
@@ -17215,10 +17315,10 @@ let
 
   Test2Suite = buildPerlPackage {
     pname = "Test2-Suite";
-    version = "0.000126";
+    version = "0.000127";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EX/EXODIST/Test2-Suite-0.000126.tar.gz;
-      sha256 = "370db8171c9105480872ae8948745dbd798b9d751aacc8aa0fc36266eeda79e3";
+      url = mirror://cpan/authors/id/E/EX/EXODIST/Test2-Suite-0.000127.tar.gz;
+      sha256 = "09443e7c99f9bef2c3f5999b919800db7d265b2c55f177726d3e5a61d8dbe690";
     };
     propagatedBuildInputs = [ ModulePluggable ScopeGuard SubInfo TermTable TestSimple13 ];
     meta = {
@@ -17396,10 +17496,10 @@ let
 
   TestCompile = buildPerlModule {
     pname = "Test-Compile";
-    version = "2.3.0";
+    version = "2.3.1";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EG/EGILES/Test-Compile-v2.3.0.tar.gz;
-      sha256 = "f61549769e55a9b251f83617b901c0461659b1360243ef046d4f112f7f4e4a8f";
+      url = mirror://cpan/authors/id/E/EG/EGILES/Test-Compile-v2.3.1.tar.gz;
+      sha256 = "1174cff010011ae43e6462755ccd8a6cf0372ca506705c60586f7b1748ff4ddf";
     };
     propagatedBuildInputs = [ UNIVERSALrequire ];
     meta = {
@@ -17831,10 +17931,10 @@ let
 
   TestMockModule = buildPerlModule {
     pname = "Test-MockModule";
-    version = "0.170.0";
+    version = "0.171.0";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GF/GFRANKS/Test-MockModule-v0.170.0.tar.gz;
-      sha256 = "0pggwrlqj6k44qayhbpjqkzry1r626iy2vf30zlf2jdhbjbvlycz";
+      url = mirror://cpan/authors/id/G/GF/GFRANKS/Test-MockModule-v0.171.0.tar.gz;
+      sha256 = "1arqgb1773zym5dqlwm6kz48bfrccjhb5bjfsif0vkalwq2gvm7b";
     };
     propagatedBuildInputs = [ SUPER ];
     buildInputs = [ TestWarnings ];
@@ -18300,10 +18400,10 @@ let
 
   TestScript = buildPerlPackage {
     pname = "Test-Script";
-    version = "1.25";
+    version = "1.26";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PL/PLICEASE/Test-Script-1.25.tar.gz;
-      sha256 = "199s78hh77zwwqba6pa1ngzjnzrdj2ka6qv5w0i286aafh93705n";
+      url = mirror://cpan/authors/id/P/PL/PLICEASE/Test-Script-1.26.tar.gz;
+      sha256 = "1dvkb8dvidnycd6ws2h2iy262h37fjakflv6z90xrw72xix26hkd";
     };
 
     buildInputs = [ Test2Suite ];
@@ -18328,10 +18428,10 @@ let
 
   TestSimple13 = buildPerlPackage {
     pname = "Test-Simple";
-    version = "1.302168";
+    version = "1.302169";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EX/EXODIST/Test-Simple-1.302168.tar.gz;
-      sha256 = "02f6132b2062abb23474b0fc02e70a0fbbf7bf581a6010e64c08891530447ffa";
+      url = mirror://cpan/authors/id/E/EX/EXODIST/Test-Simple-1.302169.tar.gz;
+      sha256 = "411704776f0f787b1c2e4fb0e612162650a80b0dc0a719d84abc1070025ac723";
     };
     meta = {
       description = "Basic utilities for writing tests";
@@ -18421,10 +18521,10 @@ let
 
   TestTime = buildPerlPackage {
     pname = "Test-Time";
-    version = "0.05";
+    version = "0.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SATOH/Test-Time-0.05.tar.gz;
-      sha256 = "abef8885a811440114bfe067edc32f08500fbfd624902f8c3a81fc224ac4b410";
+      url = mirror://cpan/authors/id/S/SA/SATOH/Test-Time-0.08.tar.gz;
+      sha256 = "b8bc3b074bb2247e8588399c1e55d071f049cf6ce1c8b4192c38cf3c24559548";
     };
     meta = {
       description = "Overrides the time() and sleep() core functions for testing";
@@ -19620,16 +19720,17 @@ let
 
   TypeTiny = buildPerlPackage {
     pname = "Type-Tiny";
-    version = "1.004004";
+    version = "1.006000";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TOBYINK/Type-Tiny-1.004004.tar.gz;
-      sha256 = "081281ea004cdd89003d938aa52c1398e24411dd8f7163b14d0977a13f7062be";
+      url = mirror://cpan/authors/id/T/TO/TOBYINK/Type-Tiny-1.006000.tar.gz;
+      sha256 = "d5a60013df0b4a108e5755cfea84a8e81b1eacd4a91f6f17a5515a864ed7fd00";
     };
     propagatedBuildInputs = [ ExporterTiny ];
     meta = {
       description = "Tiny, yet Moo(se)-compatible type constraint";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
+    buildInputs = [ TestMemoryCycle ];
   };
 
   TypesSerialiser = buildPerlPackage {
@@ -19981,7 +20082,7 @@ let
     outputs = [ "out" ];
     propagatedBuildInputs = [ CGI CSSDOM ConfigGeneral LWP NetIP TermReadKey ];
     meta = {
-      homepage = http://validator.w3.org/checklink;
+      homepage = https://validator.w3.org/checklink;
       description = "A tool to check links and anchors in Web pages or full Web sites";
       license = stdenv.lib.licenses.w3c;
     };
@@ -20022,10 +20123,10 @@ let
 
   WWWMechanize = buildPerlPackage {
     pname = "WWW-Mechanize";
-    version = "1.94";
+    version = "1.95";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OA/OALDERS/WWW-Mechanize-1.94.tar.gz;
-      sha256 = "00hh5iaxyfmfgh5irz23v5qpc40hff2v78jyi93assi7a4amfl68";
+      url = mirror://cpan/authors/id/O/OA/OALDERS/WWW-Mechanize-1.95.tar.gz;
+      sha256 = "1w121x0xsn1bm699ncanyxqv3njqam3zzjkq8p54bqmzpikn5crs";
     };
     propagatedBuildInputs = [ HTMLForm HTMLTree LWP ];
     doCheck = false;
@@ -20357,10 +20458,10 @@ let
 
   XMLParser = buildPerlPackage {
     pname = "XML-Parser";
-    version = "2.46";
+    version = "2.44";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-2.46.tar.gz;
-      sha256 = "0pai3ik47q7rgnix9644c673fwydz52gqkxr9kxwq765j4j36cfk";
+      url = mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-2.44.tar.gz;
+      sha256 = "05ij0g6bfn27iaggxf8nl5rhlwx6f6p6xmdav6rjcly3x5zd1s8s";
     };
     patchPhase = stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
       substituteInPlace Expat/Makefile.PL --replace 'use English;' '#'
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 0069e4d0b711..ef1928cb87c4 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -18,7 +18,7 @@ let
   packages = ( self:
 
 let
-  inherit (python.passthru) isPy27 isPy33 isPy34 isPy35 isPy36 isPy37 isPy38 isPy3k isPyPy pythonAtLeast pythonOlder;
+  inherit (python.passthru) isPy27 isPy33 isPy34 isPy35 isPy36 isPy37 isPy38 isPy39 isPy3k isPyPy pythonAtLeast pythonOlder;
 
   callPackage = pkgs.newScope self;
 
@@ -100,7 +100,7 @@ let
 
 in {
 
-  inherit (python.passthru) isPy27 isPy33 isPy34 isPy35 isPy36 isPy37 isPy38 isPy3k isPyPy pythonAtLeast pythonOlder;
+  inherit (python.passthru) isPy27 isPy33 isPy34 isPy35 isPy36 isPy37 isPy38 isPy39 isPy3k isPyPy pythonAtLeast pythonOlder;
   inherit python bootstrapped-pip buildPythonPackage buildPythonApplication;
   inherit fetchPypi callPackage;
   inherit hasPythonModule requiredPythonModules makePythonPath disabledIf;
@@ -167,6 +167,8 @@ in {
 
   ansicolor = callPackage ../development/python-modules/ansicolor { };
 
+  ansiwrap =  callPackage ../development/python-modules/ansiwrap { };
+
   ansi2html = callPackage ../development/python-modules/ansi2html { };
 
   anytree = callPackage ../development/python-modules/anytree {
@@ -251,10 +253,6 @@ in {
 
   azure-nspkg = callPackage ../development/python-modules/azure-nspkg { };
 
-  azure-cli-core = callPackage ../development/python-modules/azure-cli-core { };
-
-  azure-cli-telemetry = callPackage ../development/python-modules/azure-cli-telemetry { };
-
   azure-common = callPackage ../development/python-modules/azure-common { };
 
   azure-cosmos = callPackage ../development/python-modules/azure-cosmos { };
@@ -271,6 +269,8 @@ in {
 
   azure-eventgrid = callPackage ../development/python-modules/azure-eventgrid { };
 
+  azure-functions-devops-build = callPackage ../development/python-modules/azure-functions-devops-build { };
+
   azure-graphrbac = callPackage ../development/python-modules/azure-graphrbac { };
 
   azure-keyvault = callPackage ../development/python-modules/azure-keyvault { };
@@ -301,6 +301,10 @@ in {
 
   azure-mgmt-advisor = callPackage ../development/python-modules/azure-mgmt-advisor { };
 
+  azure-mgmt-apimanagement = callPackage ../development/python-modules/azure-mgmt-apimanagement { };
+
+  azure-mgmt-appconfiguration = callPackage ../development/python-modules/azure-mgmt-appconfiguration { };
+
   azure-mgmt-applicationinsights = callPackage ../development/python-modules/azure-mgmt-applicationinsights { };
 
   azure-mgmt-authorization = callPackage ../development/python-modules/azure-mgmt-authorization { };
@@ -311,6 +315,8 @@ in {
 
   azure-mgmt-billing = callPackage ../development/python-modules/azure-mgmt-billing { };
 
+  azure-mgmt-botservice = callPackage ../development/python-modules/azure-mgmt-botservice { };
+
   azure-mgmt-cdn = callPackage ../development/python-modules/azure-mgmt-cdn { };
 
   azure-mgmt-cognitiveservices = callPackage ../development/python-modules/azure-mgmt-cognitiveservices { };
@@ -323,6 +329,8 @@ in {
 
   azure-mgmt-containerinstance = callPackage ../development/python-modules/azure-mgmt-containerinstance { };
 
+  azure-mgmt-containerregistry = callPackage ../development/python-modules/azure-mgmt-containerregistry { };
+
   azure-mgmt-containerservice = callPackage ../development/python-modules/azure-mgmt-containerservice { };
 
   azure-mgmt-cosmosdb = callPackage ../development/python-modules/azure-mgmt-cosmosdb { };
@@ -341,6 +349,8 @@ in {
 
   azure-mgmt-devtestlabs = callPackage ../development/python-modules/azure-mgmt-devtestlabs { };
 
+  azure-mgmt-deploymentmanager = callPackage ../development/python-modules/azure-mgmt-deploymentmanager { };
+
   azure-mgmt-dns = callPackage ../development/python-modules/azure-mgmt-dns { };
 
   azure-mgmt-eventgrid = callPackage ../development/python-modules/azure-mgmt-eventgrid { };
@@ -349,6 +359,10 @@ in {
 
   azure-mgmt-hanaonazure = callPackage ../development/python-modules/azure-mgmt-hanaonazure { };
 
+  azure-mgmt-hdinsight = callPackage ../development/python-modules/azure-mgmt-hdinsight { };
+
+  azure-mgmt-imagebuilder = callPackage ../development/python-modules/azure-mgmt-imagebuilder { };
+
   azure-mgmt-iotcentral = callPackage ../development/python-modules/azure-mgmt-iotcentral { };
 
   azure-mgmt-iothub = callPackage ../development/python-modules/azure-mgmt-iothub { };
@@ -357,12 +371,16 @@ in {
 
   azure-mgmt-keyvault = callPackage ../development/python-modules/azure-mgmt-keyvault { };
 
+  azure-mgmt-kusto = callPackage ../development/python-modules/azure-mgmt-kusto { };
+
   azure-mgmt-loganalytics = callPackage ../development/python-modules/azure-mgmt-loganalytics { };
 
   azure-mgmt-logic = callPackage ../development/python-modules/azure-mgmt-logic { };
 
   azure-mgmt-machinelearningcompute = callPackage ../development/python-modules/azure-mgmt-machinelearningcompute { };
 
+  azure-mgmt-managedservices = callPackage ../development/python-modules/azure-mgmt-managedservices { };
+
   azure-mgmt-managementgroups = callPackage ../development/python-modules/azure-mgmt-managementgroups { };
 
   azure-mgmt-managementpartner = callPackage ../development/python-modules/azure-mgmt-managementpartner { };
@@ -377,6 +395,8 @@ in {
 
   azure-mgmt-msi = callPackage ../development/python-modules/azure-mgmt-msi { };
 
+  azure-mgmt-netapp = callPackage ../development/python-modules/azure-mgmt-netapp { };
+
   azure-mgmt-network = callPackage ../development/python-modules/azure-mgmt-network { };
 
   azure-mgmt-notificationhubs = callPackage ../development/python-modules/azure-mgmt-notificationhubs { };
@@ -385,6 +405,8 @@ in {
 
   azure-mgmt-powerbiembedded = callPackage ../development/python-modules/azure-mgmt-powerbiembedded { };
 
+  azure-mgmt-privatedns = callPackage ../development/python-modules/azure-mgmt-privatedns { };
+
   azure-mgmt-rdbms = callPackage ../development/python-modules/azure-mgmt-rdbms { };
 
   azure-mgmt-recoveryservices = callPackage ../development/python-modules/azure-mgmt-recoveryservices { };
@@ -403,6 +425,8 @@ in {
 
   azure-mgmt-search = callPackage ../development/python-modules/azure-mgmt-search { };
 
+  azure-mgmt-security = callPackage ../development/python-modules/azure-mgmt-security { };
+
   azure-mgmt-servicebus = callPackage ../development/python-modules/azure-mgmt-servicebus { };
 
   azure-mgmt-servicefabric = callPackage ../development/python-modules/azure-mgmt-servicefabric { };
@@ -411,6 +435,8 @@ in {
 
   azure-mgmt-sql = callPackage ../development/python-modules/azure-mgmt-sql { };
 
+  azure-mgmt-sqlvirtualmachine = callPackage ../development/python-modules/azure-mgmt-sqlvirtualmachine { };
+
   azure-mgmt-storage = callPackage ../development/python-modules/azure-mgmt-storage { };
 
   azure-mgmt-subscription = callPackage ../development/python-modules/azure-mgmt-subscription { };
@@ -419,6 +445,8 @@ in {
 
   azure-mgmt-web = callPackage ../development/python-modules/azure-mgmt-web { };
 
+  azure-multiapi-storage = callPackage ../development/python-modules/azure-multiapi-storage { };
+
   backports_csv = callPackage ../development/python-modules/backports_csv {};
 
   backports-shutil-which = callPackage ../development/python-modules/backports-shutil-which {};
@@ -461,7 +489,7 @@ in {
 
   bt_proximity = callPackage ../development/python-modules/bt-proximity { };
 
-  bugseverywhere = callPackage ../applications/version-management/bugseverywhere {};
+  bugseverywhere = throw "bugseverywhere has been removed: Abandoned by upstream."; # Added 2019-11-27
 
   cachecontrol = callPackage ../development/python-modules/cachecontrol { };
 
@@ -469,6 +497,10 @@ in {
 
   cachy = callPackage ../development/python-modules/cachy { };
 
+  cadquery = callPackage ../development/python-modules/cadquery { };
+
+  catalogue = callPackage ../development/python-modules/catalogue { };
+
   cdecimal = callPackage ../development/python-modules/cdecimal { };
 
   cfn-flip = callPackage ../development/python-modules/cfn-flip { };
@@ -770,6 +802,8 @@ in {
 
   mkl-service = callPackage ../development/python-modules/mkl-service { };
 
+  mnist = callPackage ../development/python-modules/mnist { };
+
   monkeyhex = callPackage ../development/python-modules/monkeyhex { };
 
   monty = callPackage ../development/python-modules/monty { };
@@ -844,6 +878,8 @@ in {
 
   palettable = callPackage ../development/python-modules/palettable { };
 
+  papermill = callPackage ../development/python-modules/papermill { };
+
   parsley = callPackage ../development/python-modules/parsley { };
 
   pastel = callPackage ../development/python-modules/pastel { };
@@ -954,10 +990,16 @@ in {
 
   pydbus = callPackage ../development/python-modules/pydbus { };
 
-  pydocstyle = callPackage ../development/python-modules/pydocstyle { };
+  pydocstyle =
+    if isPy27 then
+      callPackage ../development/python-modules/pydocstyle/2.nix { }
+    else
+      callPackage ../development/python-modules/pydocstyle { };
 
   pydocumentdb = callPackage ../development/python-modules/pydocumentdb { };
 
+  pydrive = callPackage ../development/python-modules/pydrive { };
+
   pydy = callPackage ../development/python-modules/pydy { };
 
   pyexiv2 = disabledIf isPy3k (toPythonModule (callPackage ../development/python-modules/pyexiv2 {}));
@@ -1007,11 +1049,6 @@ in {
 
   pyjwkest = callPackage ../development/python-modules/pyjwkest { };
 
-  pykde4 = callPackage ../development/python-modules/pykde4 {
-    inherit (self) pyqt4;
-    callPackage = pkgs.callPackage;
-  };
-
   pykdtree = callPackage ../development/python-modules/pykdtree {
     inherit (pkgs.llvmPackages) openmp;
   };
@@ -1061,6 +1098,8 @@ in {
 
   pyschedule = callPackage ../development/python-modules/pyschedule { };
 
+  pyscreenshot = callPackage ../development/python-modules/pyscreenshot { };
+
   pyside = callPackage ../development/python-modules/pyside {
     inherit (pkgs) mesa;
   };
@@ -1115,12 +1154,16 @@ in {
 
   pytest-pylint = callPackage ../development/python-modules/pytest-pylint { };
 
+  pytest-qt = callPackage ../development/python-modules/pytest-qt { };
+
   pytest-testmon = callPackage ../development/python-modules/pytest-testmon { };
 
   pytest-tornado = callPackage ../development/python-modules/pytest-tornado { };
 
   pytest-xprocess = callPackage ../development/python-modules/pytest-xprocess { };
 
+  pytest-xvfb = callPackage ../development/python-modules/pytest-xvfb { };
+
   pytmx = callPackage ../development/python-modules/pytmx { };
 
   python-binance = callPackage ../development/python-modules/python-binance { };
@@ -1149,6 +1192,8 @@ in {
     igraph = pkgs.igraph;
   };
 
+  python-olm = callPackage ../development/python-modules/python-olm { };
+
   python3-openid = callPackage ../development/python-modules/python3-openid { };
 
   python-packer = callPackage ../development/python-modules/python-packer { };
@@ -1261,6 +1306,8 @@ in {
 
   sshpubkeys = callPackage ../development/python-modules/sshpubkeys { };
 
+  sshtunnel = callPackage ../development/python-modules/sshtunnel { };
+
   sslib = callPackage ../development/python-modules/sslib { };
 
   statistics = callPackage ../development/python-modules/statistics { };
@@ -1281,6 +1328,8 @@ in {
 
   tableaudocumentapi = callPackage ../development/python-modules/tableaudocumentapi { };
 
+  tesserocr = callPackage ../development/python-modules/tesserocr { };
+
   trueskill = callPackage ../development/python-modules/trueskill { };
 
   trustme = callPackage ../development/python-modules/trustme {};
@@ -1434,8 +1483,12 @@ in {
 
   antlr4-python3-runtime = callPackage ../development/python-modules/antlr4-python3-runtime { antlr4 = pkgs.antlr4; };
 
+  apache-airflow = callPackage ../development/python-modules/apache-airflow { };
+
   apipkg = callPackage ../development/python-modules/apipkg {};
 
+  apispec = callPackage ../development/python-modules/apispec {};
+
   appdirs = callPackage ../development/python-modules/appdirs { };
 
   appleseed = disabledIf isPy3k
@@ -1671,6 +1724,8 @@ in {
 
   crc16 = callPackage ../development/python-modules/crc16 { };
 
+  croniter = callPackage ../development/python-modules/croniter { };
+
   csscompressor = callPackage ../development/python-modules/csscompressor {};
 
   csvs-to-sqlite = callPackage ../development/python-modules/csvs-to-sqlite { };
@@ -1846,8 +1901,6 @@ in {
 
   cerberus = callPackage ../development/python-modules/cerberus { };
 
-  cerberus11 = callPackage ../development/python-modules/cerberus11 { };
-
   certifi = callPackage ../development/python-modules/certifi { };
 
   characteristic = callPackage ../development/python-modules/characteristic { };
@@ -1972,6 +2025,8 @@ in {
 
   jsonlines = callPackage ../development/python-modules/jsonlines { };
 
+  json-merge-patch = callPackage ../development/python-modules/json-merge-patch { };
+
   jsonrpc-async = callPackage ../development/python-modules/jsonrpc-async { };
 
   jsonrpc-base = callPackage ../development/python-modules/jsonrpc-base { };
@@ -2344,8 +2399,6 @@ in {
   # alias
   elasticsearchdsl = self.elasticsearch-dsl;
 
-  elasticsearch-curator = callPackage ../development/python-modules/elasticsearch-curator { };
-
   elementpath = callPackage ../development/python-modules/elementpath { };
 
   entrypoints = callPackage ../development/python-modules/entrypoints { };
@@ -2452,6 +2505,8 @@ in {
 
   gpy = callPackage ../development/python-modules/gpy { };
 
+  gpyopt = callPackage ../development/python-modules/gpyopt { };
+
   gitdb = callPackage ../development/python-modules/gitdb { };
 
   gitdb2 = callPackage ../development/python-modules/gitdb2 { };
@@ -3191,6 +3246,10 @@ in {
 
   flask = callPackage ../development/python-modules/flask { };
 
+  flask-admin = callPackage ../development/python-modules/flask-admin { };
+
+  flask-appbuilder = callPackage ../development/python-modules/flask-appbuilder { };
+
   flask-api = callPackage ../development/python-modules/flask-api { };
 
   flask_assets = callPackage ../development/python-modules/flask-assets { };
@@ -3199,6 +3258,10 @@ in {
 
   flask-babel = callPackage ../development/python-modules/flask-babel { };
 
+  flask-babelex = callPackage ../development/python-modules/flask-babelex { };
+
+  flask-bcrypt = callPackage ../development/python-modules/flask-bcrypt { };
+
   flask-bootstrap = callPackage ../development/python-modules/flask-bootstrap { };
 
   flask-caching = callPackage ../development/python-modules/flask-caching { };
@@ -3225,6 +3288,10 @@ in {
 
   flask_migrate = callPackage ../development/python-modules/flask-migrate { };
 
+  flask-mongoengine = callPackage ../development/python-modules/flask-mongoengine { };
+
+  flask-openid = callPackage ../development/python-modules/flask-openid { };
+
   flask-paginate = callPackage ../development/python-modules/flask-paginate { };
 
   flask_principal = callPackage ../development/python-modules/flask-principal { };
@@ -3251,6 +3318,8 @@ in {
 
   wtforms = callPackage ../development/python-modules/wtforms { };
 
+  wtf-peewee = callPackage ../development/python-modules/wtf-peewee { };
+
   graph-tool = callPackage ../development/python-modules/graph-tool/2.x.x.nix {
     inherit (pkgs) pkgconfig;
   };
@@ -3376,7 +3445,7 @@ in {
   google_api_python_client = let
     google_api_python_client = callPackage ../development/python-modules/google-api-python-client { };
   in if isPy3k then google_api_python_client else
-    # Python 2.7 support was deprecated but is still needed by weboob
+    # Python 2.7 support was deprecated but is still needed by weboob and duplicity
     google_api_python_client.overridePythonAttrs (old: rec {
       version = "1.7.6";
       src = old.src.override {
@@ -3656,7 +3725,10 @@ in {
 
   jupyterhub-ldapauthenticator = callPackage ../development/python-modules/jupyterhub-ldapauthenticator { };
 
-  keyring = callPackage ../development/python-modules/keyring { };
+  keyring = if isPy3k then
+    callPackage ../development/python-modules/keyring { }
+  else
+    callPackage ../development/python-modules/keyring/2.nix { };
 
   keyutils = callPackage ../development/python-modules/keyutils { inherit (pkgs) keyutils; };
 
@@ -3822,6 +3894,8 @@ in {
 
   marshmallow = callPackage ../development/python-modules/marshmallow { };
 
+  marshmallow-enum = callPackage ../development/python-modules/marshmallow-enum { };
+
   marshmallow-sqlalchemy = callPackage ../development/python-modules/marshmallow-sqlalchemy { };
 
   manuel = callPackage ../development/python-modules/manuel { };
@@ -3847,6 +3921,8 @@ in {
 
   matrix-client = callPackage ../development/python-modules/matrix-client { };
 
+  matrix-nio = callPackage ../development/python-modules/matrix-nio { };
+
   mautrix-appservice = callPackage ../development/python-modules/mautrix-appservice { };
 
   maya = callPackage ../development/python-modules/maya { };
@@ -4164,7 +4240,10 @@ in {
 
   offtrac = callPackage ../development/python-modules/offtrac { };
 
-  openpyxl = callPackage ../development/python-modules/openpyxl { };
+  openpyxl = if isPy3k then
+    callPackage ../development/python-modules/openpyxl { }
+  else
+    callPackage ../development/python-modules/openpyxl/2.nix { };
 
   opentimestamps = callPackage ../development/python-modules/opentimestamps { };
 
@@ -4416,6 +4495,8 @@ in {
   praw = if isPy3k then callPackage ../development/python-modules/praw { }
     else callPackage ../development/python-modules/praw/6.3.nix { };
 
+  prance = callPackage ../development/python-modules/prance { };
+
   prawcore = callPackage ../development/python-modules/prawcore { };
 
   premailer = callPackage ../development/python-modules/premailer { };
@@ -4474,6 +4555,8 @@ in {
 
   mongodict = callPackage ../development/python-modules/mongodict { };
 
+  mongoengine = callPackage ../development/python-modules/mongoengine { };
+
   repoze_who = callPackage ../development/python-modules/repoze_who { };
 
   vobject = callPackage ../development/python-modules/vobject { };
@@ -4484,6 +4567,8 @@ in {
 
   Babel = callPackage ../development/python-modules/Babel { };
 
+  babelgladeextractor = callPackage ../development/python-modules/babelgladeextractor { };
+
   pybfd = callPackage ../development/python-modules/pybfd { };
 
   pybigwig = callPackage ../development/python-modules/pybigwig { };
@@ -4886,7 +4971,9 @@ in {
 
   geographiclib = callPackage ../development/python-modules/geographiclib { };
 
-  geopy = callPackage ../development/python-modules/geopy { };
+  geopy = if isPy3k
+    then callPackage ../development/python-modules/geopy { }
+    else callPackage ../development/python-modules/geopy/2.nix { };
 
   django-haystack = callPackage ../development/python-modules/django-haystack { };
 
@@ -4950,7 +5037,9 @@ in {
 
   rpmfluff = callPackage ../development/python-modules/rpmfluff {};
 
-  rpy2 = callPackage ../development/python-modules/rpy2 {};
+  rpy2 = if isPy3k
+    then callPackage ../development/python-modules/rpy2 { }
+    else callPackage ../development/python-modules/rpy2/2.nix { };
 
   rtslib = callPackage ../development/python-modules/rtslib {};
 
@@ -5117,6 +5206,8 @@ in {
 
   sqlalchemy = callPackage ../development/python-modules/sqlalchemy { };
 
+  sqlalchemy-citext = callPackage ../development/python-modules/sqlalchemy-citext { };
+
   sqlalchemy_migrate = callPackage ../development/python-modules/sqlalchemy-migrate { };
 
   sqlalchemy-utils = callPackage ../development/python-modules/sqlalchemy-utils { };
@@ -5170,8 +5261,16 @@ in {
 
   texttable = callPackage ../development/python-modules/texttable { };
 
+  textwrap3 =  callPackage ../development/python-modules/textwrap3 { };
+
+  tiledb = callPackage ../development/python-modules/tiledb {
+    inherit (pkgs) tiledb;
+  };
+
   tiros = callPackage ../development/python-modules/tiros { };
 
+  tinydb = callPackage ../development/python-modules/tinydb { };
+
   tifffile = callPackage ../development/python-modules/tifffile { };
 
   tmdb3 = callPackage ../development/python-modules/tmdb3 { };
@@ -5248,6 +5347,8 @@ in {
 
   vsts = callPackage ../development/python-modules/vsts { };
 
+  vsts-cd-manager = callPackage ../development/python-modules/vsts-cd-manager { };
+
   python-vlc = callPackage ../development/python-modules/python-vlc { };
 
   weasyprint = callPackage ../development/python-modules/weasyprint { };
@@ -5466,6 +5567,8 @@ in {
     then callPackage ../development/python-modules/secretstorage { }
     else callPackage ../development/python-modules/secretstorage/2.nix { };
 
+  secure = callPackage ../development/python-modules/secure { };
+
   semantic = callPackage ../development/python-modules/semantic { };
 
   sandboxlib = callPackage ../development/python-modules/sandboxlib { };
@@ -5833,6 +5936,8 @@ in {
 
   toposort = callPackage ../development/python-modules/toposort { };
 
+  snakebite = callPackage ../development/python-modules/snakebite { };
+
   snapperGUI = callPackage ../development/python-modules/snappergui { };
 
   dm-sonnet = callPackage ../development/python-modules/dm-sonnet { };
@@ -6150,6 +6255,8 @@ in {
 
   jaraco_stream = callPackage ../development/python-modules/jaraco_stream { };
 
+  javaproperties = callPackage ../development/python-modules/javaproperties { };
+
   tempora= callPackage ../development/python-modules/tempora { };
 
   hypchat = callPackage ../development/python-modules/hypchat { };
@@ -6193,6 +6300,8 @@ in {
 
   preggy = callPackage ../development/python-modules/preggy { };
 
+  prison = callPackage ../development/python-modules/prison { };
+
   pytoml = callPackage ../development/python-modules/pytoml { };
 
   pypandoc = callPackage ../development/python-modules/pypandoc { };
@@ -6474,6 +6583,8 @@ in {
 
   managesieve = callPackage ../development/python-modules/managesieve { };
 
+  pony = callPackage ../development/python-modules/pony { };
+
 });
 
 in fix' (extends overrides packages)